diff --git a/.gitmodules b/.gitmodules index 5c5feea51..d13799558 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "autodecompiler"] - path = autodecompiler - url = https://github.com/farisawan-2000/auto-decompiler [submodule "asm-differ"] path = tools/asm-differ url = https://github.com/simonlindholm/asm-differ diff --git a/Makefile b/Makefile index feb0c4767..ffda1b82c 100644 --- a/Makefile +++ b/Makefile @@ -73,7 +73,9 @@ MIO0_DIR = bin # Files with GLOBAL_ASM blocks GLOBAL_ASM_C_FILES != grep -rl 'GLOBAL_ASM(' $(wildcard src/*.c) +GLOBAL_ASM_AUDIO_C_FILES != grep -rl 'GLOBAL_ASM(' $(wildcard src/audio/*.c) GLOBAL_ASM_O_FILES = $(foreach file,$(GLOBAL_ASM_C_FILES),$(BUILD_DIR)/$(file:.c=.o)) +GLOBAL_ASM_AUDIO_O_FILES = $(foreach file,$(GLOBAL_ASM_AUDIO_C_FILES),$(BUILD_DIR)/$(file:.c=.o)) # GLOBAL_ASM_DEP = $(BUILD_DIR)/src/audio/non_matching_dep COURSE_ASM_FILES := $(wildcard courses/*/*/packed.s) @@ -256,6 +258,8 @@ $(BUILD_DIR)/%.o: %.s $(MIO0_FILES) $(RAW_TEXTURE_FILES) $(GLOBAL_ASM_O_FILES): CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- +$(GLOBAL_ASM_AUDIO_O_FILES): CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- + $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) #repeat for other files $(CPP) $(VERSION_CFLAGS) -DBUILD_DIR=$(BUILD_DIR) -MMD -MP -MT $@ -MF $@.d -o $@ $< diff --git a/asm/audio/effects.s b/asm/audio/effects.s deleted file mode 100644 index 21a26e3c5..000000000 --- a/asm/audio/effects.s +++ /dev/null @@ -1,781 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.section .text, "ax" - -glabel func_800BDE50 -/* 0BEA50 800BDE50 8C820000 */ lw $v0, ($a0) -/* 0BEA54 800BDE54 00003025 */ move $a2, $zero -/* 0BEA58 800BDE58 00803825 */ move $a3, $a0 -/* 0BEA5C 800BDE5C 00027A40 */ sll $t7, $v0, 9 -/* 0BEA60 800BDE60 05E00003 */ bltz $t7, .L800BDE70 -/* 0BEA64 800BDE64 24090010 */ li $t1, 16 -/* 0BEA68 800BDE68 50A00016 */ beql $a1, $zero, .L800BDEC4 -/* 0BEA6C 800BDE6C 00027280 */ sll $t6, $v0, 0xa -.L800BDE70: -/* 0BEA70 800BDE70 C4840024 */ lwc1 $f4, 0x24($a0) -/* 0BEA74 800BDE74 C4860020 */ lwc1 $f6, 0x20($a0) -/* 0BEA78 800BDE78 8C820044 */ lw $v0, 0x44($a0) -/* 0BEA7C 800BDE7C 46062202 */ mul.s $f8, $f4, $f6 -/* 0BEA80 800BDE80 C44A002C */ lwc1 $f10, 0x2c($v0) -/* 0BEA84 800BDE84 8C580000 */ lw $t8, ($v0) -/* 0BEA88 800BDE88 00185080 */ sll $t2, $t8, 2 -/* 0BEA8C 800BDE8C 460A4002 */ mul.s $f0, $f8, $f10 -/* 0BEA90 800BDE90 05410008 */ bgez $t2, .L800BDEB4 -/* 0BEA94 800BDE94 00000000 */ nop -/* 0BEA98 800BDE98 908B0003 */ lbu $t3, 3($a0) -/* 0BEA9C 800BDE9C 316C0020 */ andi $t4, $t3, 0x20 -/* 0BEAA0 800BDEA0 11800004 */ beqz $t4, .L800BDEB4 -/* 0BEAA4 800BDEA4 00000000 */ nop -/* 0BEAA8 800BDEA8 C4500024 */ lwc1 $f16, 0x24($v0) -/* 0BEAAC 800BDEAC 46008002 */ mul.s $f0, $f16, $f0 -/* 0BEAB0 800BDEB0 00000000 */ nop -.L800BDEB4: -/* 0BEAB4 800BDEB4 46000482 */ mul.s $f18, $f0, $f0 -/* 0BEAB8 800BDEB8 8C820000 */ lw $v0, ($a0) -/* 0BEABC 800BDEBC E492002C */ swc1 $f18, 0x2c($a0) -/* 0BEAC0 800BDEC0 00027280 */ sll $t6, $v0, 0xa -.L800BDEC4: -/* 0BEAC4 800BDEC4 05C10007 */ bgez $t6, .L800BDEE4 -/* 0BEAC8 800BDEC8 24080080 */ li $t0, 128 -/* 0BEACC 800BDECC 908F0009 */ lbu $t7, 9($a0) -/* 0BEAD0 800BDED0 9098000A */ lbu $t8, 0xa($a0) -/* 0BEAD4 800BDED4 01F80019 */ multu $t7, $t8 -/* 0BEAD8 800BDED8 0000C812 */ mflo $t9 -/* 0BEADC 800BDEDC AC990028 */ sw $t9, 0x28($a0) -/* 0BEAE0 800BDEE0 00000000 */ nop -.L800BDEE4: -/* 0BEAE4 800BDEE4 8CE30048 */ lw $v1, 0x48($a3) -/* 0BEAE8 800BDEE8 24C60004 */ addiu $a2, $a2, 4 -/* 0BEAEC 800BDEEC 1060003E */ beqz $v1, .L800BDFE8 -/* 0BEAF0 800BDEF0 00000000 */ nop -/* 0BEAF4 800BDEF4 8C620000 */ lw $v0, ($v1) -/* 0BEAF8 800BDEF8 000257C2 */ srl $t2, $v0, 0x1f -/* 0BEAFC 800BDEFC 1140003A */ beqz $t2, .L800BDFE8 -/* 0BEB00 800BDF00 00000000 */ nop -/* 0BEB04 800BDF04 8C6B0040 */ lw $t3, 0x40($v1) -/* 0BEB08 800BDF08 00026940 */ sll $t5, $v0, 5 -/* 0BEB0C 800BDF0C 11600036 */ beqz $t3, .L800BDFE8 -/* 0BEB10 800BDF10 00000000 */ nop -/* 0BEB14 800BDF14 05A30017 */ bgezl $t5, .L800BDF74 -/* 0BEB18 800BDF18 80980001 */ lb $t8, 1($a0) -/* 0BEB1C 800BDF1C C4640024 */ lwc1 $f4, 0x24($v1) -/* 0BEB20 800BDF20 C4860030 */ lwc1 $f6, 0x30($a0) -/* 0BEB24 800BDF24 C46A0028 */ lwc1 $f10, 0x28($v1) -/* 0BEB28 800BDF28 906E0005 */ lbu $t6, 5($v1) -/* 0BEB2C 800BDF2C 46062202 */ mul.s $f8, $f4, $f6 -/* 0BEB30 800BDF30 906D0000 */ lbu $t5, ($v1) -/* 0BEB34 800BDF34 E4680030 */ swc1 $f8, 0x30($v1) -/* 0BEB38 800BDF38 C490002C */ lwc1 $f16, 0x2c($a0) -/* 0BEB3C 800BDF3C 46105482 */ mul.s $f18, $f10, $f16 -/* 0BEB40 800BDF40 E472002C */ swc1 $f18, 0x2c($v1) -/* 0BEB44 800BDF44 908F000A */ lbu $t7, 0xa($a0) -/* 0BEB48 800BDF48 8C8A0028 */ lw $t2, 0x28($a0) -/* 0BEB4C 800BDF4C 010FC023 */ subu $t8, $t0, $t7 -/* 0BEB50 800BDF50 01D80019 */ multu $t6, $t8 -/* 0BEB54 800BDF54 31AFFFFB */ andi $t7, $t5, 0xfffb -/* 0BEB58 800BDF58 A06F0000 */ sb $t7, ($v1) -/* 0BEB5C 800BDF5C 0000C812 */ mflo $t9 -/* 0BEB60 800BDF60 01595821 */ addu $t3, $t2, $t9 -/* 0BEB64 800BDF64 000B61C3 */ sra $t4, $t3, 7 -/* 0BEB68 800BDF68 1000001F */ b .L800BDFE8 -/* 0BEB6C 800BDF6C A06C0006 */ sb $t4, 6($v1) -/* 0BEB70 800BDF70 80980001 */ lb $t8, 1($a0) -.L800BDF74: -/* 0BEB74 800BDF74 07030006 */ bgezl $t8, .L800BDF90 -/* 0BEB78 800BDF78 8C820000 */ lw $v0, ($a0) -/* 0BEB7C 800BDF7C C4640024 */ lwc1 $f4, 0x24($v1) -/* 0BEB80 800BDF80 C4860030 */ lwc1 $f6, 0x30($a0) -/* 0BEB84 800BDF84 46062202 */ mul.s $f8, $f4, $f6 -/* 0BEB88 800BDF88 E4680030 */ swc1 $f8, 0x30($v1) -/* 0BEB8C 800BDF8C 8C820000 */ lw $v0, ($a0) -.L800BDF90: -/* 0BEB90 800BDF90 0002CA40 */ sll $t9, $v0, 9 -/* 0BEB94 800BDF94 07220004 */ bltzl $t9, .L800BDFA8 -/* 0BEB98 800BDF98 C46A0028 */ lwc1 $f10, 0x28($v1) -/* 0BEB9C 800BDF9C 50A00007 */ beql $a1, $zero, .L800BDFBC -/* 0BEBA0 800BDFA0 00026280 */ sll $t4, $v0, 0xa -/* 0BEBA4 800BDFA4 C46A0028 */ lwc1 $f10, 0x28($v1) -.L800BDFA8: -/* 0BEBA8 800BDFA8 C490002C */ lwc1 $f16, 0x2c($a0) -/* 0BEBAC 800BDFAC 46105482 */ mul.s $f18, $f10, $f16 -/* 0BEBB0 800BDFB0 E472002C */ swc1 $f18, 0x2c($v1) -/* 0BEBB4 800BDFB4 8C820000 */ lw $v0, ($a0) -/* 0BEBB8 800BDFB8 00026280 */ sll $t4, $v0, 0xa -.L800BDFBC: -/* 0BEBBC 800BDFBC 0581000A */ bgez $t4, .L800BDFE8 -/* 0BEBC0 800BDFC0 00000000 */ nop -/* 0BEBC4 800BDFC4 908F000A */ lbu $t7, 0xa($a0) -/* 0BEBC8 800BDFC8 906D0005 */ lbu $t5, 5($v1) -/* 0BEBCC 800BDFCC 8C8A0028 */ lw $t2, 0x28($a0) -/* 0BEBD0 800BDFD0 010F7023 */ subu $t6, $t0, $t7 -/* 0BEBD4 800BDFD4 01AE0019 */ multu $t5, $t6 -/* 0BEBD8 800BDFD8 0000C012 */ mflo $t8 -/* 0BEBDC 800BDFDC 0158C821 */ addu $t9, $t2, $t8 -/* 0BEBE0 800BDFE0 001959C3 */ sra $t3, $t9, 7 -/* 0BEBE4 800BDFE4 A06B0006 */ sb $t3, 6($v1) -.L800BDFE8: -/* 0BEBE8 800BDFE8 14C9FFBE */ bne $a2, $t1, .L800BDEE4 -/* 0BEBEC 800BDFEC 24E70004 */ addiu $a3, $a3, 4 -/* 0BEBF0 800BDFF0 03E00008 */ jr $ra -/* 0BEBF4 800BDFF4 A0800001 */ sb $zero, 1($a0) - -glabel func_800BDFF8 -/* 0BEBF8 800BDFF8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0BEBFC 800BDFFC AFBF002C */ sw $ra, 0x2c($sp) -/* 0BEC00 800BE000 AFB50028 */ sw $s5, 0x28($sp) -/* 0BEC04 800BE004 AFB40024 */ sw $s4, 0x24($sp) -/* 0BEC08 800BE008 AFB30020 */ sw $s3, 0x20($sp) -/* 0BEC0C 800BE00C AFB2001C */ sw $s2, 0x1c($sp) -/* 0BEC10 800BE010 AFB10018 */ sw $s1, 0x18($sp) -/* 0BEC14 800BE014 AFB00014 */ sw $s0, 0x14($sp) -/* 0BEC18 800BE018 948E0010 */ lhu $t6, 0x10($a0) -/* 0BEC1C 800BE01C 3C15803B */ lui $s5, %hi(D_803B5EF0) # $s5, 0x803b -/* 0BEC20 800BE020 00809825 */ move $s3, $a0 -/* 0BEC24 800BE024 11C00025 */ beqz $t6, .L800BE0BC -/* 0BEC28 800BE028 26B55EF0 */ addiu $s5, %lo(D_803B5EF0) # addiu $s5, $s5, 0x5ef0 -/* 0BEC2C 800BE02C C4840018 */ lwc1 $f4, 0x18($a0) -/* 0BEC30 800BE030 C486001C */ lwc1 $f6, 0x1c($a0) -/* 0BEC34 800BE034 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BEC38 800BE038 44811000 */ mtc1 $at, $f2 -/* 0BEC3C 800BE03C 46062200 */ add.s $f8, $f4, $f6 -/* 0BEC40 800BE040 90980000 */ lbu $t8, ($a0) -/* 0BEC44 800BE044 E4880018 */ swc1 $f8, 0x18($a0) -/* 0BEC48 800BE048 C4800018 */ lwc1 $f0, 0x18($a0) -/* 0BEC4C 800BE04C 37190004 */ ori $t9, $t8, 4 -/* 0BEC50 800BE050 A0990000 */ sb $t9, ($a0) -/* 0BEC54 800BE054 4600103C */ c.lt.s $f2, $f0 -/* 0BEC58 800BE058 00000000 */ nop -/* 0BEC5C 800BE05C 45020004 */ bc1fl .L800BE070 -/* 0BEC60 800BE060 44801000 */ mtc1 $zero, $f2 -/* 0BEC64 800BE064 E4820018 */ swc1 $f2, 0x18($a0) -/* 0BEC68 800BE068 C4800018 */ lwc1 $f0, 0x18($a0) -/* 0BEC6C 800BE06C 44801000 */ mtc1 $zero, $f2 -.L800BE070: -/* 0BEC70 800BE070 00000000 */ nop -/* 0BEC74 800BE074 4602003C */ c.lt.s $f0, $f2 -/* 0BEC78 800BE078 00000000 */ nop -/* 0BEC7C 800BE07C 45020003 */ bc1fl .L800BE08C -/* 0BEC80 800BE080 96680010 */ lhu $t0, 0x10($s3) -/* 0BEC84 800BE084 E6620018 */ swc1 $f2, 0x18($s3) -/* 0BEC88 800BE088 96680010 */ lhu $t0, 0x10($s3) -.L800BE08C: -/* 0BEC8C 800BE08C 2509FFFF */ addiu $t1, $t0, -1 -/* 0BEC90 800BE090 312AFFFF */ andi $t2, $t1, 0xffff -/* 0BEC94 800BE094 15400009 */ bnez $t2, .L800BE0BC -/* 0BEC98 800BE098 A6690010 */ sh $t1, 0x10($s3) -/* 0BEC9C 800BE09C 926B0001 */ lbu $t3, 1($s3) -/* 0BECA0 800BE0A0 24010002 */ li $at, 2 -/* 0BECA4 800BE0A4 55610006 */ bnel $t3, $at, .L800BE0C0 -/* 0BECA8 800BE0A8 8E6C0000 */ lw $t4, ($s3) -/* 0BECAC 800BE0AC 0C02FBCB */ jal func_800BEF2C -/* 0BECB0 800BE0B0 02602025 */ move $a0, $s3 -/* 0BECB4 800BE0B4 10000020 */ b .L800BE138 -/* 0BECB8 800BE0B8 8FBF002C */ lw $ra, 0x2c($sp) -.L800BE0BC: -/* 0BECBC 800BE0BC 8E6C0000 */ lw $t4, ($s3) -.L800BE0C0: -/* 0BECC0 800BE0C0 00008025 */ move $s0, $zero -/* 0BECC4 800BE0C4 02608825 */ move $s1, $s3 -/* 0BECC8 800BE0C8 000C7140 */ sll $t6, $t4, 5 -/* 0BECCC 800BE0CC 05C10005 */ bgez $t6, .L800BE0E4 -/* 0BECD0 800BE0D0 24140040 */ li $s4, 64 -/* 0BECD4 800BE0D4 C66A0018 */ lwc1 $f10, 0x18($s3) -/* 0BECD8 800BE0D8 C6700028 */ lwc1 $f16, 0x28($s3) -/* 0BECDC 800BE0DC 46105482 */ mul.s $f18, $f10, $f16 -/* 0BECE0 800BE0E0 E672002C */ swc1 $f18, 0x2c($s3) -.L800BE0E4: -/* 0BECE4 800BE0E4 24120001 */ li $s2, 1 -.L800BE0E8: -/* 0BECE8 800BE0E8 8E240030 */ lw $a0, 0x30($s1) -/* 0BECEC 800BE0EC 02A47826 */ xor $t7, $s5, $a0 -/* 0BECF0 800BE0F0 000F782B */ sltu $t7, $zero, $t7 -/* 0BECF4 800BE0F4 564F000A */ bnel $s2, $t7, .L800BE120 -/* 0BECF8 800BE0F8 26100004 */ addiu $s0, $s0, 4 -/* 0BECFC 800BE0FC 8C980000 */ lw $t8, ($a0) -/* 0BED00 800BE100 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0BED04 800BE104 56590006 */ bnel $s2, $t9, .L800BE120 -/* 0BED08 800BE108 26100004 */ addiu $s0, $s0, 4 -/* 0BED0C 800BE10C 8E650000 */ lw $a1, ($s3) -/* 0BED10 800BE110 00054140 */ sll $t0, $a1, 5 -/* 0BED14 800BE114 0C02F794 */ jal func_800BDE50 -/* 0BED18 800BE118 00082FC2 */ srl $a1, $t0, 0x1f -/* 0BED1C 800BE11C 26100004 */ addiu $s0, $s0, 4 -.L800BE120: -/* 0BED20 800BE120 1614FFF1 */ bne $s0, $s4, .L800BE0E8 -/* 0BED24 800BE124 26310004 */ addiu $s1, $s1, 4 -/* 0BED28 800BE128 926A0000 */ lbu $t2, ($s3) -/* 0BED2C 800BE12C 314BFFFB */ andi $t3, $t2, 0xfffb -/* 0BED30 800BE130 A26B0000 */ sb $t3, ($s3) -/* 0BED34 800BE134 8FBF002C */ lw $ra, 0x2c($sp) -.L800BE138: -/* 0BED38 800BE138 8FB00014 */ lw $s0, 0x14($sp) -/* 0BED3C 800BE13C 8FB10018 */ lw $s1, 0x18($sp) -/* 0BED40 800BE140 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BED44 800BE144 8FB30020 */ lw $s3, 0x20($sp) -/* 0BED48 800BE148 8FB40024 */ lw $s4, 0x24($sp) -/* 0BED4C 800BE14C 8FB50028 */ lw $s5, 0x28($sp) -/* 0BED50 800BE150 03E00008 */ jr $ra -/* 0BED54 800BE154 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800BE158 -/* 0BED58 800BE158 C4840004 */ lwc1 $f4, 4($a0) -/* 0BED5C 800BE15C C4860008 */ lwc1 $f6, 8($a0) -/* 0BED60 800BE160 24020001 */ li $v0, 1 -/* 0BED64 800BE164 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0BED68 800BE168 46062200 */ add.s $f8, $f4, $f6 -/* 0BED6C 800BE16C E4880004 */ swc1 $f8, 4($a0) -/* 0BED70 800BE170 444EF800 */ cfc1 $t6, $31 -/* 0BED74 800BE174 44C2F800 */ ctc1 $v0, $31 -/* 0BED78 800BE178 C48A0004 */ lwc1 $f10, 4($a0) -/* 0BED7C 800BE17C 46005424 */ cvt.w.s $f16, $f10 -/* 0BED80 800BE180 4442F800 */ cfc1 $v0, $31 -/* 0BED84 800BE184 00000000 */ nop -/* 0BED88 800BE188 30420078 */ andi $v0, $v0, 0x78 -/* 0BED8C 800BE18C 50400013 */ beql $v0, $zero, .L800BE1DC -/* 0BED90 800BE190 44028000 */ mfc1 $v0, $f16 -/* 0BED94 800BE194 44818000 */ mtc1 $at, $f16 -/* 0BED98 800BE198 24020001 */ li $v0, 1 -/* 0BED9C 800BE19C 46105401 */ sub.s $f16, $f10, $f16 -/* 0BEDA0 800BE1A0 44C2F800 */ ctc1 $v0, $31 -/* 0BEDA4 800BE1A4 00000000 */ nop -/* 0BEDA8 800BE1A8 46008424 */ cvt.w.s $f16, $f16 -/* 0BEDAC 800BE1AC 4442F800 */ cfc1 $v0, $31 -/* 0BEDB0 800BE1B0 00000000 */ nop -/* 0BEDB4 800BE1B4 30420078 */ andi $v0, $v0, 0x78 -/* 0BEDB8 800BE1B8 14400005 */ bnez $v0, .L800BE1D0 -/* 0BEDBC 800BE1BC 00000000 */ nop -/* 0BEDC0 800BE1C0 44028000 */ mfc1 $v0, $f16 -/* 0BEDC4 800BE1C4 3C018000 */ lui $at, 0x8000 -/* 0BEDC8 800BE1C8 10000007 */ b .L800BE1E8 -/* 0BEDCC 800BE1CC 00411025 */ or $v0, $v0, $at -.L800BE1D0: -/* 0BEDD0 800BE1D0 10000005 */ b .L800BE1E8 -/* 0BEDD4 800BE1D4 2402FFFF */ li $v0, -1 -/* 0BEDD8 800BE1D8 44028000 */ mfc1 $v0, $f16 -.L800BE1DC: -/* 0BEDDC 800BE1DC 00000000 */ nop -/* 0BEDE0 800BE1E0 0440FFFB */ bltz $v0, .L800BE1D0 -/* 0BEDE4 800BE1E4 00000000 */ nop -.L800BE1E8: -/* 0BEDE8 800BE1E8 44CEF800 */ ctc1 $t6, $31 -/* 0BEDEC 800BE1EC 2C410080 */ sltiu $at, $v0, 0x80 -/* 0BEDF0 800BE1F0 54200003 */ bnel $at, $zero, .L800BE200 -/* 0BEDF4 800BE1F4 3C013F80 */ lui $at, 0x3f80 -/* 0BEDF8 800BE1F8 2402007F */ li $v0, 127 -/* 0BEDFC 800BE1FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L800BE200: -/* 0BEE00 800BE200 44816000 */ mtc1 $at, $f12 -/* 0BEE04 800BE204 3C01800F */ lui $at, %hi(gPitchBendFrequencyScale + 0x200) -/* 0BEE08 800BE208 00027880 */ sll $t7, $v0, 2 -/* 0BEE0C 800BE20C 002F0821 */ addu $at, $at, $t7 -/* 0BEE10 800BE210 C4325E20 */ lwc1 $f18, %lo(gPitchBendFrequencyScale + 0x200)($at) -/* 0BEE14 800BE214 C486000C */ lwc1 $f6, 0xc($a0) -/* 0BEE18 800BE218 460C9101 */ sub.s $f4, $f18, $f12 -/* 0BEE1C 800BE21C 46062202 */ mul.s $f8, $f4, $f6 -/* 0BEE20 800BE220 460C4080 */ add.s $f2, $f8, $f12 -/* 0BEE24 800BE224 03E00008 */ jr $ra -/* 0BEE28 800BE228 46001006 */ mov.s $f0, $f2 - -glabel func_800BE22C -/* 0BEE2C 800BE22C C4840010 */ lwc1 $f4, 0x10($a0) -/* 0BEE30 800BE230 8C8E0004 */ lw $t6, 4($a0) -/* 0BEE34 800BE234 8C8A0008 */ lw $t2, 8($a0) -/* 0BEE38 800BE238 4600218D */ trunc.w.s $f6, $f4 -/* 0BEE3C 800BE23C 44183000 */ mfc1 $t8, $f6 -/* 0BEE40 800BE240 00000000 */ nop -/* 0BEE44 800BE244 01D8C821 */ addu $t9, $t6, $t8 -/* 0BEE48 800BE248 00194282 */ srl $t0, $t9, 0xa -/* 0BEE4C 800BE24C 3109003F */ andi $t1, $t0, 0x3f -/* 0BEE50 800BE250 00095840 */ sll $t3, $t1, 1 -/* 0BEE54 800BE254 AC990004 */ sw $t9, 4($a0) -/* 0BEE58 800BE258 014B6021 */ addu $t4, $t2, $t3 -/* 0BEE5C 800BE25C 85820000 */ lh $v0, ($t4) -/* 0BEE60 800BE260 00026A03 */ sra $t5, $v0, 8 -/* 0BEE64 800BE264 000D7C00 */ sll $t7, $t5, 0x10 -/* 0BEE68 800BE268 03E00008 */ jr $ra -/* 0BEE6C 800BE26C 000F1403 */ sra $v0, $t7, 0x10 - -glabel func_800BE270 -/* 0BEE70 800BE270 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BEE74 800BE274 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BEE78 800BE278 9482001A */ lhu $v0, 0x1a($a0) -/* 0BEE7C 800BE27C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BEE80 800BE280 10400004 */ beqz $v0, .L800BE294 -/* 0BEE84 800BE284 244EFFFF */ addiu $t6, $v0, -1 -/* 0BEE88 800BE288 44810000 */ mtc1 $at, $f0 -/* 0BEE8C 800BE28C 10000072 */ b .L800BE458 -/* 0BEE90 800BE290 A48E001A */ sh $t6, 0x1a($a0) -.L800BE294: -/* 0BEE94 800BE294 94820018 */ lhu $v0, 0x18($a0) -/* 0BEE98 800BE298 24010001 */ li $at, 1 -/* 0BEE9C 800BE29C 5040001C */ beql $v0, $zero, .L800BE310 -/* 0BEEA0 800BE2A0 C48A000C */ lwc1 $f10, 0xc($a0) -/* 0BEEA4 800BE2A4 14410009 */ bne $v0, $at, .L800BE2CC -/* 0BEEA8 800BE2A8 00401825 */ move $v1, $v0 -/* 0BEEAC 800BE2AC 8C8F0000 */ lw $t7, ($a0) -/* 0BEEB0 800BE2B0 94820018 */ lhu $v0, 0x18($a0) -/* 0BEEB4 800BE2B4 95F80012 */ lhu $t8, 0x12($t7) -/* 0BEEB8 800BE2B8 44982000 */ mtc1 $t8, $f4 -/* 0BEEBC 800BE2BC 00000000 */ nop -/* 0BEEC0 800BE2C0 468021A0 */ cvt.s.w $f6, $f4 -/* 0BEEC4 800BE2C4 1000000D */ b .L800BE2FC -/* 0BEEC8 800BE2C8 E486000C */ swc1 $f6, 0xc($a0) -.L800BE2CC: -/* 0BEECC 800BE2CC 8C990000 */ lw $t9, ($a0) -/* 0BEED0 800BE2D0 44839000 */ mtc1 $v1, $f18 -/* 0BEED4 800BE2D4 C480000C */ lwc1 $f0, 0xc($a0) -/* 0BEED8 800BE2D8 97280012 */ lhu $t0, 0x12($t9) -/* 0BEEDC 800BE2DC 46809120 */ cvt.s.w $f4, $f18 -/* 0BEEE0 800BE2E0 44884000 */ mtc1 $t0, $f8 -/* 0BEEE4 800BE2E4 00000000 */ nop -/* 0BEEE8 800BE2E8 468042A0 */ cvt.s.w $f10, $f8 -/* 0BEEEC 800BE2EC 46005401 */ sub.s $f16, $f10, $f0 -/* 0BEEF0 800BE2F0 46048183 */ div.s $f6, $f16, $f4 -/* 0BEEF4 800BE2F4 46060200 */ add.s $f8, $f0, $f6 -/* 0BEEF8 800BE2F8 E488000C */ swc1 $f8, 0xc($a0) -.L800BE2FC: -/* 0BEEFC 800BE2FC 2449FFFF */ addiu $t1, $v0, -1 -/* 0BEF00 800BE300 A4890018 */ sh $t1, 0x18($a0) -/* 0BEF04 800BE304 10000011 */ b .L800BE34C -/* 0BEF08 800BE308 8C830000 */ lw $v1, ($a0) -/* 0BEF0C 800BE30C C48A000C */ lwc1 $f10, 0xc($a0) -.L800BE310: -/* 0BEF10 800BE310 8C830000 */ lw $v1, ($a0) -/* 0BEF14 800BE314 4600548D */ trunc.w.s $f18, $f10 -/* 0BEF18 800BE318 946C0012 */ lhu $t4, 0x12($v1) -/* 0BEF1C 800BE31C 440B9000 */ mfc1 $t3, $f18 -/* 0BEF20 800BE320 00000000 */ nop -/* 0BEF24 800BE324 516C000A */ beql $t3, $t4, .L800BE350 -/* 0BEF28 800BE328 94820016 */ lhu $v0, 0x16($a0) -/* 0BEF2C 800BE32C 94620016 */ lhu $v0, 0x16($v1) -/* 0BEF30 800BE330 14400006 */ bnez $v0, .L800BE34C -/* 0BEF34 800BE334 A4820018 */ sh $v0, 0x18($a0) -/* 0BEF38 800BE338 946D0012 */ lhu $t5, 0x12($v1) -/* 0BEF3C 800BE33C 448D8000 */ mtc1 $t5, $f16 -/* 0BEF40 800BE340 00000000 */ nop -/* 0BEF44 800BE344 46808120 */ cvt.s.w $f4, $f16 -/* 0BEF48 800BE348 E484000C */ swc1 $f4, 0xc($a0) -.L800BE34C: -/* 0BEF4C 800BE34C 94820016 */ lhu $v0, 0x16($a0) -.L800BE350: -/* 0BEF50 800BE350 24010001 */ li $at, 1 -/* 0BEF54 800BE354 50400018 */ beql $v0, $zero, .L800BE3B8 -/* 0BEF58 800BE358 C4920010 */ lwc1 $f18, 0x10($a0) -/* 0BEF5C 800BE35C 14410008 */ bne $v0, $at, .L800BE380 -/* 0BEF60 800BE360 00402825 */ move $a1, $v0 -/* 0BEF64 800BE364 946E0010 */ lhu $t6, 0x10($v1) -/* 0BEF68 800BE368 94820016 */ lhu $v0, 0x16($a0) -/* 0BEF6C 800BE36C 448E3000 */ mtc1 $t6, $f6 -/* 0BEF70 800BE370 00000000 */ nop -/* 0BEF74 800BE374 46803220 */ cvt.s.w $f8, $f6 -/* 0BEF78 800BE378 1000000B */ b .L800BE3A8 -/* 0BEF7C 800BE37C E4880010 */ swc1 $f8, 0x10($a0) -.L800BE380: -/* 0BEF80 800BE380 946F0010 */ lhu $t7, 0x10($v1) -/* 0BEF84 800BE384 44852000 */ mtc1 $a1, $f4 -/* 0BEF88 800BE388 C4800010 */ lwc1 $f0, 0x10($a0) -/* 0BEF8C 800BE38C 448F5000 */ mtc1 $t7, $f10 -/* 0BEF90 800BE390 468021A0 */ cvt.s.w $f6, $f4 -/* 0BEF94 800BE394 468054A0 */ cvt.s.w $f18, $f10 -/* 0BEF98 800BE398 46009401 */ sub.s $f16, $f18, $f0 -/* 0BEF9C 800BE39C 46068203 */ div.s $f8, $f16, $f6 -/* 0BEFA0 800BE3A0 46080280 */ add.s $f10, $f0, $f8 -/* 0BEFA4 800BE3A4 E48A0010 */ swc1 $f10, 0x10($a0) -.L800BE3A8: -/* 0BEFA8 800BE3A8 2458FFFF */ addiu $t8, $v0, -1 -/* 0BEFAC 800BE3AC 10000010 */ b .L800BE3F0 -/* 0BEFB0 800BE3B0 A4980016 */ sh $t8, 0x16($a0) -/* 0BEFB4 800BE3B4 C4920010 */ lwc1 $f18, 0x10($a0) -.L800BE3B8: -/* 0BEFB8 800BE3B8 94690010 */ lhu $t1, 0x10($v1) -/* 0BEFBC 800BE3BC 4600910D */ trunc.w.s $f4, $f18 -/* 0BEFC0 800BE3C0 44082000 */ mfc1 $t0, $f4 -/* 0BEFC4 800BE3C4 00000000 */ nop -/* 0BEFC8 800BE3C8 5109000A */ beql $t0, $t1, .L800BE3F4 -/* 0BEFCC 800BE3CC 44804000 */ mtc1 $zero, $f8 -/* 0BEFD0 800BE3D0 94620014 */ lhu $v0, 0x14($v1) -/* 0BEFD4 800BE3D4 14400006 */ bnez $v0, .L800BE3F0 -/* 0BEFD8 800BE3D8 A4820016 */ sh $v0, 0x16($a0) -/* 0BEFDC 800BE3DC 946A0010 */ lhu $t2, 0x10($v1) -/* 0BEFE0 800BE3E0 448A8000 */ mtc1 $t2, $f16 -/* 0BEFE4 800BE3E4 00000000 */ nop -/* 0BEFE8 800BE3E8 468081A0 */ cvt.s.w $f6, $f16 -/* 0BEFEC 800BE3EC E4860010 */ swc1 $f6, 0x10($a0) -.L800BE3F0: -/* 0BEFF0 800BE3F0 44804000 */ mtc1 $zero, $f8 -.L800BE3F4: -/* 0BEFF4 800BE3F4 C48A000C */ lwc1 $f10, 0xc($a0) -/* 0BEFF8 800BE3F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BEFFC 800BE3FC 460A4032 */ c.eq.s $f8, $f10 -/* 0BF000 800BE400 00000000 */ nop -/* 0BF004 800BE404 45000004 */ bc1f .L800BE418 -/* 0BF008 800BE408 00000000 */ nop -/* 0BF00C 800BE40C 44810000 */ mtc1 $at, $f0 -/* 0BF010 800BE410 10000012 */ b .L800BE45C -/* 0BF014 800BE414 8FBF0014 */ lw $ra, 0x14($sp) -.L800BE418: -/* 0BF018 800BE418 0C02F88B */ jal func_800BE22C -/* 0BF01C 800BE41C AFA40018 */ sw $a0, 0x18($sp) -/* 0BF020 800BE420 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BF024 800BE424 44817000 */ mtc1 $at, $f14 -/* 0BF028 800BE428 8FA40018 */ lw $a0, 0x18($sp) -/* 0BF02C 800BE42C 3C013980 */ li $at, 0x39800000 # 0.000244 -/* 0BF030 800BE430 44812000 */ mtc1 $at, $f4 -/* 0BF034 800BE434 C492000C */ lwc1 $f18, 0xc($a0) -/* 0BF038 800BE438 3C01800F */ lui $at, %hi(gPitchBendFrequencyScale + 0x200) -/* 0BF03C 800BE43C 00025880 */ sll $t3, $v0, 2 -/* 0BF040 800BE440 002B0821 */ addu $at, $at, $t3 -/* 0BF044 800BE444 46049082 */ mul.s $f2, $f18, $f4 -/* 0BF048 800BE448 C4305E20 */ lwc1 $f16, %lo(gPitchBendFrequencyScale + 0x200)($at) -/* 0BF04C 800BE44C 460E8181 */ sub.s $f6, $f16, $f14 -/* 0BF050 800BE450 46023202 */ mul.s $f8, $f6, $f2 -/* 0BF054 800BE454 460E4000 */ add.s $f0, $f8, $f14 -.L800BE458: -/* 0BF058 800BE458 8FBF0014 */ lw $ra, 0x14($sp) -.L800BE45C: -/* 0BF05C 800BE45C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BF060 800BE460 03E00008 */ jr $ra -/* 0BF064 800BE464 00000000 */ nop - -glabel func_800BE468 -/* 0BF068 800BE468 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BF06C 800BE46C AFBF0014 */ sw $ra, 0x14($sp) -/* 0BF070 800BE470 908E007C */ lbu $t6, 0x7c($a0) -/* 0BF074 800BE474 00802825 */ move $a1, $a0 -/* 0BF078 800BE478 2484007C */ addiu $a0, $a0, 0x7c -/* 0BF07C 800BE47C 51C00006 */ beql $t6, $zero, .L800BE498 -/* 0BF080 800BE480 90AF00A0 */ lbu $t7, 0xa0($a1) -/* 0BF084 800BE484 0C02F856 */ jal func_800BE158 -/* 0BF088 800BE488 AFA50018 */ sw $a1, 0x18($sp) -/* 0BF08C 800BE48C 8FA50018 */ lw $a1, 0x18($sp) -/* 0BF090 800BE490 E4A00038 */ swc1 $f0, 0x38($a1) -/* 0BF094 800BE494 90AF00A0 */ lbu $t7, 0xa0($a1) -.L800BE498: -/* 0BF098 800BE498 51E0000B */ beql $t7, $zero, .L800BE4C8 -/* 0BF09C 800BE49C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF0A0 800BE4A0 8CB80044 */ lw $t8, 0x44($a1) -/* 0BF0A4 800BE4A4 2401FFFF */ li $at, -1 -/* 0BF0A8 800BE4A8 24A4008C */ addiu $a0, $a1, 0x8c -/* 0BF0AC 800BE4AC 53010006 */ beql $t8, $at, .L800BE4C8 -/* 0BF0B0 800BE4B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF0B4 800BE4B4 0C02F89C */ jal func_800BE270 -/* 0BF0B8 800BE4B8 AFA50018 */ sw $a1, 0x18($sp) -/* 0BF0BC 800BE4BC 8FA50018 */ lw $a1, 0x18($sp) -/* 0BF0C0 800BE4C0 E4A0003C */ swc1 $f0, 0x3c($a1) -/* 0BF0C4 800BE4C4 8FBF0014 */ lw $ra, 0x14($sp) -.L800BE4C8: -/* 0BF0C8 800BE4C8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BF0CC 800BE4CC 03E00008 */ jr $ra -/* 0BF0D0 800BE4D0 00000000 */ nop - -glabel func_800BE4D4 -/* 0BF0D4 800BE4D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BF0D8 800BE4D8 44810000 */ mtc1 $at, $f0 -/* 0BF0DC 800BE4DC 240E0001 */ li $t6, 1 -/* 0BF0E0 800BE4E0 A08E00A0 */ sb $t6, 0xa0($a0) -/* 0BF0E4 800BE4E4 AC800090 */ sw $zero, 0x90($a0) -/* 0BF0E8 800BE4E8 3C0F800F */ lui $t7, %hi(gWaveSamples + 8) # $t7, 0x800f -/* 0BF0EC 800BE4EC E480003C */ swc1 $f0, 0x3c($a0) -/* 0BF0F0 800BE4F0 E4800038 */ swc1 $f0, 0x38($a0) -/* 0BF0F4 800BE4F4 8DEF5C08 */ lw $t7, %lo(gWaveSamples + 8)($t7) -/* 0BF0F8 800BE4F8 8C980044 */ lw $t8, 0x44($a0) -/* 0BF0FC 800BE4FC 2483008C */ addiu $v1, $a0, 0x8c -/* 0BF100 800BE500 AC8F0094 */ sw $t7, 0x94($a0) -/* 0BF104 800BE504 8F19004C */ lw $t9, 0x4c($t8) -/* 0BF108 800BE508 AC99008C */ sw $t9, 0x8c($a0) -/* 0BF10C 800BE50C 97220016 */ lhu $v0, 0x16($t9) -/* 0BF110 800BE510 14400009 */ bnez $v0, .L800BE538 -/* 0BF114 800BE514 A48200A4 */ sh $v0, 0xa4($a0) -/* 0BF118 800BE518 2483008C */ addiu $v1, $a0, 0x8c -/* 0BF11C 800BE51C 8C650000 */ lw $a1, ($v1) -/* 0BF120 800BE520 94A90012 */ lhu $t1, 0x12($a1) -/* 0BF124 800BE524 44892000 */ mtc1 $t1, $f4 -/* 0BF128 800BE528 00000000 */ nop -/* 0BF12C 800BE52C 468021A0 */ cvt.s.w $f6, $f4 -/* 0BF130 800BE530 10000007 */ b .L800BE550 -/* 0BF134 800BE534 E466000C */ swc1 $f6, 0xc($v1) -.L800BE538: -/* 0BF138 800BE538 8C650000 */ lw $a1, ($v1) -/* 0BF13C 800BE53C 94AA000E */ lhu $t2, 0xe($a1) -/* 0BF140 800BE540 448A4000 */ mtc1 $t2, $f8 -/* 0BF144 800BE544 00000000 */ nop -/* 0BF148 800BE548 468042A0 */ cvt.s.w $f10, $f8 -/* 0BF14C 800BE54C E46A000C */ swc1 $f10, 0xc($v1) -.L800BE550: -/* 0BF150 800BE550 94A20014 */ lhu $v0, 0x14($a1) -/* 0BF154 800BE554 14400007 */ bnez $v0, .L800BE574 -/* 0BF158 800BE558 A4620016 */ sh $v0, 0x16($v1) -/* 0BF15C 800BE55C 94AB0010 */ lhu $t3, 0x10($a1) -/* 0BF160 800BE560 448B8000 */ mtc1 $t3, $f16 -/* 0BF164 800BE564 00000000 */ nop -/* 0BF168 800BE568 468084A0 */ cvt.s.w $f18, $f16 -/* 0BF16C 800BE56C 10000006 */ b .L800BE588 -/* 0BF170 800BE570 E4720010 */ swc1 $f18, 0x10($v1) -.L800BE574: -/* 0BF174 800BE574 94AC000C */ lhu $t4, 0xc($a1) -/* 0BF178 800BE578 448C2000 */ mtc1 $t4, $f4 -/* 0BF17C 800BE57C 00000000 */ nop -/* 0BF180 800BE580 468021A0 */ cvt.s.w $f6, $f4 -/* 0BF184 800BE584 E4660010 */ swc1 $f6, 0x10($v1) -.L800BE588: -/* 0BF188 800BE588 94AD0018 */ lhu $t5, 0x18($a1) -/* 0BF18C 800BE58C 24820030 */ addiu $v0, $a0, 0x30 -/* 0BF190 800BE590 A46D001A */ sh $t5, 0x1a($v1) -/* 0BF194 800BE594 8C4E0014 */ lw $t6, 0x14($v0) -/* 0BF198 800BE598 8DC10008 */ lw $at, 8($t6) -/* 0BF19C 800BE59C AC41004C */ sw $at, 0x4c($v0) -/* 0BF1A0 800BE5A0 8DD8000C */ lw $t8, 0xc($t6) -/* 0BF1A4 800BE5A4 AC580050 */ sw $t8, 0x50($v0) -/* 0BF1A8 800BE5A8 8DC10010 */ lw $at, 0x10($t6) -/* 0BF1AC 800BE5AC AC410054 */ sw $at, 0x54($v0) -/* 0BF1B0 800BE5B0 8DD80014 */ lw $t8, 0x14($t6) -/* 0BF1B4 800BE5B4 03E00008 */ jr $ra -/* 0BF1B8 800BE5B8 AC580058 */ sw $t8, 0x58($v0) - -glabel func_800BE5BC -/* 0BF1BC 800BE5BC AFA60008 */ sw $a2, 8($sp) -/* 0BF1C0 800BE5C0 44800000 */ mtc1 $zero, $f0 -/* 0BF1C4 800BE5C4 A0800000 */ sb $zero, ($a0) -/* 0BF1C8 800BE5C8 A0800001 */ sb $zero, 1($a0) -/* 0BF1CC 800BE5CC A4800004 */ sh $zero, 4($a0) -/* 0BF1D0 800BE5D0 AC850020 */ sw $a1, 0x20($a0) -/* 0BF1D4 800BE5D4 E4800008 */ swc1 $f0, 8($a0) -/* 0BF1D8 800BE5D8 03E00008 */ jr $ra -/* 0BF1DC 800BE5DC E4800014 */ swc1 $f0, 0x14($a0) - -glabel func_800BE5E0 -/* 0BF1E0 800BE5E0 90830001 */ lbu $v1, 1($a0) -/* 0BF1E4 800BE5E4 90820000 */ lbu $v0, ($a0) -/* 0BF1E8 800BE5E8 2C610009 */ sltiu $at, $v1, 9 -/* 0BF1EC 800BE5EC 1020009D */ beqz $at, .L800BE864 -/* 0BF1F0 800BE5F0 00602825 */ move $a1, $v1 -/* 0BF1F4 800BE5F4 00037080 */ sll $t6, $v1, 2 -/* 0BF1F8 800BE5F8 3C01800F */ lui $at, %hi(D_800F2EE0) -/* 0BF1FC 800BE5FC 002E0821 */ addu $at, $at, $t6 -/* 0BF200 800BE600 8C2E2EE0 */ lw $t6, %lo(D_800F2EE0)($at) -/* 0BF204 800BE604 01C00008 */ jr $t6 -/* 0BF208 800BE608 00000000 */ nop -glabel L800BE60C -/* 0BF20C 800BE60C 44800000 */ mtc1 $zero, $f0 -/* 0BF210 800BE610 03E00008 */ jr $ra -/* 0BF214 800BE614 00000000 */ nop - -glabel L800BE618 -/* 0BF218 800BE618 304F0040 */ andi $t7, $v0, 0x40 -/* 0BF21C 800BE61C 11E00003 */ beqz $t7, .L800BE62C -/* 0BF220 800BE620 24180005 */ li $t8, 5 -/* 0BF224 800BE624 1000008F */ b .L800BE864 -/* 0BF228 800BE628 A0980001 */ sb $t8, 1($a0) -.L800BE62C: -glabel L800BE62C -/* 0BF22C 800BE62C 24190003 */ li $t9, 3 -/* 0BF230 800BE630 A4800002 */ sh $zero, 2($a0) -/* 0BF234 800BE634 A0990001 */ sb $t9, 1($a0) -.L800BE638: -glabel L800BE638 -/* 0BF238 800BE638 84890002 */ lh $t1, 2($a0) -/* 0BF23C 800BE63C 8C880020 */ lw $t0, 0x20($a0) -/* 0BF240 800BE640 2401FFFD */ li $at, -3 -/* 0BF244 800BE644 00095080 */ sll $t2, $t1, 2 -/* 0BF248 800BE648 010A1821 */ addu $v1, $t0, $t2 -/* 0BF24C 800BE64C 846B0000 */ lh $t3, ($v1) -/* 0BF250 800BE650 A48B0004 */ sh $t3, 4($a0) -/* 0BF254 800BE654 84860004 */ lh $a2, 4($a0) -/* 0BF258 800BE658 10C10010 */ beq $a2, $at, .L800BE69C -/* 0BF25C 800BE65C 00C02825 */ move $a1, $a2 -/* 0BF260 800BE660 2401FFFE */ li $at, -2 -/* 0BF264 800BE664 10C1000A */ beq $a2, $at, .L800BE690 -/* 0BF268 800BE668 2401FFFF */ li $at, -1 -/* 0BF26C 800BE66C 50C10006 */ beql $a2, $at, .L800BE688 -/* 0BF270 800BE670 240C0005 */ li $t4, 5 -/* 0BF274 800BE674 14C0000C */ bnez $a2, .L800BE6A8 -/* 0BF278 800BE678 28C10004 */ slti $at, $a2, 4 -/* 0BF27C 800BE67C 10000041 */ b .L800BE784 -/* 0BF280 800BE680 A0800001 */ sb $zero, 1($a0) -/* 0BF284 800BE684 240C0005 */ li $t4, 5 -.L800BE688: -/* 0BF288 800BE688 1000003E */ b .L800BE784 -/* 0BF28C 800BE68C A08C0001 */ sb $t4, 1($a0) -.L800BE690: -/* 0BF290 800BE690 846D0002 */ lh $t5, 2($v1) -/* 0BF294 800BE694 1000FFE8 */ b .L800BE638 -/* 0BF298 800BE698 A48D0002 */ sh $t5, 2($a0) -.L800BE69C: -/* 0BF29C 800BE69C 240E0001 */ li $t6, 1 -/* 0BF2A0 800BE6A0 10000038 */ b .L800BE784 -/* 0BF2A4 800BE6A4 A08E0001 */ sb $t6, 1($a0) -.L800BE6A8: -/* 0BF2A8 800BE6A8 14200019 */ bnez $at, .L800BE710 -/* 0BF2AC 800BE6AC 3C03803B */ lui $v1, %hi(D_803B7088) # $v1, 0x803b -/* 0BF2B0 800BE6B0 24637088 */ addiu $v1, %lo(D_803B7088) # addiu $v1, $v1, 0x7088 -/* 0BF2B4 800BE6B4 846F000C */ lh $t7, 0xc($v1) -/* 0BF2B8 800BE6B8 84790000 */ lh $t9, ($v1) -/* 0BF2BC 800BE6BC 00CF0019 */ multu $a2, $t7 -/* 0BF2C0 800BE6C0 0000C012 */ mflo $t8 -/* 0BF2C4 800BE6C4 00000000 */ nop -/* 0BF2C8 800BE6C8 00000000 */ nop -/* 0BF2CC 800BE6CC 0319001A */ div $zero, $t8, $t9 -/* 0BF2D0 800BE6D0 17200002 */ bnez $t9, .L800BE6DC -/* 0BF2D4 800BE6D4 00000000 */ nop -/* 0BF2D8 800BE6D8 0007000D */ break 7 -.L800BE6DC: -/* 0BF2DC 800BE6DC 2401FFFF */ li $at, -1 -/* 0BF2E0 800BE6E0 17210004 */ bne $t9, $at, .L800BE6F4 -/* 0BF2E4 800BE6E4 3C018000 */ lui $at, 0x8000 -/* 0BF2E8 800BE6E8 17010002 */ bne $t8, $at, .L800BE6F4 -/* 0BF2EC 800BE6EC 00000000 */ nop -/* 0BF2F0 800BE6F0 0006000D */ break 6 -.L800BE6F4: -/* 0BF2F4 800BE6F4 00004812 */ mflo $t1 -/* 0BF2F8 800BE6F8 05210003 */ bgez $t1, .L800BE708 -/* 0BF2FC 800BE6FC 00094083 */ sra $t0, $t1, 2 -/* 0BF300 800BE700 25210003 */ addiu $at, $t1, 3 -/* 0BF304 800BE704 00014083 */ sra $t0, $at, 2 -.L800BE708: -/* 0BF308 800BE708 A4880004 */ sh $t0, 4($a0) -/* 0BF30C 800BE70C 84860004 */ lh $a2, 4($a0) -.L800BE710: -/* 0BF310 800BE710 14C00003 */ bnez $a2, .L800BE720 -/* 0BF314 800BE714 240A0001 */ li $t2, 1 -/* 0BF318 800BE718 A48A0004 */ sh $t2, 4($a0) -/* 0BF31C 800BE71C 84860004 */ lh $a2, 4($a0) -.L800BE720: -/* 0BF320 800BE720 84830002 */ lh $v1, 2($a0) -/* 0BF324 800BE724 8C8B0020 */ lw $t3, 0x20($a0) -/* 0BF328 800BE728 3C01800F */ lui $at, %hi(D_800F2F04) # $at, 0x800f -/* 0BF32C 800BE72C 00036080 */ sll $t4, $v1, 2 -/* 0BF330 800BE730 016C6821 */ addu $t5, $t3, $t4 -/* 0BF334 800BE734 85AE0002 */ lh $t6, 2($t5) -/* 0BF338 800BE738 C4282F04 */ lwc1 $f8, %lo(D_800F2F04)($at) -/* 0BF33C 800BE73C 240F0004 */ li $t7, 4 -/* 0BF340 800BE740 448E2000 */ mtc1 $t6, $f4 -/* 0BF344 800BE744 24780001 */ addiu $t8, $v1, 1 -/* 0BF348 800BE748 A08F0001 */ sb $t7, 1($a0) -/* 0BF34C 800BE74C 468021A0 */ cvt.s.w $f6, $f4 -/* 0BF350 800BE750 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0BF354 800BE754 A4980002 */ sh $t8, 2($a0) -/* 0BF358 800BE758 46083283 */ div.s $f10, $f6, $f8 -/* 0BF35C 800BE75C 44864000 */ mtc1 $a2, $f8 -/* 0BF360 800BE760 E48A0018 */ swc1 $f10, 0x18($a0) -/* 0BF364 800BE764 C4800018 */ lwc1 $f0, 0x18($a0) -/* 0BF368 800BE768 468042A0 */ cvt.s.w $f10, $f8 -/* 0BF36C 800BE76C 46000402 */ mul.s $f16, $f0, $f0 -/* 0BF370 800BE770 E4900018 */ swc1 $f16, 0x18($a0) -/* 0BF374 800BE774 C4920018 */ lwc1 $f18, 0x18($a0) -/* 0BF378 800BE778 46049181 */ sub.s $f6, $f18, $f4 -/* 0BF37C 800BE77C 460A3403 */ div.s $f16, $f6, $f10 -/* 0BF380 800BE780 E490000C */ swc1 $f16, 0xc($a0) -.L800BE784: -/* 0BF384 800BE784 90990001 */ lbu $t9, 1($a0) -/* 0BF388 800BE788 24010004 */ li $at, 4 -/* 0BF38C 800BE78C 57210036 */ bnel $t9, $at, .L800BE868 -/* 0BF390 800BE790 44806000 */ mtc1 $zero, $f12 -glabel L800BE794 -/* 0BF394 800BE794 84890004 */ lh $t1, 4($a0) -/* 0BF398 800BE798 C4920014 */ lwc1 $f18, 0x14($a0) -/* 0BF39C 800BE79C C484000C */ lwc1 $f4, 0xc($a0) -/* 0BF3A0 800BE7A0 2528FFFF */ addiu $t0, $t1, -1 -/* 0BF3A4 800BE7A4 A4880004 */ sh $t0, 4($a0) -/* 0BF3A8 800BE7A8 46049200 */ add.s $f8, $f18, $f4 -/* 0BF3AC 800BE7AC 848A0004 */ lh $t2, 4($a0) -/* 0BF3B0 800BE7B0 240B0003 */ li $t3, 3 -/* 0BF3B4 800BE7B4 1D40002B */ bgtz $t2, .L800BE864 -/* 0BF3B8 800BE7B8 E4880014 */ swc1 $f8, 0x14($a0) -/* 0BF3BC 800BE7BC 10000029 */ b .L800BE864 -/* 0BF3C0 800BE7C0 A08B0001 */ sb $t3, 1($a0) -glabel L800BE7C4 -/* 0BF3C4 800BE7C4 44806000 */ mtc1 $zero, $f12 -/* 0BF3C8 800BE7C8 C4800008 */ lwc1 $f0, 8($a0) -/* 0BF3CC 800BE7CC C4860014 */ lwc1 $f6, 0x14($a0) -/* 0BF3D0 800BE7D0 C48A0010 */ lwc1 $f10, 0x10($a0) -/* 0BF3D4 800BE7D4 46006032 */ c.eq.s $f12, $f0 -/* 0BF3D8 800BE7D8 24010006 */ li $at, 6 -/* 0BF3DC 800BE7DC 460A3401 */ sub.s $f16, $f6, $f10 -/* 0BF3E0 800BE7E0 4501000E */ bc1t .L800BE81C -/* 0BF3E4 800BE7E4 E4900014 */ swc1 $f16, 0x14($a0) -/* 0BF3E8 800BE7E8 14A1000C */ bne $a1, $at, .L800BE81C -/* 0BF3EC 800BE7EC 00000000 */ nop -/* 0BF3F0 800BE7F0 C4920014 */ lwc1 $f18, 0x14($a0) -/* 0BF3F4 800BE7F4 240C0080 */ li $t4, 128 -/* 0BF3F8 800BE7F8 240D0008 */ li $t5, 8 -/* 0BF3FC 800BE7FC 4600903C */ c.lt.s $f18, $f0 -/* 0BF400 800BE800 00000000 */ nop -/* 0BF404 800BE804 45020018 */ bc1fl .L800BE868 -/* 0BF408 800BE808 44806000 */ mtc1 $zero, $f12 -/* 0BF40C 800BE80C E4800014 */ swc1 $f0, 0x14($a0) -/* 0BF410 800BE810 A48C0004 */ sh $t4, 4($a0) -/* 0BF414 800BE814 10000013 */ b .L800BE864 -/* 0BF418 800BE818 A08D0001 */ sb $t5, 1($a0) -.L800BE81C: -/* 0BF41C 800BE81C 3C01800F */ lui $at, %hi(D_800F2F08) # $at, 0x800f -/* 0BF420 800BE820 C4282F08 */ lwc1 $f8, %lo(D_800F2F08)($at) -/* 0BF424 800BE824 C4840014 */ lwc1 $f4, 0x14($a0) -/* 0BF428 800BE828 4608203C */ c.lt.s $f4, $f8 -/* 0BF42C 800BE82C 00000000 */ nop -/* 0BF430 800BE830 4502000D */ bc1fl .L800BE868 -/* 0BF434 800BE834 44806000 */ mtc1 $zero, $f12 -/* 0BF438 800BE838 E48C0014 */ swc1 $f12, 0x14($a0) -/* 0BF43C 800BE83C 10000009 */ b .L800BE864 -/* 0BF440 800BE840 A0800001 */ sb $zero, 1($a0) -glabel L800BE844 -/* 0BF444 800BE844 848E0004 */ lh $t6, 4($a0) -/* 0BF448 800BE848 24190007 */ li $t9, 7 -/* 0BF44C 800BE84C 25CFFFFF */ addiu $t7, $t6, -1 -/* 0BF450 800BE850 A48F0004 */ sh $t7, 4($a0) -/* 0BF454 800BE854 84980004 */ lh $t8, 4($a0) -/* 0BF458 800BE858 57000003 */ bnel $t8, $zero, .L800BE868 -/* 0BF45C 800BE85C 44806000 */ mtc1 $zero, $f12 -/* 0BF460 800BE860 A0990001 */ sb $t9, 1($a0) -.L800BE864: -glabel L800BE864 -/* 0BF464 800BE864 44806000 */ mtc1 $zero, $f12 -.L800BE868: -/* 0BF468 800BE868 30490020 */ andi $t1, $v0, 0x20 -/* 0BF46C 800BE86C 11200005 */ beqz $t1, .L800BE884 -/* 0BF470 800BE870 00401825 */ move $v1, $v0 -/* 0BF474 800BE874 24080006 */ li $t0, 6 -/* 0BF478 800BE878 304AFFDF */ andi $t2, $v0, 0xffdf -/* 0BF47C 800BE87C A0880001 */ sb $t0, 1($a0) -/* 0BF480 800BE880 A08A0000 */ sb $t2, ($a0) -.L800BE884: -/* 0BF484 800BE884 306B0010 */ andi $t3, $v1, 0x10 -/* 0BF488 800BE888 11600004 */ beqz $t3, .L800BE89C -/* 0BF48C 800BE88C 240C0007 */ li $t4, 7 -/* 0BF490 800BE890 306DFFEF */ andi $t5, $v1, 0xffef -/* 0BF494 800BE894 A08C0001 */ sb $t4, 1($a0) -/* 0BF498 800BE898 A08D0000 */ sb $t5, ($a0) -.L800BE89C: -/* 0BF49C 800BE89C C4820014 */ lwc1 $f2, 0x14($a0) -/* 0BF4A0 800BE8A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BF4A4 800BE8A4 460C103C */ c.lt.s $f2, $f12 -/* 0BF4A8 800BE8A8 00000000 */ nop -/* 0BF4AC 800BE8AC 45020004 */ bc1fl .L800BE8C0 -/* 0BF4B0 800BE8B0 44816000 */ mtc1 $at, $f12 -/* 0BF4B4 800BE8B4 03E00008 */ jr $ra -/* 0BF4B8 800BE8B8 46006006 */ mov.s $f0, $f12 - -/* 0BF4BC 800BE8BC 44816000 */ mtc1 $at, $f12 -.L800BE8C0: -/* 0BF4C0 800BE8C0 00000000 */ nop -/* 0BF4C4 800BE8C4 4602603C */ c.lt.s $f12, $f2 -/* 0BF4C8 800BE8C8 00000000 */ nop -/* 0BF4CC 800BE8CC 45020004 */ bc1fl .L800BE8E0 -/* 0BF4D0 800BE8D0 46001006 */ mov.s $f0, $f2 -/* 0BF4D4 800BE8D4 03E00008 */ jr $ra -/* 0BF4D8 800BE8D8 46006006 */ mov.s $f0, $f12 - -/* 0BF4DC 800BE8DC 46001006 */ mov.s $f0, $f2 -.L800BE8E0: -/* 0BF4E0 800BE8E0 03E00008 */ jr $ra -/* 0BF4E4 800BE8E4 00000000 */ nop - -/* 0BF4E8 800BE8E8 00000000 */ nop -/* 0BF4EC 800BE8EC 00000000 */ nop diff --git a/asm/audio/external.s b/asm/audio/external.s deleted file mode 100644 index 6018bbd21..000000000 --- a/asm/audio/external.s +++ /dev/null @@ -1,11130 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.section .text, "ax" - -/* 0C1FF0 800C13F0 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C1FF4 800C13F4 03E00008 */ jr $ra -/* 0C1FF8 800C13F8 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800C13FC -/* 0C1FFC 800C13FC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C2000 800C1400 AFA40038 */ sw $a0, 0x38($sp) -/* 0C2004 800C1404 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C2008 800C1408 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C200C 800C140C 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f -/* 0C2010 800C1410 03A0F025 */ move $fp, $sp -/* 0C2014 800C1414 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0) -/* 0C2018 800C1418 27A50034 */ addiu $a1, $sp, 0x34 -/* 0C201C 800C141C 0C0335D4 */ jal osRecvMesg -/* 0C2020 800C1420 00003025 */ move $a2, $zero -/* 0C2024 800C1424 3C04800F */ lui $a0, %hi(D_800EA3B0) # $a0, 0x800f -/* 0C2028 800C1428 8C84A3B0 */ lw $a0, %lo(D_800EA3B0)($a0) -/* 0C202C 800C142C 8FC50038 */ lw $a1, 0x38($fp) -/* 0C2030 800C1430 0C033630 */ jal osSendMesg -/* 0C2034 800C1434 00003025 */ move $a2, $zero -/* 0C2038 800C1438 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f -/* 0C203C 800C143C 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0) -/* 0C2040 800C1440 27C50034 */ addiu $a1, $fp, 0x34 -/* 0C2044 800C1444 0C0335D4 */ jal osRecvMesg -/* 0C2048 800C1448 24060001 */ li $a2, 1 -/* 0C204C 800C144C 8FCE0034 */ lw $t6, 0x34($fp) -/* 0C2050 800C1450 8FCF0038 */ lw $t7, 0x38($fp) -/* 0C2054 800C1454 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f -/* 0C2058 800C1458 27C50034 */ addiu $a1, $fp, 0x34 -/* 0C205C 800C145C 11CF0003 */ beq $t6, $t7, .L800C146C -/* 0C2060 800C1460 24060001 */ li $a2, 1 -/* 0C2064 800C1464 0C0335D4 */ jal osRecvMesg -/* 0C2068 800C1468 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0) -.L800C146C: -/* 0C206C 800C146C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C2070 800C1470 03C0E825 */ move $sp, $fp -/* 0C2074 800C1474 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C2078 800C1478 03E00008 */ jr $ra -/* 0C207C 800C147C 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800C1480 -/* 0C2080 800C1480 308E00FF */ andi $t6, $a0, 0xff -/* 0C2084 800C1484 30AF00FF */ andi $t7, $a1, 0xff -/* 0C2088 800C1488 000FC880 */ sll $t9, $t7, 2 -/* 0C208C 800C148C 000EC100 */ sll $t8, $t6, 4 -/* 0C2090 800C1490 030EC023 */ subu $t8, $t8, $t6 -/* 0C2094 800C1494 032FC823 */ subu $t9, $t9, $t7 -/* 0C2098 800C1498 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C209C 800C149C 0019C900 */ sll $t9, $t9, 4 -/* 0C20A0 800C14A0 0018C180 */ sll $t8, $t8, 6 -/* 0C20A4 800C14A4 3C098019 */ lui $t1, %hi(D_80191420) # $t1, 0x8019 -/* 0C20A8 800C14A8 25291420 */ addiu $t1, %lo(D_80191420) # addiu $t1, $t1, 0x1420 -/* 0C20AC 800C14AC 03194021 */ addu $t0, $t8, $t9 -/* 0C20B0 800C14B0 ADA40010 */ sw $a0, 0x10($t5) -/* 0C20B4 800C14B4 ADA50014 */ sw $a1, 0x14($t5) -/* 0C20B8 800C14B8 01091021 */ addu $v0, $t0, $t1 -/* 0C20BC 800C14BC 8C430024 */ lw $v1, 0x24($v0) -/* 0C20C0 800C14C0 3C0144FA */ li $at, 0x44FA0000 # 2000.000000 -/* 0C20C4 800C14C4 01A0E825 */ move $sp, $t5 -/* 0C20C8 800C14C8 00035240 */ sll $t2, $v1, 9 -/* 0C20CC 800C14CC 05430006 */ bgezl $t2, .L800C14E8 -/* 0C20D0 800C14D0 44817000 */ mtc1 $at, $f14 -/* 0C20D4 800C14D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C20D8 800C14D8 44810000 */ mtc1 $at, $f0 -/* 0C20DC 800C14DC 1000003A */ b .L800C15C8 -/* 0C20E0 800C14E0 00000000 */ nop -/* 0C20E4 800C14E4 44817000 */ mtc1 $at, $f14 -.L800C14E8: -/* 0C20E8 800C14E8 C440001C */ lwc1 $f0, 0x1c($v0) -/* 0C20EC 800C14EC 3C040003 */ lui $a0, 3 -/* 0C20F0 800C14F0 00641024 */ and $v0, $v1, $a0 -/* 0C20F4 800C14F4 4600703C */ c.lt.s $f14, $f0 -/* 0C20F8 800C14F8 3C010001 */ lui $at, 1 -/* 0C20FC 800C14FC 45000004 */ bc1f .L800C1510 -/* 0C2100 800C1500 00000000 */ nop -/* 0C2104 800C1504 44801000 */ mtc1 $zero, $f2 -/* 0C2108 800C1508 1000002F */ b .L800C15C8 -/* 0C210C 800C150C 46001006 */ mov.s $f0, $f2 -.L800C1510: -/* 0C2110 800C1510 10410007 */ beq $v0, $at, .L800C1530 -/* 0C2114 800C1514 3C010002 */ lui $at, 2 -/* 0C2118 800C1518 10410007 */ beq $v0, $at, .L800C1538 -/* 0C211C 800C151C 00000000 */ nop -/* 0C2120 800C1520 50440008 */ beql $v0, $a0, .L800C1544 -/* 0C2124 800C1524 240203E8 */ li $v0, 1000 -/* 0C2128 800C1528 10000006 */ b .L800C1544 -/* 0C212C 800C152C 24020190 */ li $v0, 400 -.L800C1530: -/* 0C2130 800C1530 10000004 */ b .L800C1544 -/* 0C2134 800C1534 240201F4 */ li $v0, 500 -.L800C1538: -/* 0C2138 800C1538 10000002 */ b .L800C1544 -/* 0C213C 800C153C 2402029A */ li $v0, 666 -/* 0C2140 800C1540 240203E8 */ li $v0, 1000 -.L800C1544: -/* 0C2144 800C1544 44822000 */ mtc1 $v0, $f4 -/* 0C2148 800C1548 00000000 */ nop -/* 0C214C 800C154C 46802320 */ cvt.s.w $f12, $f4 -/* 0C2150 800C1550 460C003C */ c.lt.s $f0, $f12 -/* 0C2154 800C1554 00000000 */ nop -/* 0C2158 800C1558 4502000C */ bc1fl .L800C158C -/* 0C215C 800C155C 460C0181 */ sub.s $f6, $f0, $f12 -/* 0C2160 800C1560 46006181 */ sub.s $f6, $f12, $f0 -/* 0C2164 800C1564 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 0C2168 800C1568 44818800 */ mtc1 $at, $f17 -/* 0C216C 800C156C 44808000 */ mtc1 $zero, $f16 -/* 0C2170 800C1570 460C3203 */ div.s $f8, $f6, $f12 -/* 0C2174 800C1574 460042A1 */ cvt.d.s $f10, $f8 -/* 0C2178 800C1578 46305482 */ mul.d $f18, $f10, $f16 -/* 0C217C 800C157C 46309100 */ add.d $f4, $f18, $f16 -/* 0C2180 800C1580 1000000E */ b .L800C15BC -/* 0C2184 800C1584 462020A0 */ cvt.s.d $f2, $f4 -/* 0C2188 800C1588 460C0181 */ sub.s $f6, $f0, $f12 -.L800C158C: -/* 0C218C 800C158C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 0C2190 800C1590 44818800 */ mtc1 $at, $f17 -/* 0C2194 800C1594 460C7201 */ sub.s $f8, $f14, $f12 -/* 0C2198 800C1598 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0C219C 800C159C 44812800 */ mtc1 $at, $f5 -/* 0C21A0 800C15A0 44802000 */ mtc1 $zero, $f4 -/* 0C21A4 800C15A4 46083283 */ div.s $f10, $f6, $f8 -/* 0C21A8 800C15A8 44808000 */ mtc1 $zero, $f16 -/* 0C21AC 800C15AC 460054A1 */ cvt.d.s $f18, $f10 -/* 0C21B0 800C15B0 46322181 */ sub.d $f6, $f4, $f18 -/* 0C21B4 800C15B4 46303202 */ mul.d $f8, $f6, $f16 -/* 0C21B8 800C15B8 462040A0 */ cvt.s.d $f2, $f8 -.L800C15BC: -/* 0C21BC 800C15BC 46021082 */ mul.s $f2, $f2, $f2 -/* 0C21C0 800C15C0 00000000 */ nop -/* 0C21C4 800C15C4 46001006 */ mov.s $f0, $f2 -.L800C15C8: -/* 0C21C8 800C15C8 03E00008 */ jr $ra -/* 0C21CC 800C15CC 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C15D0 -/* 0C21D0 800C15D0 308E00FF */ andi $t6, $a0, 0xff -/* 0C21D4 800C15D4 30AF00FF */ andi $t7, $a1, 0xff -/* 0C21D8 800C15D8 000F4080 */ sll $t0, $t7, 2 -/* 0C21DC 800C15DC 000EC900 */ sll $t9, $t6, 4 -/* 0C21E0 800C15E0 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C21E4 800C15E4 032EC823 */ subu $t9, $t9, $t6 -/* 0C21E8 800C15E8 010F4023 */ subu $t0, $t0, $t7 -/* 0C21EC 800C15EC 00084100 */ sll $t0, $t0, 4 -/* 0C21F0 800C15F0 0019C980 */ sll $t9, $t9, 6 -/* 0C21F4 800C15F4 3C0A8019 */ lui $t2, %hi(D_80191420) # $t2, 0x8019 -/* 0C21F8 800C15F8 254A1420 */ addiu $t2, %lo(D_80191420) # addiu $t2, $t2, 0x1420 -/* 0C21FC 800C15FC 03284821 */ addu $t1, $t9, $t0 -/* 0C2200 800C1600 ADA40010 */ sw $a0, 0x10($t5) -/* 0C2204 800C1604 ADA50014 */ sw $a1, 0x14($t5) -/* 0C2208 800C1608 ADA60018 */ sw $a2, 0x18($t5) -/* 0C220C 800C160C 012A3821 */ addu $a3, $t1, $t2 -/* 0C2210 800C1610 8CEB0024 */ lw $t3, 0x24($a3) -/* 0C2214 800C1614 30D800FF */ andi $t8, $a2, 0xff -/* 0C2218 800C1618 03003025 */ move $a2, $t8 -/* 0C221C 800C161C 000B6280 */ sll $t4, $t3, 0xa -/* 0C2220 800C1620 00001025 */ move $v0, $zero -/* 0C2224 800C1624 05800014 */ bltz $t4, .L800C1678 -/* 0C2228 800C1628 00001825 */ move $v1, $zero -/* 0C222C 800C162C 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -/* 0C2230 800C1630 44811000 */ mtc1 $at, $f2 -/* 0C2234 800C1634 C4E0001C */ lwc1 $f0, 0x1c($a3) -/* 0C2238 800C1638 2402000A */ li $v0, 10 -/* 0C223C 800C163C 4602003C */ c.lt.s $f0, $f2 -/* 0C2240 800C1640 00000000 */ nop -/* 0C2244 800C1644 4500000C */ bc1f .L800C1678 -/* 0C2248 800C1648 00000000 */ nop -/* 0C224C 800C164C 46020103 */ div.s $f4, $f0, $f2 -/* 0C2250 800C1650 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0C2254 800C1654 44813000 */ mtc1 $at, $f6 -/* 0C2258 800C1658 00000000 */ nop -/* 0C225C 800C165C 46062202 */ mul.s $f8, $f4, $f6 -/* 0C2260 800C1660 4600428D */ trunc.w.s $f10, $f8 -/* 0C2264 800C1664 44025000 */ mfc1 $v0, $f10 -/* 0C2268 800C1668 00000000 */ nop -/* 0C226C 800C166C 00027E00 */ sll $t7, $v0, 0x18 -/* 0C2270 800C1670 10000001 */ b .L800C1678 -/* 0C2274 800C1674 000F1603 */ sra $v0, $t7, 0x18 -.L800C1678: -/* 0C2278 800C1678 0006C880 */ sll $t9, $a2, 2 -/* 0C227C 800C167C 3C04803B */ lui $a0, %hi(D_803B17D0) # 0x803b -/* 0C2280 800C1680 00992021 */ addu $a0, $a0, $t9 -/* 0C2284 800C1684 8C8417D0 */ lw $a0, %lo(D_803B17D0)($a0) # 0x17d0($a0) -/* 0C2288 800C1688 3C08803B */ lui $t0, %hi(D_803B5EF0) # $t0, 0x803b -/* 0C228C 800C168C 25085EF0 */ addiu $t0, %lo(D_803B5EF0) # addiu $t0, $t0, 0x5ef0 -/* 0C2290 800C1690 11040002 */ beq $t0, $a0, .L800C169C -/* 0C2294 800C1694 2401FFFF */ li $at, -1 -/* 0C2298 800C1698 8083005E */ lb $v1, 0x5e($a0) -.L800C169C: -/* 0C229C 800C169C 14610002 */ bne $v1, $at, .L800C16A8 -/* 0C22A0 800C16A0 01A0E825 */ move $sp, $t5 -/* 0C22A4 800C16A4 00001825 */ move $v1, $zero -.L800C16A8: -/* 0C22A8 800C16A8 8CE90018 */ lw $t1, 0x18($a3) -/* 0C22AC 800C16AC 3C0E8019 */ lui $t6, %hi(D_8018EF10) # $t6, 0x8019 -/* 0C22B0 800C16B0 81CEEF10 */ lb $t6, %lo(D_8018EF10)($t6) -/* 0C22B4 800C16B4 812A0000 */ lb $t2, ($t1) -/* 0C22B8 800C16B8 25BD0010 */ addiu $sp, $t5, 0x10 -/* 0C22BC 800C16BC 01425821 */ addu $t3, $t2, $v0 -/* 0C22C0 800C16C0 01636021 */ addu $t4, $t3, $v1 -/* 0C22C4 800C16C4 018E2021 */ addu $a0, $t4, $t6 -/* 0C22C8 800C16C8 28810080 */ slti $at, $a0, 0x80 -/* 0C22CC 800C16CC 54200003 */ bnel $at, $zero, .L800C16DC -/* 0C22D0 800C16D0 00041600 */ sll $v0, $a0, 0x18 -/* 0C22D4 800C16D4 2404007F */ li $a0, 127 -/* 0C22D8 800C16D8 00041600 */ sll $v0, $a0, 0x18 -.L800C16DC: -/* 0C22DC 800C16DC 00027E03 */ sra $t7, $v0, 0x18 -/* 0C22E0 800C16E0 03E00008 */ jr $ra -/* 0C22E4 800C16E4 01E01025 */ move $v0, $t7 - -glabel func_800C16E8 -/* 0C22E8 800C16E8 27ADFFE8 */ addiu $t5, $sp, -0x18 -/* 0C22EC 800C16EC F5B40010 */ sdc1 $f20, 0x10($t5) -/* 0C22F0 800C16F0 E5AE001C */ swc1 $f14, 0x1c($t5) -/* 0C22F4 800C16F4 ADA60020 */ sw $a2, 0x20($t5) -/* 0C22F8 800C16F8 3C0F800F */ lui $t7, %hi(D_800EA1C0) # $t7, 0x800f -/* 0C22FC 800C16FC 91EFA1C0 */ lbu $t7, %lo(D_800EA1C0)($t7) -/* 0C2300 800C1700 30CE00FF */ andi $t6, $a2, 0xff -/* 0C2304 800C1704 01C03025 */ move $a2, $t6 -/* 0C2308 800C1708 15E00082 */ bnez $t7, .L800C1914 -/* 0C230C 800C170C 01A0E825 */ move $sp, $t5 -/* 0C2310 800C1710 3C18800F */ lui $t8, %hi(D_800EA0F4) # $t8, 0x800f -/* 0C2314 800C1714 9318A0F4 */ lbu $t8, %lo(D_800EA0F4)($t8) -/* 0C2318 800C1718 44802000 */ mtc1 $zero, $f4 -/* 0C231C 800C171C 44804000 */ mtc1 $zero, $f8 -/* 0C2320 800C1720 44805000 */ mtc1 $zero, $f10 -/* 0C2324 800C1724 13000009 */ beqz $t8, .L800C174C -/* 0C2328 800C1728 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0C232C 800C172C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0C2330 800C1730 44818000 */ mtc1 $at, $f16 -/* 0C2334 800C1734 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0C2338 800C1738 44817000 */ mtc1 $at, $f14 -/* 0C233C 800C173C 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 0C2340 800C1740 44819000 */ mtc1 $at, $f18 -/* 0C2344 800C1744 10000008 */ b .L800C1768 -/* 0C2348 800C1748 46008086 */ mov.s $f2, $f16 -.L800C174C: -/* 0C234C 800C174C 44811000 */ mtc1 $at, $f2 -/* 0C2350 800C1750 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0C2354 800C1754 44817000 */ mtc1 $at, $f14 -/* 0C2358 800C1758 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C235C 800C175C 44818000 */ mtc1 $at, $f16 -/* 0C2360 800C1760 3C01800F */ lui $at, %hi(D_800F35C0) # $at, 0x800f -/* 0C2364 800C1764 C43235C0 */ lwc1 $f18, %lo(D_800F35C0)($at) -.L800C1768: -/* 0C2368 800C1768 4604603C */ c.lt.s $f12, $f4 -/* 0C236C 800C176C 00000000 */ nop -/* 0C2370 800C1770 45020004 */ bc1fl .L800C1784 -/* 0C2374 800C1774 46006506 */ mov.s $f20, $f12 -/* 0C2378 800C1778 10000002 */ b .L800C1784 -/* 0C237C 800C177C 46006507 */ neg.s $f20, $f12 -/* 0C2380 800C1780 46006506 */ mov.s $f20, $f12 -.L800C1784: -/* 0C2384 800C1784 4614103C */ c.lt.s $f2, $f20 -/* 0C2388 800C1788 00000000 */ nop -/* 0C238C 800C178C 45020003 */ bc1fl .L800C179C -/* 0C2390 800C1790 C5A6001C */ lwc1 $f6, 0x1c($t5) -/* 0C2394 800C1794 46001506 */ mov.s $f20, $f2 -/* 0C2398 800C1798 C5A6001C */ lwc1 $f6, 0x1c($t5) -.L800C179C: -/* 0C239C 800C179C 4608303C */ c.lt.s $f6, $f8 -/* 0C23A0 800C17A0 00000000 */ nop -/* 0C23A4 800C17A4 45020004 */ bc1fl .L800C17B8 -/* 0C23A8 800C17A8 C5A0001C */ lwc1 $f0, 0x1c($t5) -/* 0C23AC 800C17AC 10000002 */ b .L800C17B8 -/* 0C23B0 800C17B0 46003007 */ neg.s $f0, $f6 -/* 0C23B4 800C17B4 C5A0001C */ lwc1 $f0, 0x1c($t5) -.L800C17B8: -/* 0C23B8 800C17B8 4600103C */ c.lt.s $f2, $f0 -/* 0C23BC 800C17BC 00000000 */ nop -/* 0C23C0 800C17C0 45020003 */ bc1fl .L800C17D0 -/* 0C23C4 800C17C4 460A6032 */ c.eq.s $f12, $f10 -/* 0C23C8 800C17C8 46001006 */ mov.s $f0, $f2 -/* 0C23CC 800C17CC 460A6032 */ c.eq.s $f12, $f10 -.L800C17D0: -/* 0C23D0 800C17D0 00000000 */ nop -/* 0C23D4 800C17D4 4502000E */ bc1fl .L800C1810 -/* 0C23D8 800C17D8 44803000 */ mtc1 $zero, $f6 -/* 0C23DC 800C17DC C5A4001C */ lwc1 $f4, 0x1c($t5) -/* 0C23E0 800C17E0 44804000 */ mtc1 $zero, $f8 -/* 0C23E4 800C17E4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C23E8 800C17E8 46082032 */ c.eq.s $f4, $f8 -/* 0C23EC 800C17EC 00000000 */ nop -/* 0C23F0 800C17F0 45020007 */ bc1fl .L800C1810 -/* 0C23F4 800C17F4 44803000 */ mtc1 $zero, $f6 -/* 0C23F8 800C17F8 44811000 */ mtc1 $at, $f2 -/* 0C23FC 800C17FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2400 800C1800 44816000 */ mtc1 $at, $f12 -/* 0C2404 800C1804 1000002C */ b .L800C18B8 -/* 0C2408 800C1808 4602603C */ c.lt.s $f12, $f2 -/* 0C240C 800C180C 44803000 */ mtc1 $zero, $f6 -.L800C1810: -/* 0C2410 800C1810 00000000 */ nop -/* 0C2414 800C1814 460C303E */ c.le.s $f6, $f12 -/* 0C2418 800C1818 00000000 */ nop -/* 0C241C 800C181C 4502000E */ bc1fl .L800C1858 -/* 0C2420 800C1820 44802000 */ mtc1 $zero, $f4 -/* 0C2424 800C1824 4614003E */ c.le.s $f0, $f20 -/* 0C2428 800C1828 00000000 */ nop -/* 0C242C 800C182C 4502000A */ bc1fl .L800C1858 -/* 0C2430 800C1830 44802000 */ mtc1 $zero, $f4 -/* 0C2434 800C1834 46007101 */ sub.s $f4, $f14, $f0 -/* 0C2438 800C1838 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C243C 800C183C 44816000 */ mtc1 $at, $f12 -/* 0C2440 800C1840 46147281 */ sub.s $f10, $f14, $f20 -/* 0C2444 800C1844 46048202 */ mul.s $f8, $f16, $f4 -/* 0C2448 800C1848 46085183 */ div.s $f6, $f10, $f8 -/* 0C244C 800C184C 10000019 */ b .L800C18B4 -/* 0C2450 800C1850 46066081 */ sub.s $f2, $f12, $f6 -/* 0C2454 800C1854 44802000 */ mtc1 $zero, $f4 -.L800C1858: -/* 0C2458 800C1858 00000000 */ nop -/* 0C245C 800C185C 4604603C */ c.lt.s $f12, $f4 -/* 0C2460 800C1860 00000000 */ nop -/* 0C2464 800C1864 4500000C */ bc1f .L800C1898 -/* 0C2468 800C1868 00000000 */ nop -/* 0C246C 800C186C 4614003E */ c.le.s $f0, $f20 -/* 0C2470 800C1870 00000000 */ nop -/* 0C2474 800C1874 45000008 */ bc1f .L800C1898 -/* 0C2478 800C1878 00000000 */ nop -/* 0C247C 800C187C 46007201 */ sub.s $f8, $f14, $f0 -/* 0C2480 800C1880 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2484 800C1884 44816000 */ mtc1 $at, $f12 -/* 0C2488 800C1888 46147281 */ sub.s $f10, $f14, $f20 -/* 0C248C 800C188C 46088182 */ mul.s $f6, $f16, $f8 -/* 0C2490 800C1890 10000008 */ b .L800C18B4 -/* 0C2494 800C1894 46065083 */ div.s $f2, $f10, $f6 -.L800C1898: -/* 0C2498 800C1898 46009102 */ mul.s $f4, $f18, $f0 -/* 0C249C 800C189C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C24A0 800C18A0 44815000 */ mtc1 $at, $f10 -/* 0C24A4 800C18A4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C24A8 800C18A8 46046203 */ div.s $f8, $f12, $f4 -/* 0C24AC 800C18AC 44816000 */ mtc1 $at, $f12 -/* 0C24B0 800C18B0 460A4080 */ add.s $f2, $f8, $f10 -.L800C18B4: -/* 0C24B4 800C18B4 4602603C */ c.lt.s $f12, $f2 -.L800C18B8: -/* 0C24B8 800C18B8 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C24BC 800C18BC 44803000 */ mtc1 $zero, $f6 -/* 0C24C0 800C18C0 44812000 */ mtc1 $at, $f4 -/* 0C24C4 800C18C4 45020003 */ bc1fl .L800C18D4 -/* 0C24C8 800C18C8 4606103C */ c.lt.s $f2, $f6 -/* 0C24CC 800C18CC 46006086 */ mov.s $f2, $f12 -/* 0C24D0 800C18D0 4606103C */ c.lt.s $f2, $f6 -.L800C18D4: -/* 0C24D4 800C18D4 00000000 */ nop -/* 0C24D8 800C18D8 45000003 */ bc1f .L800C18E8 -/* 0C24DC 800C18DC 00000000 */ nop -/* 0C24E0 800C18E0 44801000 */ mtc1 $zero, $f2 -/* 0C24E4 800C18E4 00000000 */ nop -.L800C18E8: -/* 0C24E8 800C18E8 46041202 */ mul.s $f8, $f2, $f4 -/* 0C24EC 800C18EC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C24F0 800C18F0 44815000 */ mtc1 $at, $f10 -/* 0C24F4 800C18F4 00000000 */ nop -/* 0C24F8 800C18F8 460A4180 */ add.s $f6, $f8, $f10 -/* 0C24FC 800C18FC 4600310D */ trunc.w.s $f4, $f6 -/* 0C2500 800C1900 44022000 */ mfc1 $v0, $f4 -/* 0C2504 800C1904 00000000 */ nop -/* 0C2508 800C1908 00024600 */ sll $t0, $v0, 0x18 -/* 0C250C 800C190C 10000006 */ b .L800C1928 -/* 0C2510 800C1910 00081603 */ sra $v0, $t0, 0x18 -.L800C1914: -/* 0C2514 800C1914 30C20001 */ andi $v0, $a2, 1 -/* 0C2518 800C1918 000251C0 */ sll $t2, $v0, 7 -/* 0C251C 800C191C 01425023 */ subu $t2, $t2, $v0 -/* 0C2520 800C1920 000A5E00 */ sll $t3, $t2, 0x18 -/* 0C2524 800C1924 000B1603 */ sra $v0, $t3, 0x18 -.L800C1928: -/* 0C2528 800C1928 D5B40010 */ ldc1 $f20, 0x10($t5) -/* 0C252C 800C192C 03E00008 */ jr $ra -/* 0C2530 800C1930 25BD0018 */ addiu $sp, $t5, 0x18 - -glabel func_800C1934 -/* 0C2534 800C1934 308E00FF */ andi $t6, $a0, 0xff -/* 0C2538 800C1938 30AF00FF */ andi $t7, $a1, 0xff -/* 0C253C 800C193C 000FC880 */ sll $t9, $t7, 2 -/* 0C2540 800C1940 000EC100 */ sll $t8, $t6, 4 -/* 0C2544 800C1944 030EC023 */ subu $t8, $t8, $t6 -/* 0C2548 800C1948 032FC823 */ subu $t9, $t9, $t7 -/* 0C254C 800C194C 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C2550 800C1950 0019C900 */ sll $t9, $t9, 4 -/* 0C2554 800C1954 0018C180 */ sll $t8, $t8, 6 -/* 0C2558 800C1958 03194021 */ addu $t0, $t8, $t9 -/* 0C255C 800C195C 3C098019 */ lui $t1, %hi(D_80191444) # 0x8019 -/* 0C2560 800C1960 ADA40010 */ sw $a0, 0x10($t5) -/* 0C2564 800C1964 ADA50014 */ sw $a1, 0x14($t5) -/* 0C2568 800C1968 01284821 */ addu $t1, $t1, $t0 -/* 0C256C 800C196C 8D291444 */ lw $t1, %lo(D_80191444)($t1) # 0x1444($t1) -/* 0C2570 800C1970 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2574 800C1974 44810000 */ mtc1 $at, $f0 -/* 0C2578 800C1978 00095200 */ sll $t2, $t1, 8 -/* 0C257C 800C197C 05410010 */ bgez $t2, .L800C19C0 -/* 0C2580 800C1980 46000086 */ mov.s $f2, $f0 -/* 0C2584 800C1984 3C0B803B */ lui $t3, %hi(D_803B7194) # $t3, 0x803b -/* 0C2588 800C1988 8D6B7194 */ lw $t3, %lo(D_803B7194)($t3) -/* 0C258C 800C198C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C2590 800C1990 316C000F */ andi $t4, $t3, 0xf -/* 0C2594 800C1994 448C2000 */ mtc1 $t4, $f4 -/* 0C2598 800C1998 05810004 */ bgez $t4, .L800C19AC -/* 0C259C 800C199C 468021A0 */ cvt.s.w $f6, $f4 -/* 0C25A0 800C19A0 44814000 */ mtc1 $at, $f8 -/* 0C25A4 800C19A4 00000000 */ nop -/* 0C25A8 800C19A8 46083180 */ add.s $f6, $f6, $f8 -.L800C19AC: -/* 0C25AC 800C19AC 3C014340 */ li $at, 0x43400000 # 192.000000 -/* 0C25B0 800C19B0 44815000 */ mtc1 $at, $f10 -/* 0C25B4 800C19B4 00000000 */ nop -/* 0C25B8 800C19B8 460A3403 */ div.s $f16, $f6, $f10 -/* 0C25BC 800C19BC 46100081 */ sub.s $f2, $f0, $f16 -.L800C19C0: -/* 0C25C0 800C19C0 01A0E825 */ move $sp, $t5 -/* 0C25C4 800C19C4 25BD0010 */ addiu $sp, $t5, 0x10 -/* 0C25C8 800C19C8 03E00008 */ jr $ra -/* 0C25CC 800C19CC 46001006 */ mov.s $f0, $f2 - -glabel func_800C19D0 -/* 0C25D0 800C19D0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C25D4 800C19D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C25D8 800C19D8 44810000 */ mtc1 $at, $f0 -/* 0C25DC 800C19DC 308E00FF */ andi $t6, $a0, 0xff -/* 0C25E0 800C19E0 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C25E4 800C19E4 AFA40040 */ sw $a0, 0x40($sp) -/* 0C25E8 800C19E8 240F0040 */ li $t7, 64 -/* 0C25EC 800C19EC 2DC10006 */ sltiu $at, $t6, 6 -/* 0C25F0 800C19F0 01C02025 */ move $a0, $t6 -/* 0C25F4 800C19F4 03A0F025 */ move $fp, $sp -/* 0C25F8 800C19F8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C25FC 800C19FC AFB00024 */ sw $s0, 0x24($sp) -/* 0C2600 800C1A00 AFA50044 */ sw $a1, 0x44($sp) -/* 0C2604 800C1A04 AFA60048 */ sw $a2, 0x48($sp) -/* 0C2608 800C1A08 A3A0003B */ sb $zero, 0x3b($sp) -/* 0C260C 800C1A0C A3AF0033 */ sb $t7, 0x33($sp) -/* 0C2610 800C1A10 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 0C2614 800C1A14 10200035 */ beqz $at, .L800C1AEC -/* 0C2618 800C1A18 E7A00034 */ swc1 $f0, 0x34($sp) -/* 0C261C 800C1A1C 000EC080 */ sll $t8, $t6, 2 -/* 0C2620 800C1A20 3C01800F */ lui $at, %hi(D_800F35C4) -/* 0C2624 800C1A24 00380821 */ addu $at, $at, $t8 -/* 0C2628 800C1A28 8C3835C4 */ lw $t8, %lo(D_800F35C4)($at) -/* 0C262C 800C1A2C 03000008 */ jr $t8 -/* 0C2630 800C1A30 00000000 */ nop -glabel L800C1A34 -/* 0C2634 800C1A34 93C80047 */ lbu $t0, 0x47($fp) -/* 0C2638 800C1A38 0004C900 */ sll $t9, $a0, 4 -/* 0C263C 800C1A3C 0324C823 */ subu $t9, $t9, $a0 -/* 0C2640 800C1A40 00084880 */ sll $t1, $t0, 2 -/* 0C2644 800C1A44 01284823 */ subu $t1, $t1, $t0 -/* 0C2648 800C1A48 00094900 */ sll $t1, $t1, 4 -/* 0C264C 800C1A4C 0019C980 */ sll $t9, $t9, 6 -/* 0C2650 800C1A50 3C0B8019 */ lui $t3, %hi(D_80191420) # $t3, 0x8019 -/* 0C2654 800C1A54 256B1420 */ addiu $t3, %lo(D_80191420) # addiu $t3, $t3, 0x1420 -/* 0C2658 800C1A58 03295021 */ addu $t2, $t9, $t1 -/* 0C265C 800C1A5C 014B8021 */ addu $s0, $t2, $t3 -/* 0C2660 800C1A60 C60C001C */ lwc1 $f12, 0x1c($s0) -/* 0C2664 800C1A64 0C033850 */ jal sqrtf -/* 0C2668 800C1A68 A3C40043 */ sb $a0, 0x43($fp) -/* 0C266C 800C1A6C E600001C */ swc1 $f0, 0x1c($s0) -/* 0C2670 800C1A70 93C50047 */ lbu $a1, 0x47($fp) -/* 0C2674 800C1A74 0C030520 */ jal func_800C1480 -/* 0C2678 800C1A78 93C40043 */ lbu $a0, 0x43($fp) -/* 0C267C 800C1A7C 8E0D0014 */ lw $t5, 0x14($s0) -/* 0C2680 800C1A80 93C40043 */ lbu $a0, 0x43($fp) -/* 0C2684 800C1A84 3C018019 */ lui $at, %hi(D_80192C48) -/* 0C2688 800C1A88 C5A60000 */ lwc1 $f6, ($t5) -/* 0C268C 800C1A8C 00046100 */ sll $t4, $a0, 4 -/* 0C2690 800C1A90 002C0821 */ addu $at, $at, $t4 -/* 0C2694 800C1A94 46060202 */ mul.s $f8, $f0, $f6 -/* 0C2698 800C1A98 C4242C48 */ lwc1 $f4, %lo(D_80192C48)($at) -/* 0C269C 800C1A9C 93C50047 */ lbu $a1, 0x47($fp) -/* 0C26A0 800C1AA0 93C6004B */ lbu $a2, 0x4b($fp) -/* 0C26A4 800C1AA4 46082282 */ mul.s $f10, $f4, $f8 -/* 0C26A8 800C1AA8 0C030574 */ jal func_800C15D0 -/* 0C26AC 800C1AAC E7CA003C */ swc1 $f10, 0x3c($fp) -/* 0C26B0 800C1AB0 A3C2003B */ sb $v0, 0x3b($fp) -/* 0C26B4 800C1AB4 93C40043 */ lbu $a0, 0x43($fp) -/* 0C26B8 800C1AB8 0C03064D */ jal func_800C1934 -/* 0C26BC 800C1ABC 93C50047 */ lbu $a1, 0x47($fp) -/* 0C26C0 800C1AC0 8E0E0010 */ lw $t6, 0x10($s0) -/* 0C26C4 800C1AC4 C5D00000 */ lwc1 $f16, ($t6) -/* 0C26C8 800C1AC8 46008482 */ mul.s $f18, $f16, $f0 -/* 0C26CC 800C1ACC E7D20034 */ swc1 $f18, 0x34($fp) -/* 0C26D0 800C1AD0 8E180008 */ lw $t8, 8($s0) -/* 0C26D4 800C1AD4 8E0F0000 */ lw $t7, ($s0) -/* 0C26D8 800C1AD8 9206000C */ lbu $a2, 0xc($s0) -/* 0C26DC 800C1ADC C70E0000 */ lwc1 $f14, ($t8) -/* 0C26E0 800C1AE0 0C0305BA */ jal func_800C16E8 -/* 0C26E4 800C1AE4 C5EC0000 */ lwc1 $f12, ($t7) -/* 0C26E8 800C1AE8 A3C20033 */ sb $v0, 0x33($fp) -.L800C1AEC: -glabel L800C1AEC -/* 0C26EC 800C1AEC 93C8004B */ lbu $t0, 0x4b($fp) -/* 0C26F0 800C1AF0 3C098019 */ lui $t1, %hi(D_8018EF18) # $t1, 0x8019 -/* 0C26F4 800C1AF4 2529EF18 */ addiu $t1, %lo(D_8018EF18) # addiu $t1, $t1, -0x10e8 -/* 0C26F8 800C1AF8 0008C880 */ sll $t9, $t0, 2 -/* 0C26FC 800C1AFC 0328C823 */ subu $t9, $t9, $t0 -/* 0C2700 800C1B00 0019C880 */ sll $t9, $t9, 2 -/* 0C2704 800C1B04 03298021 */ addu $s0, $t9, $t1 -/* 0C2708 800C1B08 C6040000 */ lwc1 $f4, ($s0) -/* 0C270C 800C1B0C C7C6003C */ lwc1 $f6, 0x3c($fp) -/* 0C2710 800C1B10 310400FF */ andi $a0, $t0, 0xff -/* 0C2714 800C1B14 00045200 */ sll $t2, $a0, 8 -/* 0C2718 800C1B18 46043032 */ c.eq.s $f6, $f4 -/* 0C271C 800C1B1C 3C010602 */ lui $at, 0x602 -/* 0C2720 800C1B20 01415825 */ or $t3, $t2, $at -/* 0C2724 800C1B24 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C2728 800C1B28 4503002C */ bc1tl .L800C1BDC -/* 0C272C 800C1B2C 83D9003B */ lb $t9, 0x3b($fp) -/* 0C2730 800C1B30 44814000 */ mtc1 $at, $f8 -/* 0C2734 800C1B34 24050001 */ li $a1, 1 -/* 0C2738 800C1B38 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C273C 800C1B3C 46083282 */ mul.s $f10, $f6, $f8 -/* 0C2740 800C1B40 35640003 */ ori $a0, $t3, 3 -/* 0C2744 800C1B44 444DF800 */ cfc1 $t5, $31 -/* 0C2748 800C1B48 44C5F800 */ ctc1 $a1, $31 -/* 0C274C 800C1B4C 00000000 */ nop -/* 0C2750 800C1B50 46005424 */ cvt.w.s $f16, $f10 -/* 0C2754 800C1B54 4445F800 */ cfc1 $a1, $31 -/* 0C2758 800C1B58 00000000 */ nop -/* 0C275C 800C1B5C 30A50078 */ andi $a1, $a1, 0x78 -/* 0C2760 800C1B60 50A00013 */ beql $a1, $zero, .L800C1BB0 -/* 0C2764 800C1B64 44058000 */ mfc1 $a1, $f16 -/* 0C2768 800C1B68 44818000 */ mtc1 $at, $f16 -/* 0C276C 800C1B6C 24050001 */ li $a1, 1 -/* 0C2770 800C1B70 46105401 */ sub.s $f16, $f10, $f16 -/* 0C2774 800C1B74 44C5F800 */ ctc1 $a1, $31 -/* 0C2778 800C1B78 00000000 */ nop -/* 0C277C 800C1B7C 46008424 */ cvt.w.s $f16, $f16 -/* 0C2780 800C1B80 4445F800 */ cfc1 $a1, $31 -/* 0C2784 800C1B84 00000000 */ nop -/* 0C2788 800C1B88 30A50078 */ andi $a1, $a1, 0x78 -/* 0C278C 800C1B8C 14A00005 */ bnez $a1, .L800C1BA4 -/* 0C2790 800C1B90 00000000 */ nop -/* 0C2794 800C1B94 44058000 */ mfc1 $a1, $f16 -/* 0C2798 800C1B98 3C018000 */ lui $at, 0x8000 -/* 0C279C 800C1B9C 10000007 */ b .L800C1BBC -/* 0C27A0 800C1BA0 00A12825 */ or $a1, $a1, $at -.L800C1BA4: -/* 0C27A4 800C1BA4 10000005 */ b .L800C1BBC -/* 0C27A8 800C1BA8 2405FFFF */ li $a1, -1 -/* 0C27AC 800C1BAC 44058000 */ mfc1 $a1, $f16 -.L800C1BB0: -/* 0C27B0 800C1BB0 00000000 */ nop -/* 0C27B4 800C1BB4 04A0FFFB */ bltz $a1, .L800C1BA4 -/* 0C27B8 800C1BB8 00000000 */ nop -.L800C1BBC: -/* 0C27BC 800C1BBC 00A07025 */ move $t6, $a1 -/* 0C27C0 800C1BC0 000E7E00 */ sll $t7, $t6, 0x18 -/* 0C27C4 800C1BC4 44CDF800 */ ctc1 $t5, $31 -/* 0C27C8 800C1BC8 0C032EFA */ jal func_800CBBE8 -/* 0C27CC 800C1BCC 000F2E03 */ sra $a1, $t7, 0x18 -/* 0C27D0 800C1BD0 C7D2003C */ lwc1 $f18, 0x3c($fp) -/* 0C27D4 800C1BD4 E6120000 */ swc1 $f18, ($s0) -/* 0C27D8 800C1BD8 83D9003B */ lb $t9, 0x3b($fp) -.L800C1BDC: -/* 0C27DC 800C1BDC 82090008 */ lb $t1, 8($s0) -/* 0C27E0 800C1BE0 5329000A */ beql $t9, $t1, .L800C1C0C -/* 0C27E4 800C1BE4 C7C40034 */ lwc1 $f4, 0x34($fp) -/* 0C27E8 800C1BE8 93C8004B */ lbu $t0, 0x4b($fp) -/* 0C27EC 800C1BEC 3C010502 */ lui $at, 0x502 -/* 0C27F0 800C1BF0 03202825 */ move $a1, $t9 -/* 0C27F4 800C1BF4 00085200 */ sll $t2, $t0, 8 -/* 0C27F8 800C1BF8 0C032EFA */ jal func_800CBBE8 -/* 0C27FC 800C1BFC 01412025 */ or $a0, $t2, $at -/* 0C2800 800C1C00 83CC003B */ lb $t4, 0x3b($fp) -/* 0C2804 800C1C04 A20C0008 */ sb $t4, 8($s0) -/* 0C2808 800C1C08 C7C40034 */ lwc1 $f4, 0x34($fp) -.L800C1C0C: -/* 0C280C 800C1C0C C6060004 */ lwc1 $f6, 4($s0) -/* 0C2810 800C1C10 46062032 */ c.eq.s $f4, $f6 -/* 0C2814 800C1C14 00000000 */ nop -/* 0C2818 800C1C18 4503000A */ bc1tl .L800C1C44 -/* 0C281C 800C1C1C 83D80033 */ lb $t8, 0x33($fp) -/* 0C2820 800C1C20 93CD004B */ lbu $t5, 0x4b($fp) -/* 0C2824 800C1C24 3C010402 */ lui $at, 0x402 -/* 0C2828 800C1C28 44052000 */ mfc1 $a1, $f4 -/* 0C282C 800C1C2C 000D7200 */ sll $t6, $t5, 8 -/* 0C2830 800C1C30 0C032EE2 */ jal func_800CBB88 -/* 0C2834 800C1C34 01C12025 */ or $a0, $t6, $at -/* 0C2838 800C1C38 C7C80034 */ lwc1 $f8, 0x34($fp) -/* 0C283C 800C1C3C E6080004 */ swc1 $f8, 4($s0) -/* 0C2840 800C1C40 83D80033 */ lb $t8, 0x33($fp) -.L800C1C44: -/* 0C2844 800C1C44 82090009 */ lb $t1, 9($s0) -/* 0C2848 800C1C48 5309000A */ beql $t8, $t1, .L800C1C74 -/* 0C284C 800C1C4C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C2850 800C1C50 93C8004B */ lbu $t0, 0x4b($fp) -/* 0C2854 800C1C54 3C010302 */ lui $at, 0x302 -/* 0C2858 800C1C58 03002825 */ move $a1, $t8 -/* 0C285C 800C1C5C 00085200 */ sll $t2, $t0, 8 -/* 0C2860 800C1C60 0C032EFA */ jal func_800CBBE8 -/* 0C2864 800C1C64 01412025 */ or $a0, $t2, $at -/* 0C2868 800C1C68 83D90033 */ lb $t9, 0x33($fp) -/* 0C286C 800C1C6C A2190009 */ sb $t9, 9($s0) -/* 0C2870 800C1C70 8FDF002C */ lw $ra, 0x2c($fp) -.L800C1C74: -/* 0C2874 800C1C74 03C0E825 */ move $sp, $fp -/* 0C2878 800C1C78 8FD00024 */ lw $s0, 0x24($fp) -/* 0C287C 800C1C7C 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C2880 800C1C80 03E00008 */ jr $ra -/* 0C2884 800C1C84 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800C1C88 -/* 0C2888 800C1C88 3C098019 */ lui $t1, %hi(D_8018FB90) # $t1, 0x8019 -/* 0C288C 800C1C8C 2529FB90 */ addiu $t1, %lo(D_8018FB90) # addiu $t1, $t1, -0x470 -/* 0C2890 800C1C90 91220000 */ lbu $v0, ($t1) -/* 0C2894 800C1C94 240A003C */ li $t2, 60 -/* 0C2898 800C1C98 3C088019 */ lui $t0, %hi(D_8018EFD8) # $t0, 0x8019 -/* 0C289C 800C1C9C 004A0019 */ multu $v0, $t2 -/* 0C28A0 800C1CA0 2508EFD8 */ addiu $t0, %lo(D_8018EFD8) # addiu $t0, $t0, -0x1028 -/* 0C28A4 800C1CA4 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C28A8 800C1CA8 AFA40010 */ sw $a0, 0x10($sp) -/* 0C28AC 800C1CAC 240100FF */ li $at, 255 -/* 0C28B0 800C1CB0 03A06825 */ move $t5, $sp -/* 0C28B4 800C1CB4 AFA50014 */ sw $a1, 0x14($sp) -/* 0C28B8 800C1CB8 AFA60018 */ sw $a2, 0x18($sp) -/* 0C28BC 800C1CBC 304400FF */ andi $a0, $v0, 0xff -/* 0C28C0 800C1CC0 00007012 */ mflo $t6 -/* 0C28C4 800C1CC4 010E1821 */ addu $v1, $t0, $t6 -/* 0C28C8 800C1CC8 906F002A */ lbu $t7, 0x2a($v1) -/* 0C28CC 800C1CCC 51E10032 */ beql $t7, $at, .L800C1D98 -/* 0C28D0 800C1CD0 00001025 */ move $v0, $zero -/* 0C28D4 800C1CD4 008A0019 */ multu $a0, $t2 -/* 0C28D8 800C1CD8 3C0B8019 */ lui $t3, %hi(D_8018FB91) # $t3, 0x8019 -/* 0C28DC 800C1CDC 256BFB91 */ addiu $t3, %lo(D_8018FB91) # addiu $t3, $t3, -0x46f -/* 0C28E0 800C1CE0 91660000 */ lbu $a2, ($t3) -/* 0C28E4 800C1CE4 240C00FF */ li $t4, 255 -/* 0C28E8 800C1CE8 44802000 */ mtc1 $zero, $f4 -/* 0C28EC 800C1CEC 0000C012 */ mflo $t8 -/* 0C28F0 800C1CF0 01182821 */ addu $a1, $t0, $t8 -/* 0C28F4 800C1CF4 A0A60029 */ sb $a2, 0x29($a1) -/* 0C28F8 800C1CF8 00CA0019 */ multu $a2, $t2 -/* 0C28FC 800C1CFC 0000C812 */ mflo $t9 -/* 0C2900 800C1D00 01197021 */ addu $t6, $t0, $t9 -/* 0C2904 800C1D04 A1C2002A */ sb $v0, 0x2a($t6) -/* 0C2908 800C1D08 906F002A */ lbu $t7, 0x2a($v1) -/* 0C290C 800C1D0C A1620000 */ sb $v0, ($t3) -/* 0C2910 800C1D10 00A01025 */ move $v0, $a1 -/* 0C2914 800C1D14 31F800FF */ andi $t8, $t7, 0xff -/* 0C2918 800C1D18 030A0019 */ multu $t8, $t2 -/* 0C291C 800C1D1C A12F0000 */ sb $t7, ($t1) -/* 0C2920 800C1D20 0000C812 */ mflo $t9 -/* 0C2924 800C1D24 01197021 */ addu $t6, $t0, $t9 -/* 0C2928 800C1D28 A1CC0029 */ sb $t4, 0x29($t6) -/* 0C292C 800C1D2C 8FB80014 */ lw $t8, 0x14($sp) -/* 0C2930 800C1D30 8FAF0014 */ lw $t7, 0x14($sp) -/* 0C2934 800C1D34 8FAE0014 */ lw $t6, 0x14($sp) -/* 0C2938 800C1D38 27190004 */ addiu $t9, $t8, 4 -/* 0C293C 800C1D3C ACB90004 */ sw $t9, 4($a1) -/* 0C2940 800C1D40 ACAF0000 */ sw $t7, ($a1) -/* 0C2944 800C1D44 8FB90018 */ lw $t9, 0x18($sp) -/* 0C2948 800C1D48 25CF0008 */ addiu $t7, $t6, 8 -/* 0C294C 800C1D4C 8FB80018 */ lw $t8, 0x18($sp) -/* 0C2950 800C1D50 ACAF0008 */ sw $t7, 8($a1) -/* 0C2954 800C1D54 8FAF0018 */ lw $t7, 0x18($sp) -/* 0C2958 800C1D58 272E0004 */ addiu $t6, $t9, 4 -/* 0C295C 800C1D5C ACB8000C */ sw $t8, 0xc($a1) -/* 0C2960 800C1D60 ACAE0010 */ sw $t6, 0x10($a1) -/* 0C2964 800C1D64 25F80008 */ addiu $t8, $t7, 8 -/* 0C2968 800C1D68 93B90023 */ lbu $t9, 0x23($sp) -/* 0C296C 800C1D6C 93AE0013 */ lbu $t6, 0x13($sp) -/* 0C2970 800C1D70 8FAF0024 */ lw $t7, 0x24($sp) -/* 0C2974 800C1D74 A0AC002A */ sb $t4, 0x2a($a1) -/* 0C2978 800C1D78 ACB80014 */ sw $t8, 0x14($a1) -/* 0C297C 800C1D7C ACA70024 */ sw $a3, 0x24($a1) -/* 0C2980 800C1D80 E4A4001C */ swc1 $f4, 0x1c($a1) -/* 0C2984 800C1D84 A0B90028 */ sb $t9, 0x28($a1) -/* 0C2988 800C1D88 A0AE0030 */ sb $t6, 0x30($a1) -/* 0C298C 800C1D8C 10000002 */ b .L800C1D98 -/* 0C2990 800C1D90 ACAF0038 */ sw $t7, 0x38($a1) -/* 0C2994 800C1D94 00001025 */ move $v0, $zero -.L800C1D98: -/* 0C2998 800C1D98 01A0E825 */ move $sp, $t5 -/* 0C299C 800C1D9C 03E00008 */ jr $ra -/* 0C29A0 800C1DA0 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C1DA4 -/* 0C29A4 800C1DA4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C29A8 800C1DA8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C29AC 800C1DAC AFBE0028 */ sw $fp, 0x28($sp) -/* 0C29B0 800C1DB0 AFA5003C */ sw $a1, 0x3c($sp) -/* 0C29B4 800C1DB4 8CCE0000 */ lw $t6, ($a2) -/* 0C29B8 800C1DB8 8CCF0008 */ lw $t7, 8($a2) -/* 0C29BC 800C1DBC C4840000 */ lwc1 $f4, ($a0) -/* 0C29C0 800C1DC0 C4880008 */ lwc1 $f8, 8($a0) -/* 0C29C4 800C1DC4 C5C60000 */ lwc1 $f6, ($t6) -/* 0C29C8 800C1DC8 C5EA0000 */ lwc1 $f10, ($t7) -/* 0C29CC 800C1DCC 00C03825 */ move $a3, $a2 -/* 0C29D0 800C1DD0 46062301 */ sub.s $f12, $f4, $f6 -/* 0C29D4 800C1DD4 94A60002 */ lhu $a2, 2($a1) -/* 0C29D8 800C1DD8 03A0F025 */ move $fp, $sp -/* 0C29DC 800C1DDC 460A4381 */ sub.s $f14, $f8, $f10 -/* 0C29E0 800C1DE0 E7AC0034 */ swc1 $f12, 0x34($sp) -/* 0C29E4 800C1DE4 AFA70040 */ sw $a3, 0x40($sp) -/* 0C29E8 800C1DE8 0C0105B6 */ jal func_800416D8 -/* 0C29EC 800C1DEC E7AE0030 */ swc1 $f14, 0x30($sp) -/* 0C29F0 800C1DF0 8FD90040 */ lw $t9, 0x40($fp) -/* 0C29F4 800C1DF4 C7CC0034 */ lwc1 $f12, 0x34($fp) -/* 0C29F8 800C1DF8 C7CE0030 */ lwc1 $f14, 0x30($fp) -/* 0C29FC 800C1DFC E7200018 */ swc1 $f0, 0x18($t9) -/* 0C2A00 800C1E00 8FC8003C */ lw $t0, 0x3c($fp) -/* 0C2A04 800C1E04 0C0105C9 */ jal func_80041724 -/* 0C2A08 800C1E08 95060002 */ lhu $a2, 2($t0) -/* 0C2A0C 800C1E0C 8FC90040 */ lw $t1, 0x40($fp) -/* 0C2A10 800C1E10 03C0E825 */ move $sp, $fp -/* 0C2A14 800C1E14 E5200020 */ swc1 $f0, 0x20($t1) -/* 0C2A18 800C1E18 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C2A1C 800C1E1C 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C2A20 800C1E20 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0C2A24 800C1E24 03E00008 */ jr $ra -/* 0C2A28 800C1E28 00000000 */ nop - -glabel func_800C1E2C -/* 0C2A2C 800C1E2C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0C2A30 800C1E30 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C2A34 800C1E34 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C2A38 800C1E38 8CCE0000 */ lw $t6, ($a2) -/* 0C2A3C 800C1E3C C4860000 */ lwc1 $f6, ($a0) -/* 0C2A40 800C1E40 8CCF0008 */ lw $t7, 8($a2) -/* 0C2A44 800C1E44 C5C40000 */ lwc1 $f4, ($t6) -/* 0C2A48 800C1E48 8CD8000C */ lw $t8, 0xc($a2) -/* 0C2A4C 800C1E4C C48A0008 */ lwc1 $f10, 8($a0) -/* 0C2A50 800C1E50 46062401 */ sub.s $f16, $f4, $f6 -/* 0C2A54 800C1E54 C5E80000 */ lwc1 $f8, ($t7) -/* 0C2A58 800C1E58 C4A60000 */ lwc1 $f6, ($a1) -/* 0C2A5C 800C1E5C C7040000 */ lwc1 $f4, ($t8) -/* 0C2A60 800C1E60 460A4481 */ sub.s $f18, $f8, $f10 -/* 0C2A64 800C1E64 03A0F025 */ move $fp, $sp -/* 0C2A68 800C1E68 46062201 */ sub.s $f8, $f4, $f6 -/* 0C2A6C 800C1E6C E7A80044 */ swc1 $f8, 0x44($sp) -/* 0C2A70 800C1E70 8CD90014 */ lw $t9, 0x14($a2) -/* 0C2A74 800C1E74 C4A40008 */ lwc1 $f4, 8($a1) -/* 0C2A78 800C1E78 46108202 */ mul.s $f8, $f16, $f16 -/* 0C2A7C 800C1E7C C72A0000 */ lwc1 $f10, ($t9) -/* 0C2A80 800C1E80 E7B20038 */ swc1 $f18, 0x38($sp) -/* 0C2A84 800C1E84 E7B0003C */ swc1 $f16, 0x3c($sp) -/* 0C2A88 800C1E88 AFA60050 */ sw $a2, 0x50($sp) -/* 0C2A8C 800C1E8C 46045181 */ sub.s $f6, $f10, $f4 -/* 0C2A90 800C1E90 46129282 */ mul.s $f10, $f18, $f18 -/* 0C2A94 800C1E94 E7A60040 */ swc1 $f6, 0x40($sp) -/* 0C2A98 800C1E98 0C033850 */ jal sqrtf -/* 0C2A9C 800C1E9C 460A4300 */ add.s $f12, $f8, $f10 -/* 0C2AA0 800C1EA0 C7D0003C */ lwc1 $f16, 0x3c($fp) -/* 0C2AA4 800C1EA4 C7C40044 */ lwc1 $f4, 0x44($fp) -/* 0C2AA8 800C1EA8 C7D20038 */ lwc1 $f18, 0x38($fp) -/* 0C2AAC 800C1EAC C7C60040 */ lwc1 $f6, 0x40($fp) -/* 0C2AB0 800C1EB0 46048080 */ add.s $f2, $f16, $f4 -/* 0C2AB4 800C1EB4 E7C00034 */ swc1 $f0, 0x34($fp) -/* 0C2AB8 800C1EB8 46069380 */ add.s $f14, $f18, $f6 -/* 0C2ABC 800C1EBC 46021202 */ mul.s $f8, $f2, $f2 -/* 0C2AC0 800C1EC0 00000000 */ nop -/* 0C2AC4 800C1EC4 460E7282 */ mul.s $f10, $f14, $f14 -/* 0C2AC8 800C1EC8 0C033850 */ jal sqrtf -/* 0C2ACC 800C1ECC 460A4300 */ add.s $f12, $f8, $f10 -/* 0C2AD0 800C1ED0 C7C40034 */ lwc1 $f4, 0x34($fp) -/* 0C2AD4 800C1ED4 8FC60050 */ lw $a2, 0x50($fp) -/* 0C2AD8 800C1ED8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2ADC 800C1EDC 46002181 */ sub.s $f6, $f4, $f0 -/* 0C2AE0 800C1EE0 C4C80034 */ lwc1 $f8, 0x34($a2) -/* 0C2AE4 800C1EE4 44816000 */ mtc1 $at, $f12 -/* 0C2AE8 800C1EE8 3C01800F */ lui $at, %hi(D_800F35DC) # $at, 0x800f -/* 0C2AEC 800C1EEC 46083283 */ div.s $f10, $f6, $f8 -/* 0C2AF0 800C1EF0 C42E35DC */ lwc1 $f14, %lo(D_800F35DC)($at) -/* 0C2AF4 800C1EF4 460A6101 */ sub.s $f4, $f12, $f10 -/* 0C2AF8 800C1EF8 46046083 */ div.s $f2, $f12, $f4 -/* 0C2AFC 800C1EFC 4602703C */ c.lt.s $f14, $f2 -/* 0C2B00 800C1F00 00000000 */ nop -/* 0C2B04 800C1F04 45020004 */ bc1fl .L800C1F18 -/* 0C2B08 800C1F08 E4CE002C */ swc1 $f14, 0x2c($a2) -/* 0C2B0C 800C1F0C 10000002 */ b .L800C1F18 -/* 0C2B10 800C1F10 E4C2002C */ swc1 $f2, 0x2c($a2) -/* 0C2B14 800C1F14 E4CE002C */ swc1 $f14, 0x2c($a2) -.L800C1F18: -/* 0C2B18 800C1F18 8CC80024 */ lw $t0, 0x24($a2) -/* 0C2B1C 800C1F1C 44803000 */ mtc1 $zero, $f6 -/* 0C2B20 800C1F20 C5000000 */ lwc1 $f0, ($t0) -/* 0C2B24 800C1F24 46003032 */ c.eq.s $f6, $f0 -/* 0C2B28 800C1F28 00000000 */ nop -/* 0C2B2C 800C1F2C 45030013 */ bc1tl .L800C1F7C -/* 0C2B30 800C1F30 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C2B34 800C1F34 90C20030 */ lbu $v0, 0x30($a2) -/* 0C2B38 800C1F38 3C0A800F */ lui $t2, %hi(D_800EA06C) # $t2, 0x800f -/* 0C2B3C 800C1F3C 254AA06C */ addiu $t2, %lo(D_800EA06C) # addiu $t2, $t2, -0x5f94 -/* 0C2B40 800C1F40 00024900 */ sll $t1, $v0, 4 -/* 0C2B44 800C1F44 012A1821 */ addu $v1, $t1, $t2 -/* 0C2B48 800C1F48 C4680004 */ lwc1 $f8, 4($v1) -/* 0C2B4C 800C1F4C C4640000 */ lwc1 $f4, ($v1) -/* 0C2B50 800C1F50 3C01800F */ lui $at, %hi(D_800E9F34) -/* 0C2B54 800C1F54 46080283 */ div.s $f10, $f0, $f8 -/* 0C2B58 800C1F58 00025880 */ sll $t3, $v0, 2 -/* 0C2B5C 800C1F5C 002B0821 */ addu $at, $at, $t3 -/* 0C2B60 800C1F60 C4289F34 */ lwc1 $f8, %lo(D_800E9F34)($at) -/* 0C2B64 800C1F64 46045180 */ add.s $f6, $f10, $f4 -/* 0C2B68 800C1F68 C4C4002C */ lwc1 $f4, 0x2c($a2) -/* 0C2B6C 800C1F6C 46083280 */ add.s $f10, $f6, $f8 -/* 0C2B70 800C1F70 460A2182 */ mul.s $f6, $f4, $f10 -/* 0C2B74 800C1F74 E4C6002C */ swc1 $f6, 0x2c($a2) -/* 0C2B78 800C1F78 8FDF002C */ lw $ra, 0x2c($fp) -.L800C1F7C: -/* 0C2B7C 800C1F7C 03C0E825 */ move $sp, $fp -/* 0C2B80 800C1F80 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C2B84 800C1F84 03E00008 */ jr $ra -/* 0C2B88 800C1F88 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_800C1F8C -/* 0C2B8C 800C1F8C 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0C2B90 800C1F90 3C05800F */ lui $a1, %hi(D_800EA1C0) # $a1, 0x800f -/* 0C2B94 800C1F94 90A5A1C0 */ lbu $a1, %lo(D_800EA1C0)($a1) -/* 0C2B98 800C1F98 AFBE0050 */ sw $fp, 0x50($sp) -/* 0C2B9C 800C1F9C AFB10034 */ sw $s1, 0x34($sp) -/* 0C2BA0 800C1FA0 24A50001 */ addiu $a1, $a1, 1 -/* 0C2BA4 800C1FA4 30A800FF */ andi $t0, $a1, 0xff -/* 0C2BA8 800C1FA8 03A0F025 */ move $fp, $sp -/* 0C2BAC 800C1FAC AFBF0054 */ sw $ra, 0x54($sp) -/* 0C2BB0 800C1FB0 AFB7004C */ sw $s7, 0x4c($sp) -/* 0C2BB4 800C1FB4 AFB60048 */ sw $s6, 0x48($sp) -/* 0C2BB8 800C1FB8 AFB50044 */ sw $s5, 0x44($sp) -/* 0C2BBC 800C1FBC AFB40040 */ sw $s4, 0x40($sp) -/* 0C2BC0 800C1FC0 AFB3003C */ sw $s3, 0x3c($sp) -/* 0C2BC4 800C1FC4 AFB20038 */ sw $s2, 0x38($sp) -/* 0C2BC8 800C1FC8 AFB00030 */ sw $s0, 0x30($sp) -/* 0C2BCC 800C1FCC F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0C2BD0 800C1FD0 19000020 */ blez $t0, .L800C2054 -/* 0C2BD4 800C1FD4 00008825 */ move $s1, $zero -/* 0C2BD8 800C1FD8 3C0A8019 */ lui $t2, %hi(D_8018FB98) # $t2, 0x8019 -/* 0C2BDC 800C1FDC 3C098019 */ lui $t1, %hi(D_8018FBA8) # $t1, 0x8019 -/* 0C2BE0 800C1FE0 3C078019 */ lui $a3, %hi(D_8018FBD8) # $a3, 0x8019 -/* 0C2BE4 800C1FE4 24E7FBD8 */ addiu $a3, %lo(D_8018FBD8) # addiu $a3, $a3, -0x428 -/* 0C2BE8 800C1FE8 2529FBA8 */ addiu $t1, %lo(D_8018FBA8) # addiu $t1, $t1, -0x458 -/* 0C2BEC 800C1FEC 254AFB98 */ addiu $t2, %lo(D_8018FB98) # addiu $t2, $t2, -0x468 -/* 0C2BF0 800C1FF0 2406000C */ li $a2, 12 -.L800C1FF4: -/* 0C2BF4 800C1FF4 02260019 */ multu $s1, $a2 -/* 0C2BF8 800C1FF8 00117880 */ sll $t7, $s1, 2 -/* 0C2BFC 800C1FFC 014FC021 */ addu $t8, $t2, $t7 -/* 0C2C00 800C2000 8F020000 */ lw $v0, ($t8) -/* 0C2C04 800C2004 26310001 */ addiu $s1, $s1, 1 -/* 0C2C08 800C2008 323900FF */ andi $t9, $s1, 0xff -/* 0C2C0C 800C200C C4440000 */ lwc1 $f4, ($v0) -/* 0C2C10 800C2010 0328082A */ slt $at, $t9, $t0 -/* 0C2C14 800C2014 03208825 */ move $s1, $t9 -/* 0C2C18 800C2018 00002012 */ mflo $a0 -/* 0C2C1C 800C201C 00E41821 */ addu $v1, $a3, $a0 -/* 0C2C20 800C2020 C4660000 */ lwc1 $f6, ($v1) -/* 0C2C24 800C2024 01242821 */ addu $a1, $t1, $a0 -/* 0C2C28 800C2028 C4700008 */ lwc1 $f16, 8($v1) -/* 0C2C2C 800C202C 46062201 */ sub.s $f8, $f4, $f6 -/* 0C2C30 800C2030 E4A80000 */ swc1 $f8, ($a1) -/* 0C2C34 800C2034 C44A0008 */ lwc1 $f10, 8($v0) -/* 0C2C38 800C2038 46105481 */ sub.s $f18, $f10, $f16 -/* 0C2C3C 800C203C E4B20008 */ swc1 $f18, 8($a1) -/* 0C2C40 800C2040 C4440000 */ lwc1 $f4, ($v0) -/* 0C2C44 800C2044 E4640000 */ swc1 $f4, ($v1) -/* 0C2C48 800C2048 C4460008 */ lwc1 $f6, 8($v0) -/* 0C2C4C 800C204C 1420FFE9 */ bnez $at, .L800C1FF4 -/* 0C2C50 800C2050 E4660008 */ swc1 $f6, 8($v1) -.L800C2054: -/* 0C2C54 800C2054 3C138019 */ lui $s3, %hi(D_8018EFD8) # $s3, 0x8019 -/* 0C2C58 800C2058 2673EFD8 */ addiu $s3, %lo(D_8018EFD8) # addiu $s3, $s3, -0x1028 -/* 0C2C5C 800C205C 9271002A */ lbu $s1, 0x2a($s3) -/* 0C2C60 800C2060 241500FF */ li $s5, 255 -/* 0C2C64 800C2064 00002825 */ move $a1, $zero -/* 0C2C68 800C2068 12B10051 */ beq $s5, $s1, .L800C21B0 -/* 0C2C6C 800C206C 02201025 */ move $v0, $s1 -/* 0C2C70 800C2070 3C01800F */ lui $at, %hi(D_800F35E0) # $at, 0x800f -/* 0C2C74 800C2074 3C178019 */ lui $s7, %hi(D_8018FB90) # $s7, 0x8019 -/* 0C2C78 800C2078 3C168019 */ lui $s6, %hi(D_8018FB91) # $s6, 0x8019 -/* 0C2C7C 800C207C 26D6FB91 */ addiu $s6, %lo(D_8018FB91) # addiu $s6, $s6, -0x46f -/* 0C2C80 800C2080 26F7FB90 */ addiu $s7, %lo(D_8018FB90) # addiu $s7, $s7, -0x470 -/* 0C2C84 800C2084 C43435E0 */ lwc1 $f20, %lo(D_800F35E0)($at) -/* 0C2C88 800C2088 2414003C */ li $s4, 60 -.L800C208C: -/* 0C2C8C 800C208C 02340019 */ multu $s1, $s4 -/* 0C2C90 800C2090 00056100 */ sll $t4, $a1, 4 -/* 0C2C94 800C2094 00005812 */ mflo $t3 -/* 0C2C98 800C2098 026B8021 */ addu $s0, $s3, $t3 -/* 0C2C9C 800C209C C608001C */ lwc1 $f8, 0x1c($s0) -/* 0C2CA0 800C20A0 4608A032 */ c.eq.s $f20, $f8 -/* 0C2CA4 800C20A4 00000000 */ nop -/* 0C2CA8 800C20A8 45020020 */ bc1fl .L800C212C -/* 0C2CAC 800C20AC 92020028 */ lbu $v0, 0x28($s0) -/* 0C2CB0 800C20B0 92CD0000 */ lbu $t5, ($s6) -/* 0C2CB4 800C20B4 01856023 */ subu $t4, $t4, $a1 -/* 0C2CB8 800C20B8 000C6080 */ sll $t4, $t4, 2 -/* 0C2CBC 800C20BC 144D0004 */ bne $v0, $t5, .L800C20D0 -/* 0C2CC0 800C20C0 026C2021 */ addu $a0, $s3, $t4 -/* 0C2CC4 800C20C4 92030029 */ lbu $v1, 0x29($s0) -/* 0C2CC8 800C20C8 10000008 */ b .L800C20EC -/* 0C2CCC 800C20CC A2C30000 */ sb $v1, ($s6) -.L800C20D0: -/* 0C2CD0 800C20D0 920F002A */ lbu $t7, 0x2a($s0) -/* 0C2CD4 800C20D4 920E0029 */ lbu $t6, 0x29($s0) -/* 0C2CD8 800C20D8 01F40019 */ multu $t7, $s4 -/* 0C2CDC 800C20DC 0000C012 */ mflo $t8 -/* 0C2CE0 800C20E0 0278C821 */ addu $t9, $s3, $t8 -/* 0C2CE4 800C20E4 A32E0029 */ sb $t6, 0x29($t9) -/* 0C2CE8 800C20E8 92030029 */ lbu $v1, 0x29($s0) -.L800C20EC: -/* 0C2CEC 800C20EC 00740019 */ multu $v1, $s4 -/* 0C2CF0 800C20F0 920B002A */ lbu $t3, 0x2a($s0) -/* 0C2CF4 800C20F4 240F00FF */ li $t7, 255 -/* 0C2CF8 800C20F8 00006012 */ mflo $t4 -/* 0C2CFC 800C20FC 026C6821 */ addu $t5, $s3, $t4 -/* 0C2D00 800C2100 A1AB002A */ sb $t3, 0x2a($t5) -/* 0C2D04 800C2104 92E20000 */ lbu $v0, ($s7) -/* 0C2D08 800C2108 A20F0029 */ sb $t7, 0x29($s0) -/* 0C2D0C 800C210C 00540019 */ multu $v0, $s4 -/* 0C2D10 800C2110 A202002A */ sb $v0, 0x2a($s0) -/* 0C2D14 800C2114 0000C012 */ mflo $t8 -/* 0C2D18 800C2118 02787021 */ addu $t6, $s3, $t8 -/* 0C2D1C 800C211C A1D10029 */ sb $s1, 0x29($t6) -/* 0C2D20 800C2120 10000018 */ b .L800C2184 -/* 0C2D24 800C2124 A2F10000 */ sb $s1, ($s7) -/* 0C2D28 800C2128 92020028 */ lbu $v0, 0x28($s0) -.L800C212C: -/* 0C2D2C 800C212C 3C0C8019 */ lui $t4, %hi(D_8018FB98) # $t4, 0x8019 -/* 0C2D30 800C2130 258CFB98 */ addiu $t4, %lo(D_8018FB98) # addiu $t4, $t4, -0x468 -/* 0C2D34 800C2134 0002C880 */ sll $t9, $v0, 2 -/* 0C2D38 800C2138 032C9021 */ addu $s2, $t9, $t4 -/* 0C2D3C 800C213C 8E440000 */ lw $a0, ($s2) -/* 0C2D40 800C2140 02003025 */ move $a2, $s0 -/* 0C2D44 800C2144 0C030769 */ jal func_800C1DA4 -/* 0C2D48 800C2148 24850024 */ addiu $a1, $a0, 0x24 -/* 0C2D4C 800C214C 8E0D000C */ lw $t5, 0xc($s0) -/* 0C2D50 800C2150 3C0B800F */ lui $t3, %hi(D_800EA1C8) # $t3, 0x800f -/* 0C2D54 800C2154 256BA1C8 */ addiu $t3, %lo(D_800EA1C8) # addiu $t3, $t3, -0x5e38 -/* 0C2D58 800C2158 116D0005 */ beq $t3, $t5, .L800C2170 -/* 0C2D5C 800C215C 3C058019 */ lui $a1, %hi(D_8018FBA8) # $a1, 0x8019 -/* 0C2D60 800C2160 8E440000 */ lw $a0, ($s2) -/* 0C2D64 800C2164 24A5FBA8 */ addiu $a1, %lo(D_8018FBA8) # addiu $a1, $a1, -0x458 -/* 0C2D68 800C2168 0C03078B */ jal func_800C1E2C -/* 0C2D6C 800C216C 02003025 */ move $a2, $s0 -.L800C2170: -/* 0C2D70 800C2170 322500FF */ andi $a1, $s1, 0xff -/* 0C2D74 800C2174 00057900 */ sll $t7, $a1, 4 -/* 0C2D78 800C2178 01E57823 */ subu $t7, $t7, $a1 -/* 0C2D7C 800C217C 000F7880 */ sll $t7, $t7, 2 -/* 0C2D80 800C2180 026F2021 */ addu $a0, $s3, $t7 -.L800C2184: -/* 0C2D84 800C2184 9091002A */ lbu $s1, 0x2a($a0) -/* 0C2D88 800C2188 3C18800F */ lui $t8, %hi(D_800EA244) # $t8, 0x800f -/* 0C2D8C 800C218C 12B10006 */ beq $s5, $s1, .L800C21A8 -/* 0C2D90 800C2190 02201025 */ move $v0, $s1 -/* 0C2D94 800C2194 9318A244 */ lbu $t8, %lo(D_800EA244)($t8) -/* 0C2D98 800C2198 0302082A */ slt $at, $t8, $v0 -/* 0C2D9C 800C219C 10200002 */ beqz $at, .L800C21A8 -/* 0C2DA0 800C21A0 3C01800F */ lui $at, %hi(D_800EA244) # $at, 0x800f -/* 0C2DA4 800C21A4 A031A244 */ sb $s1, %lo(D_800EA244)($at) -.L800C21A8: -/* 0C2DA8 800C21A8 16A2FFB8 */ bne $s5, $v0, .L800C208C -/* 0C2DAC 800C21AC 00000000 */ nop -.L800C21B0: -/* 0C2DB0 800C21B0 8FDF0054 */ lw $ra, 0x54($fp) -/* 0C2DB4 800C21B4 03C0E825 */ move $sp, $fp -/* 0C2DB8 800C21B8 D7D40028 */ ldc1 $f20, 0x28($fp) -/* 0C2DBC 800C21BC 8FD00030 */ lw $s0, 0x30($fp) -/* 0C2DC0 800C21C0 8FD10034 */ lw $s1, 0x34($fp) -/* 0C2DC4 800C21C4 8FD20038 */ lw $s2, 0x38($fp) -/* 0C2DC8 800C21C8 8FD3003C */ lw $s3, 0x3c($fp) -/* 0C2DCC 800C21CC 8FD40040 */ lw $s4, 0x40($fp) -/* 0C2DD0 800C21D0 8FD50044 */ lw $s5, 0x44($fp) -/* 0C2DD4 800C21D4 8FD60048 */ lw $s6, 0x48($fp) -/* 0C2DD8 800C21D8 8FD7004C */ lw $s7, 0x4c($fp) -/* 0C2DDC 800C21DC 8FDE0050 */ lw $fp, 0x50($fp) -/* 0C2DE0 800C21E0 03E00008 */ jr $ra -/* 0C2DE4 800C21E4 27BD0058 */ addiu $sp, $sp, 0x58 - -glabel func_800C21E8 -/* 0C2DE8 800C21E8 3C078019 */ lui $a3, %hi(D_8018EFD8) # $a3, 0x8019 -/* 0C2DEC 800C21EC 24E7EFD8 */ addiu $a3, %lo(D_8018EFD8) # addiu $a3, $a3, -0x1028 -/* 0C2DF0 800C21F0 90E2002A */ lbu $v0, 0x2a($a3) -/* 0C2DF4 800C21F4 240800FF */ li $t0, 255 -/* 0C2DF8 800C21F8 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C2DFC 800C21FC 00A03025 */ move $a2, $a1 -/* 0C2E00 800C2200 11020018 */ beq $t0, $v0, .L800C2264 -/* 0C2E04 800C2204 00001825 */ move $v1, $zero -/* 0C2E08 800C2208 3C01800F */ lui $at, %hi(D_800F35E4) # $at, 0x800f -/* 0C2E0C 800C220C C42035E4 */ lwc1 $f0, %lo(D_800F35E4)($at) -/* 0C2E10 800C2210 2409003C */ li $t1, 60 -.L800C2214: -/* 0C2E14 800C2214 00490019 */ multu $v0, $t1 -/* 0C2E18 800C2218 00007012 */ mflo $t6 -/* 0C2E1C 800C221C 00EE2821 */ addu $a1, $a3, $t6 -/* 0C2E20 800C2220 8CAF0000 */ lw $t7, ($a1) -/* 0C2E24 800C2224 548F000D */ bnel $a0, $t7, .L800C225C -/* 0C2E28 800C2228 90A2002A */ lbu $v0, 0x2a($a1) -/* 0C2E2C 800C222C 8CB80038 */ lw $t8, 0x38($a1) -/* 0C2E30 800C2230 54D8000A */ bnel $a2, $t8, .L800C225C -/* 0C2E34 800C2234 90A2002A */ lbu $v0, 0x2a($a1) -/* 0C2E38 800C2238 C4A4001C */ lwc1 $f4, 0x1c($a1) -/* 0C2E3C 800C223C 240200FF */ li $v0, 255 -/* 0C2E40 800C2240 46040032 */ c.eq.s $f0, $f4 -/* 0C2E44 800C2244 00000000 */ nop -/* 0C2E48 800C2248 45030004 */ bc1tl .L800C225C -/* 0C2E4C 800C224C 90A2002A */ lbu $v0, 0x2a($a1) -/* 0C2E50 800C2250 10000002 */ b .L800C225C -/* 0C2E54 800C2254 24A30018 */ addiu $v1, $a1, 0x18 -/* 0C2E58 800C2258 90A2002A */ lbu $v0, 0x2a($a1) -.L800C225C: -/* 0C2E5C 800C225C 1502FFED */ bne $t0, $v0, .L800C2214 -/* 0C2E60 800C2260 00000000 */ nop -.L800C2264: -/* 0C2E64 800C2264 01A0E825 */ move $sp, $t5 -/* 0C2E68 800C2268 25BD0010 */ addiu $sp, $t5, 0x10 -/* 0C2E6C 800C226C 03E00008 */ jr $ra -/* 0C2E70 800C2270 00601025 */ move $v0, $v1 - -glabel func_800C2274 -/* 0C2E74 800C2274 308700FF */ andi $a3, $a0, 0xff -/* 0C2E78 800C2278 00077080 */ sll $t6, $a3, 2 -/* 0C2E7C 800C227C 01C77021 */ addu $t6, $t6, $a3 -/* 0C2E80 800C2280 000E70C0 */ sll $t6, $t6, 3 -/* 0C2E84 800C2284 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0C2E88 800C2288 3C05803B */ lui $a1, %hi(D_803B1510) # $a1, 0x803b -/* 0C2E8C 800C228C 01C77021 */ addu $t6, $t6, $a3 -/* 0C2E90 800C2290 24A51510 */ addiu $a1, %lo(D_803B1510) # addiu $a1, $a1, 0x1510 -/* 0C2E94 800C2294 000E70C0 */ sll $t6, $t6, 3 -/* 0C2E98 800C2298 00AE7821 */ addu $t7, $a1, $t6 -/* 0C2E9C 800C229C 8DF80000 */ lw $t8, ($t7) -/* 0C2EA0 800C22A0 AFBE0038 */ sw $fp, 0x38($sp) -/* 0C2EA4 800C22A4 03A0F025 */ move $fp, $sp -/* 0C2EA8 800C22A8 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0C2EAC 800C22AC AFBF003C */ sw $ra, 0x3c($sp) -/* 0C2EB0 800C22B0 AFB30034 */ sw $s3, 0x34($sp) -/* 0C2EB4 800C22B4 AFB20030 */ sw $s2, 0x30($sp) -/* 0C2EB8 800C22B8 AFB1002C */ sw $s1, 0x2c($sp) -/* 0C2EBC 800C22BC AFB00028 */ sw $s0, 0x28($sp) -/* 0C2EC0 800C22C0 AFA40048 */ sw $a0, 0x48($sp) -/* 0C2EC4 800C22C4 13200062 */ beqz $t9, .L800C2450 -/* 0C2EC8 800C22C8 2406000F */ li $a2, 15 -/* 0C2ECC 800C22CC 3C02800E */ lui $v0, %hi(D_800DC530) # $v0, 0x800e -/* 0C2ED0 800C22D0 8C42C530 */ lw $v0, %lo(D_800DC530)($v0) -/* 0C2ED4 800C22D4 00074880 */ sll $t1, $a3, 2 -/* 0C2ED8 800C22D8 01274821 */ addu $t1, $t1, $a3 -/* 0C2EDC 800C22DC 10400010 */ beqz $v0, .L800C2320 -/* 0C2EE0 800C22E0 000948C0 */ sll $t1, $t1, 3 -/* 0C2EE4 800C22E4 24010001 */ li $at, 1 -/* 0C2EE8 800C22E8 10410005 */ beq $v0, $at, .L800C2300 -/* 0C2EEC 800C22EC 24030003 */ li $v1, 3 -/* 0C2EF0 800C22F0 10430005 */ beq $v0, $v1, .L800C2308 -/* 0C2EF4 800C22F4 3C08800E */ lui $t0, %hi(gPlayerCountSelection1) # $t0, 0x800e -/* 0C2EF8 800C22F8 1000000A */ b .L800C2324 -/* 0C2EFC 800C22FC 01274821 */ addu $t1, $t1, $a3 -.L800C2300: -/* 0C2F00 800C2300 10000007 */ b .L800C2320 -/* 0C2F04 800C2304 2406000E */ li $a2, 14 -.L800C2308: -/* 0C2F08 800C2308 8D08C538 */ lw $t0, %lo(gPlayerCountSelection1)($t0) -/* 0C2F0C 800C230C 2406000C */ li $a2, 12 -/* 0C2F10 800C2310 14680003 */ bne $v1, $t0, .L800C2320 -/* 0C2F14 800C2314 00000000 */ nop -/* 0C2F18 800C2318 10000001 */ b .L800C2320 -/* 0C2F1C 800C231C 2406000D */ li $a2, 13 -.L800C2320: -/* 0C2F20 800C2320 01274821 */ addu $t1, $t1, $a3 -.L800C2324: -/* 0C2F24 800C2324 000948C0 */ sll $t1, $t1, 3 -/* 0C2F28 800C2328 00A95021 */ addu $t2, $a1, $t1 -/* 0C2F2C 800C232C 00065880 */ sll $t3, $a2, 2 -/* 0C2F30 800C2330 014B6021 */ addu $t4, $t2, $t3 -/* 0C2F34 800C2334 8D820030 */ lw $v0, 0x30($t4) -/* 0C2F38 800C2338 241200FF */ li $s2, 255 -/* 0C2F3C 800C233C 30EA00FF */ andi $t2, $a3, 0xff -/* 0C2F40 800C2340 90500058 */ lbu $s0, 0x58($v0) -/* 0C2F44 800C2344 000A5C00 */ sll $t3, $t2, 0x10 -/* 0C2F48 800C2348 2405FFFF */ li $a1, -1 -/* 0C2F4C 800C234C 52500017 */ beql $s2, $s0, .L800C23AC -/* 0C2F50 800C2350 24010001 */ li $at, 1 -/* 0C2F54 800C2354 804D0059 */ lb $t5, 0x59($v0) -/* 0C2F58 800C2358 31AE0003 */ andi $t6, $t5, 3 -/* 0C2F5C 800C235C A7CE0046 */ sh $t6, 0x46($fp) -/* 0C2F60 800C2360 8051005A */ lb $s1, 0x5a($v0) -/* 0C2F64 800C2364 30CD00FF */ andi $t5, $a2, 0xff -/* 0C2F68 800C2368 000D7200 */ sll $t6, $t5, 8 -/* 0C2F6C 800C236C 322F000F */ andi $t7, $s1, 0xf -/* 0C2F70 800C2370 000FC400 */ sll $t8, $t7, 0x10 -/* 0C2F74 800C2374 00188C03 */ sra $s1, $t8, 0x10 -/* 0C2F78 800C2378 2A21000A */ slti $at, $s1, 0xa -/* 0C2F7C 800C237C 54200003 */ bnel $at, $zero, .L800C238C -/* 0C2F80 800C2380 8048005B */ lb $t0, 0x5b($v0) -/* 0C2F84 800C2384 24110009 */ li $s1, 9 -/* 0C2F88 800C2388 8048005B */ lb $t0, 0x5b($v0) -.L800C238C: -/* 0C2F8C 800C238C 3C010600 */ lui $at, 0x600 -/* 0C2F90 800C2390 01616025 */ or $t4, $t3, $at -/* 0C2F94 800C2394 31090007 */ andi $t1, $t0, 7 -/* 0C2F98 800C2398 A7C90042 */ sh $t1, 0x42($fp) -/* 0C2F9C 800C239C 0C032EFA */ jal func_800CBBE8 -/* 0C2FA0 800C23A0 018E2025 */ or $a0, $t4, $t6 -/* 0C2FA4 800C23A4 A7D10044 */ sh $s1, 0x44($fp) -/* 0C2FA8 800C23A8 24010001 */ li $at, 1 -.L800C23AC: -/* 0C2FAC 800C23AC 12010006 */ beq $s0, $at, .L800C23C8 -/* 0C2FB0 800C23B0 87D10044 */ lh $s1, 0x44($fp) -/* 0C2FB4 800C23B4 24010002 */ li $at, 2 -/* 0C2FB8 800C23B8 5201001E */ beql $s0, $at, .L800C2434 -/* 0C2FBC 800C23BC 87CB0046 */ lh $t3, 0x46($fp) -/* 0C2FC0 800C23C0 10000024 */ b .L800C2454 -/* 0C2FC4 800C23C4 8FDF003C */ lw $ra, 0x3c($fp) -.L800C23C8: -/* 0C2FC8 800C23C8 87CF0046 */ lh $t7, 0x46($fp) -/* 0C2FCC 800C23CC 3C138019 */ lui $s3, %hi(D_8018FC10) # $s3, 0x8019 -/* 0C2FD0 800C23D0 2673FC10 */ addiu $s3, %lo(D_8018FC10) # addiu $s3, $s3, -0x3f0 -/* 0C2FD4 800C23D4 000FC080 */ sll $t8, $t7, 2 -/* 0C2FD8 800C23D8 02781021 */ addu $v0, $s3, $t8 -/* 0C2FDC 800C23DC A4510000 */ sh $s1, ($v0) -/* 0C2FE0 800C23E0 87D90042 */ lh $t9, 0x42($fp) -/* 0C2FE4 800C23E4 00008025 */ move $s0, $zero -/* 0C2FE8 800C23E8 A4590002 */ sh $t9, 2($v0) -.L800C23EC: -/* 0C2FEC 800C23EC 00104080 */ sll $t0, $s0, 2 -/* 0C2FF0 800C23F0 02688821 */ addu $s1, $s3, $t0 -/* 0C2FF4 800C23F4 86250000 */ lh $a1, ($s1) -/* 0C2FF8 800C23F8 00102400 */ sll $a0, $s0, 0x10 -/* 0C2FFC 800C23FC 00044C03 */ sra $t1, $a0, 0x10 -/* 0C3000 800C2400 12450004 */ beq $s2, $a1, .L800C2414 -/* 0C3004 800C2404 01202025 */ move $a0, $t1 -/* 0C3008 800C2408 0C006AAB */ jal func_8001AAAC -/* 0C300C 800C240C 86260002 */ lh $a2, 2($s1) -/* 0C3010 800C2410 A6320000 */ sh $s2, ($s1) -.L800C2414: -/* 0C3014 800C2414 26100001 */ addiu $s0, $s0, 1 -/* 0C3018 800C2418 320A00FF */ andi $t2, $s0, 0xff -/* 0C301C 800C241C 29410004 */ slti $at, $t2, 4 -/* 0C3020 800C2420 1420FFF2 */ bnez $at, .L800C23EC -/* 0C3024 800C2424 01408025 */ move $s0, $t2 -/* 0C3028 800C2428 1000000A */ b .L800C2454 -/* 0C302C 800C242C 8FDF003C */ lw $ra, 0x3c($fp) -/* 0C3030 800C2430 87CB0046 */ lh $t3, 0x46($fp) -.L800C2434: -/* 0C3034 800C2434 3C138019 */ lui $s3, %hi(D_8018FC10) # $s3, 0x8019 -/* 0C3038 800C2438 2673FC10 */ addiu $s3, %lo(D_8018FC10) # addiu $s3, $s3, -0x3f0 -/* 0C303C 800C243C 000B6880 */ sll $t5, $t3, 2 -/* 0C3040 800C2440 026D1021 */ addu $v0, $s3, $t5 -/* 0C3044 800C2444 A4510000 */ sh $s1, ($v0) -/* 0C3048 800C2448 87CC0042 */ lh $t4, 0x42($fp) -/* 0C304C 800C244C A44C0002 */ sh $t4, 2($v0) -.L800C2450: -/* 0C3050 800C2450 8FDF003C */ lw $ra, 0x3c($fp) -.L800C2454: -/* 0C3054 800C2454 03C0E825 */ move $sp, $fp -/* 0C3058 800C2458 8FD00028 */ lw $s0, 0x28($fp) -/* 0C305C 800C245C 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C3060 800C2460 8FD20030 */ lw $s2, 0x30($fp) -/* 0C3064 800C2464 8FD30034 */ lw $s3, 0x34($fp) -/* 0C3068 800C2468 8FDE0038 */ lw $fp, 0x38($fp) -/* 0C306C 800C246C 03E00008 */ jr $ra -/* 0C3070 800C2470 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_800C2474 -/* 0C3074 800C2474 3C0E800E */ lui $t6, %hi(D_800DDB40) # $t6, 0x800e -/* 0C3078 800C2478 8DCEDB40 */ lw $t6, %lo(D_800DDB40)($t6) -/* 0C307C 800C247C 3C028019 */ lui $v0, %hi(D_8018FB98) # $v0, 0x8019 -/* 0C3080 800C2480 3C018019 */ lui $at, %hi(D_8018EF10) # $at, 0x8019 -/* 0C3084 800C2484 2442FB98 */ addiu $v0, %lo(D_8018FB98) # addiu $v0, $v0, -0x468 -/* 0C3088 800C2488 A020EF10 */ sb $zero, %lo(D_8018EF10)($at) -/* 0C308C 800C248C 3C0F800E */ lui $t7, %hi(D_800DDB44) # $t7, 0x800e -/* 0C3090 800C2490 AC4E0000 */ sw $t6, ($v0) -/* 0C3094 800C2494 8DEFDB44 */ lw $t7, %lo(D_800DDB44)($t7) -/* 0C3098 800C2498 3C18800E */ lui $t8, %hi(D_800DDB48) # $t8, 0x800e -/* 0C309C 800C249C 3C19800E */ lui $t9, %hi(D_800DDB4C) # $t9, 0x800e -/* 0C30A0 800C24A0 AC4F0004 */ sw $t7, 4($v0) -/* 0C30A4 800C24A4 8F18DB48 */ lw $t8, %lo(D_800DDB48)($t8) -/* 0C30A8 800C24A8 3C018019 */ lui $at, %hi(D_8018FB91) # $at, 0x8019 -/* 0C30AC 800C24AC 240E0001 */ li $t6, 1 -/* 0C30B0 800C24B0 AC580008 */ sw $t8, 8($v0) -/* 0C30B4 800C24B4 8F39DB4C */ lw $t9, %lo(D_800DDB4C)($t9) -/* 0C30B8 800C24B8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0C30BC 800C24BC AFB00028 */ sw $s0, 0x28($sp) -/* 0C30C0 800C24C0 AC59000C */ sw $t9, 0xc($v0) -/* 0C30C4 800C24C4 A020FB91 */ sb $zero, %lo(D_8018FB91)($at) -/* 0C30C8 800C24C8 3C018019 */ lui $at, %hi(D_8018FB90) # $at, 0x8019 -/* 0C30CC 800C24CC A02EFB90 */ sb $t6, %lo(D_8018FB90)($at) -/* 0C30D0 800C24D0 3C01800F */ lui $at, %hi(D_800EA0F4) # $at, 0x800f -/* 0C30D4 800C24D4 A020A0F4 */ sb $zero, %lo(D_800EA0F4)($at) -/* 0C30D8 800C24D8 3C018019 */ lui $at, %hi(D_8018FC08) # $at, 0x8019 -/* 0C30DC 800C24DC A020FC08 */ sb $zero, %lo(D_8018FC08)($at) -/* 0C30E0 800C24E0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C30E4 800C24E4 A020A104 */ sb $zero, %lo(D_800EA104)($at) -/* 0C30E8 800C24E8 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f -/* 0C30EC 800C24EC A020A108 */ sb $zero, %lo(D_800EA108)($at) -/* 0C30F0 800C24F0 3C10800F */ lui $s0, %hi(D_800EA16C) # $s0, 0x800f -/* 0C30F4 800C24F4 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C30F8 800C24F8 2610A16C */ addiu $s0, %lo(D_800EA16C) # addiu $s0, $s0, -0x5e94 -/* 0C30FC 800C24FC AFBF004C */ sw $ra, 0x4c($sp) -/* 0C3100 800C2500 AFBE0048 */ sw $fp, 0x48($sp) -/* 0C3104 800C2504 A020A0F0 */ sb $zero, %lo(D_800EA0F0)($at) -/* 0C3108 800C2508 03A0F025 */ move $fp, $sp -/* 0C310C 800C250C AFB70044 */ sw $s7, 0x44($sp) -/* 0C3110 800C2510 AFB60040 */ sw $s6, 0x40($sp) -/* 0C3114 800C2514 AFB5003C */ sw $s5, 0x3c($sp) -/* 0C3118 800C2518 AFB40038 */ sw $s4, 0x38($sp) -/* 0C311C 800C251C AFB30034 */ sw $s3, 0x34($sp) -/* 0C3120 800C2520 AFB20030 */ sw $s2, 0x30($sp) -/* 0C3124 800C2524 AFB1002C */ sw $s1, 0x2c($sp) -/* 0C3128 800C2528 A2000000 */ sb $zero, ($s0) -/* 0C312C 800C252C 3C04F200 */ lui $a0, 0xf200 -/* 0C3130 800C2530 0C032EEE */ jal func_800CBBB8 -/* 0C3134 800C2534 00002825 */ move $a1, $zero -/* 0C3138 800C2538 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C313C 800C253C 44811000 */ mtc1 $at, $f2 -/* 0C3140 800C2540 A2000000 */ sb $zero, ($s0) -/* 0C3144 800C2544 3C01800F */ lui $at, %hi(D_800EA15C) # $at, 0x800f -/* 0C3148 800C2548 A420A15C */ sh $zero, %lo(D_800EA15C)($at) -/* 0C314C 800C254C 3C01800F */ lui $at, %hi(D_800EA160) # $at, 0x800f -/* 0C3150 800C2550 A420A160 */ sh $zero, %lo(D_800EA160)($at) -/* 0C3154 800C2554 3C01800F */ lui $at, %hi(D_800EA164) # $at, 0x800f -/* 0C3158 800C2558 A020A164 */ sb $zero, %lo(D_800EA164)($at) -/* 0C315C 800C255C 3C01800F */ lui $at, %hi(D_800EA178) # $at, 0x800f -/* 0C3160 800C2560 E422A178 */ swc1 $f2, %lo(D_800EA178)($at) -/* 0C3164 800C2564 3C01800F */ lui $at, %hi(D_800F35E8) # $at, 0x800f -/* 0C3168 800C2568 C42435E8 */ lwc1 $f4, %lo(D_800F35E8)($at) -/* 0C316C 800C256C 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f -/* 0C3170 800C2570 3C108019 */ lui $s0, %hi(D_8018FBD8) # $s0, 0x8019 -/* 0C3174 800C2574 E424A17C */ swc1 $f4, %lo(D_800EA17C)($at) -/* 0C3178 800C2578 3C01800F */ lui $at, %hi(D_800EA180) # $at, 0x800f -/* 0C317C 800C257C A420A180 */ sh $zero, %lo(D_800EA180)($at) -/* 0C3180 800C2580 3C01800F */ lui $at, %hi(D_800EA184) # $at, 0x800f -/* 0C3184 800C2584 3C178019 */ lui $s7, %hi(D_8018FC10) # $s7, 0x8019 -/* 0C3188 800C2588 3C16800F */ lui $s6, %hi(D_800E9E94) # $s6, 0x800f -/* 0C318C 800C258C 3C15800F */ lui $s5, %hi(D_800E9E84) # $s5, 0x800f -/* 0C3190 800C2590 3C14800F */ lui $s4, %hi(D_800E9E74) # $s4, 0x800f -/* 0C3194 800C2594 3C13800F */ lui $s3, %hi(D_800E9F7C) # $s3, 0x800f -/* 0C3198 800C2598 3C12800F */ lui $s2, %hi(D_800E9EA4) # $s2, 0x800f -/* 0C319C 800C259C 3C11800F */ lui $s1, %hi(D_800EA0EC) # $s1, 0x800f -/* 0C31A0 800C25A0 3C1F8019 */ lui $ra, %hi(D_8018FBA8) # $ra, 0x8019 -/* 0C31A4 800C25A4 3C0B800F */ lui $t3, %hi(D_800E9DF4) # $t3, 0x800f -/* 0C31A8 800C25A8 3C0A800F */ lui $t2, %hi(D_800E9DB4) # $t2, 0x800f -/* 0C31AC 800C25AC 3C08800F */ lui $t0, %hi(gPlayers) # $t0, 0x800f -/* 0C31B0 800C25B0 44806000 */ mtc1 $zero, $f12 -/* 0C31B4 800C25B4 44800000 */ mtc1 $zero, $f0 -/* 0C31B8 800C25B8 A420A184 */ sh $zero, %lo(D_800EA184)($at) -/* 0C31BC 800C25BC 25086990 */ addiu $t0, %lo(gPlayers) # addiu $t0, $t0, 0x6990 -/* 0C31C0 800C25C0 254A9DB4 */ addiu $t2, %lo(D_800E9DB4) # addiu $t2, $t2, -0x624c -/* 0C31C4 800C25C4 256B9DF4 */ addiu $t3, %lo(D_800E9DF4) # addiu $t3, $t3, -0x620c -/* 0C31C8 800C25C8 27FFFBA8 */ addiu $ra, %lo(D_8018FBA8) # addiu $ra, $ra, -0x458 -/* 0C31CC 800C25CC 2631A0EC */ addiu $s1, %lo(D_800EA0EC) # addiu $s1, $s1, -0x5f14 -/* 0C31D0 800C25D0 26529EA4 */ addiu $s2, %lo(D_800E9EA4) # addiu $s2, $s2, -0x615c -/* 0C31D4 800C25D4 26739F7C */ addiu $s3, %lo(D_800E9F7C) # addiu $s3, $s3, -0x6084 -/* 0C31D8 800C25D8 26949E74 */ addiu $s4, %lo(D_800E9E74) # addiu $s4, $s4, -0x618c -/* 0C31DC 800C25DC 26B59E84 */ addiu $s5, %lo(D_800E9E84) # addiu $s5, $s5, -0x617c -/* 0C31E0 800C25E0 26D69E94 */ addiu $s6, %lo(D_800E9E94) # addiu $s6, $s6, -0x616c -/* 0C31E4 800C25E4 26F7FC10 */ addiu $s7, %lo(D_8018FC10) # addiu $s7, $s7, -0x3f0 -/* 0C31E8 800C25E8 2610FBD8 */ addiu $s0, %lo(D_8018FBD8) # addiu $s0, $s0, -0x428 -/* 0C31EC 800C25EC 00001025 */ move $v0, $zero -/* 0C31F0 800C25F0 240D003C */ li $t5, 60 -/* 0C31F4 800C25F4 240C000C */ li $t4, 12 -/* 0C31F8 800C25F8 24090DD8 */ li $t1, 3544 -.L800C25FC: -/* 0C31FC 800C25FC 004C0019 */ multu $v0, $t4 -/* 0C3200 800C2600 00021880 */ sll $v1, $v0, 2 -/* 0C3204 800C2604 01437821 */ addu $t7, $t2, $v1 -/* 0C3208 800C2608 ADE00000 */ sw $zero, ($t7) -/* 0C320C 800C260C 0163C021 */ addu $t8, $t3, $v1 -/* 0C3210 800C2610 E70C0000 */ swc1 $f12, ($t8) -/* 0C3214 800C2614 0222C821 */ addu $t9, $s1, $v0 -/* 0C3218 800C2618 A3200000 */ sb $zero, ($t9) -/* 0C321C 800C261C 02437021 */ addu $t6, $s2, $v1 -/* 0C3220 800C2620 ADC00000 */ sw $zero, ($t6) -/* 0C3224 800C2624 00003812 */ mflo $a3 -/* 0C3228 800C2628 03E72021 */ addu $a0, $ra, $a3 -/* 0C322C 800C262C 02072821 */ addu $a1, $s0, $a3 -/* 0C3230 800C2630 004D0019 */ multu $v0, $t5 -/* 0C3234 800C2634 E4800000 */ swc1 $f0, ($a0) -/* 0C3238 800C2638 E4800004 */ swc1 $f0, 4($a0) -/* 0C323C 800C263C E4800008 */ swc1 $f0, 8($a0) -/* 0C3240 800C2640 E4A00000 */ swc1 $f0, ($a1) -/* 0C3244 800C2644 E4A00004 */ swc1 $f0, 4($a1) -/* 0C3248 800C2648 E4A00008 */ swc1 $f0, 8($a1) -/* 0C324C 800C264C 0283C821 */ addu $t9, $s4, $v1 -/* 0C3250 800C2650 02A37021 */ addu $t6, $s5, $v1 -/* 0C3254 800C2654 02E32021 */ addu $a0, $s7, $v1 -/* 0C3258 800C2658 00007812 */ mflo $t7 -/* 0C325C 800C265C 026FC021 */ addu $t8, $s3, $t7 -/* 0C3260 800C2660 A3000014 */ sb $zero, 0x14($t8) -/* 0C3264 800C2664 00490019 */ multu $v0, $t1 -/* 0C3268 800C2668 AF200000 */ sw $zero, ($t9) -/* 0C326C 800C266C ADC00000 */ sw $zero, ($t6) -/* 0C3270 800C2670 02C37821 */ addu $t7, $s6, $v1 -/* 0C3274 800C2674 ADE00000 */ sw $zero, ($t7) -/* 0C3278 800C2678 241900FF */ li $t9, 255 -/* 0C327C 800C267C 3C01800F */ lui $at, %hi(D_800EA10C) -/* 0C3280 800C2680 00220821 */ addu $at, $at, $v0 -/* 0C3284 800C2684 0000C012 */ mflo $t8 -/* 0C3288 800C2688 01183021 */ addu $a2, $t0, $t8 -/* 0C328C 800C268C A0C001D4 */ sb $zero, 0x1d4($a2) -/* 0C3290 800C2690 A0C001EC */ sb $zero, 0x1ec($a2) -/* 0C3294 800C2694 ACC000BC */ sw $zero, 0xbc($a2) -/* 0C3298 800C2698 E4C0020C */ swc1 $f0, 0x20c($a2) -/* 0C329C 800C269C A4C000C0 */ sh $zero, 0xc0($a2) -/* 0C32A0 800C26A0 E4C00098 */ swc1 $f0, 0x98($a2) -/* 0C32A4 800C26A4 A4C000DE */ sh $zero, 0xde($a2) -/* 0C32A8 800C26A8 A4990000 */ sh $t9, ($a0) -/* 0C32AC 800C26AC A4800002 */ sh $zero, 2($a0) -/* 0C32B0 800C26B0 A020A10C */ sb $zero, %lo(D_800EA10C)($at) -/* 0C32B4 800C26B4 3C01800F */ lui $at, %hi(D_800E9F74) -/* 0C32B8 800C26B8 00220821 */ addu $at, $at, $v0 -/* 0C32BC 800C26BC A0209F74 */ sb $zero, %lo(D_800E9F74)($at) -/* 0C32C0 800C26C0 3C01800F */ lui $at, %hi(D_800E9F78) -/* 0C32C4 800C26C4 00220821 */ addu $at, $at, $v0 -/* 0C32C8 800C26C8 24420001 */ addiu $v0, $v0, 1 -/* 0C32CC 800C26CC 304E00FF */ andi $t6, $v0, 0xff -/* 0C32D0 800C26D0 A0209F78 */ sb $zero, %lo(D_800E9F78)($at) -/* 0C32D4 800C26D4 29C10004 */ slti $at, $t6, 4 -/* 0C32D8 800C26D8 1420FFC8 */ bnez $at, .L800C25FC -/* 0C32DC 800C26DC 01C01025 */ move $v0, $t6 -/* 0C32E0 800C26E0 3C0B800F */ lui $t3, %hi(D_800EA06C) # $t3, 0x800f -/* 0C32E4 800C26E4 3C0A800F */ lui $t2, %hi(D_800EA130) # $t2, 0x800f -/* 0C32E8 800C26E8 3C07800F */ lui $a3, %hi(D_800E9F54) # $a3, 0x800f -/* 0C32EC 800C26EC 3C06800F */ lui $a2, %hi(D_800E9F34) # $a2, 0x800f -/* 0C32F0 800C26F0 3C05800F */ lui $a1, %hi(D_800E9F2C) # $a1, 0x800f -/* 0C32F4 800C26F4 3C04800F */ lui $a0, %hi(D_800E9F24) # $a0, 0x800f -/* 0C32F8 800C26F8 24849F24 */ addiu $a0, %lo(D_800E9F24) # addiu $a0, $a0, -0x60dc -/* 0C32FC 800C26FC 24A59F2C */ addiu $a1, %lo(D_800E9F2C) # addiu $a1, $a1, -0x60d4 -/* 0C3300 800C2700 24C69F34 */ addiu $a2, %lo(D_800E9F34) # addiu $a2, $a2, -0x60cc -/* 0C3304 800C2704 24E79F54 */ addiu $a3, %lo(D_800E9F54) # addiu $a3, $a3, -0x60ac -/* 0C3308 800C2708 254AA130 */ addiu $t2, %lo(D_800EA130) # addiu $t2, $t2, -0x5ed0 -/* 0C330C 800C270C 256BA06C */ addiu $t3, %lo(D_800EA06C) # addiu $t3, $t3, -0x5f94 -/* 0C3310 800C2710 00001025 */ move $v0, $zero -.L800C2714: -/* 0C3314 800C2714 00490019 */ multu $v0, $t1 -/* 0C3318 800C2718 00827821 */ addu $t7, $a0, $v0 -/* 0C331C 800C271C A1E00000 */ sb $zero, ($t7) -/* 0C3320 800C2720 00A2C021 */ addu $t8, $a1, $v0 -/* 0C3324 800C2724 00021880 */ sll $v1, $v0, 2 -/* 0C3328 800C2728 A3000000 */ sb $zero, ($t8) -/* 0C332C 800C272C 00C3C821 */ addu $t9, $a2, $v1 -/* 0C3330 800C2730 E7200000 */ swc1 $f0, ($t9) -/* 0C3334 800C2734 00E37021 */ addu $t6, $a3, $v1 -/* 0C3338 800C2738 0002C100 */ sll $t8, $v0, 4 -/* 0C333C 800C273C E5C00000 */ swc1 $f0, ($t6) -/* 0C3340 800C2740 01437821 */ addu $t7, $t2, $v1 -/* 0C3344 800C2744 24420001 */ addiu $v0, $v0, 1 -/* 0C3348 800C2748 E5E00000 */ swc1 $f0, ($t7) -/* 0C334C 800C274C 0178C821 */ addu $t9, $t3, $t8 -/* 0C3350 800C2750 305800FF */ andi $t8, $v0, 0xff -/* 0C3354 800C2754 00007012 */ mflo $t6 -/* 0C3358 800C2758 2B010008 */ slti $at, $t8, 8 -/* 0C335C 800C275C A320000C */ sb $zero, 0xc($t9) -/* 0C3360 800C2760 010E7821 */ addu $t7, $t0, $t6 -/* 0C3364 800C2764 03001025 */ move $v0, $t8 -/* 0C3368 800C2768 1420FFEA */ bnez $at, .L800C2714 -/* 0C336C 800C276C ADE000BC */ sw $zero, 0xbc($t7) -/* 0C3370 800C2770 3C048019 */ lui $a0, %hi(D_8018EF18) # $a0, 0x8019 -/* 0C3374 800C2774 2484EF18 */ addiu $a0, %lo(D_8018EF18) # addiu $a0, $a0, -0x10e8 -/* 0C3378 800C2778 00001025 */ move $v0, $zero -/* 0C337C 800C277C 24050040 */ li $a1, 64 -.L800C2780: -/* 0C3380 800C2780 004C0019 */ multu $v0, $t4 -/* 0C3384 800C2784 24420001 */ addiu $v0, $v0, 1 -/* 0C3388 800C2788 304E00FF */ andi $t6, $v0, 0xff -/* 0C338C 800C278C 29C10010 */ slti $at, $t6, 0x10 -/* 0C3390 800C2790 01C01025 */ move $v0, $t6 -/* 0C3394 800C2794 0000C812 */ mflo $t9 -/* 0C3398 800C2798 00991821 */ addu $v1, $a0, $t9 -/* 0C339C 800C279C E4620000 */ swc1 $f2, ($v1) -/* 0C33A0 800C27A0 E4620004 */ swc1 $f2, 4($v1) -/* 0C33A4 800C27A4 A0600008 */ sb $zero, 8($v1) -/* 0C33A8 800C27A8 1420FFF5 */ bnez $at, .L800C2780 -/* 0C33AC 800C27AC A0650009 */ sb $a1, 9($v1) -/* 0C33B0 800C27B0 3C058019 */ lui $a1, %hi(D_8018EFD8) # $a1, 0x8019 -/* 0C33B4 800C27B4 24A5EFD8 */ addiu $a1, %lo(D_8018EFD8) # addiu $a1, $a1, -0x1028 -/* 0C33B8 800C27B8 240600FF */ li $a2, 255 -/* 0C33BC 800C27BC A0A60029 */ sb $a2, 0x29($a1) -/* 0C33C0 800C27C0 A0A6002A */ sb $a2, 0x2a($a1) -/* 0C33C4 800C27C4 24020001 */ li $v0, 1 -/* 0C33C8 800C27C8 24030001 */ li $v1, 1 -.L800C27CC: -/* 0C33CC 800C27CC 004D0019 */ multu $v0, $t5 -/* 0C33D0 800C27D0 24420001 */ addiu $v0, $v0, 1 -/* 0C33D4 800C27D4 304E00FF */ andi $t6, $v0, 0xff -/* 0C33D8 800C27D8 29C10031 */ slti $at, $t6, 0x31 -/* 0C33DC 800C27DC 2478FFFF */ addiu $t8, $v1, -1 -/* 0C33E0 800C27E0 24790001 */ addiu $t9, $v1, 1 -/* 0C33E4 800C27E4 01C01825 */ move $v1, $t6 -/* 0C33E8 800C27E8 01C01025 */ move $v0, $t6 -/* 0C33EC 800C27EC 00007812 */ mflo $t7 -/* 0C33F0 800C27F0 00AF2021 */ addu $a0, $a1, $t7 -/* 0C33F4 800C27F4 A0980029 */ sb $t8, 0x29($a0) -/* 0C33F8 800C27F8 1420FFF4 */ bnez $at, .L800C27CC -/* 0C33FC 800C27FC A099002A */ sb $t9, 0x2a($a0) -/* 0C3400 800C2800 01CD0019 */ multu $t6, $t5 -/* 0C3404 800C2804 25D8FFFF */ addiu $t8, $t6, -1 -/* 0C3408 800C2808 03C0E825 */ move $sp, $fp -/* 0C340C 800C280C 00007812 */ mflo $t7 -/* 0C3410 800C2810 00AF2021 */ addu $a0, $a1, $t7 -/* 0C3414 800C2814 A0980029 */ sb $t8, 0x29($a0) -/* 0C3418 800C2818 A086002A */ sb $a2, 0x2a($a0) -/* 0C341C 800C281C 8FDF004C */ lw $ra, 0x4c($fp) -/* 0C3420 800C2820 8FD70044 */ lw $s7, 0x44($fp) -/* 0C3424 800C2824 8FD60040 */ lw $s6, 0x40($fp) -/* 0C3428 800C2828 8FD5003C */ lw $s5, 0x3c($fp) -/* 0C342C 800C282C 8FD40038 */ lw $s4, 0x38($fp) -/* 0C3430 800C2830 8FD30034 */ lw $s3, 0x34($fp) -/* 0C3434 800C2834 8FD20030 */ lw $s2, 0x30($fp) -/* 0C3438 800C2838 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C343C 800C283C 8FD00028 */ lw $s0, 0x28($fp) -/* 0C3440 800C2840 8FDE0048 */ lw $fp, 0x48($fp) -/* 0C3444 800C2844 03E00008 */ jr $ra -/* 0C3448 800C2848 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel func_800C284C -/* 0C344C 800C284C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C3450 800C2850 3C0F800F */ lui $t7, %hi(D_800EA1EC) # $t7, 0x800f -/* 0C3454 800C2854 91EFA1EC */ lbu $t7, %lo(D_800EA1EC)($t7) -/* 0C3458 800C2858 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C345C 800C285C AFA7004C */ sw $a3, 0x4c($sp) -/* 0C3460 800C2860 30EEFFFF */ andi $t6, $a3, 0xffff -/* 0C3464 800C2864 01C03825 */ move $a3, $t6 -/* 0C3468 800C2868 03A0F025 */ move $fp, $sp -/* 0C346C 800C286C AFBF002C */ sw $ra, 0x2c($sp) -/* 0C3470 800C2870 AFA40040 */ sw $a0, 0x40($sp) -/* 0C3474 800C2874 AFA50044 */ sw $a1, 0x44($sp) -/* 0C3478 800C2878 11E00005 */ beqz $t7, .L800C2890 -/* 0C347C 800C287C AFA60048 */ sw $a2, 0x48($sp) -/* 0C3480 800C2880 93D80043 */ lbu $t8, 0x43($fp) -/* 0C3484 800C2884 24010002 */ li $at, 2 -/* 0C3488 800C2888 57010046 */ bnel $t8, $at, .L800C29A4 -/* 0C348C 800C288C 8FDF002C */ lw $ra, 0x2c($fp) -.L800C2890: -/* 0C3490 800C2890 93D90043 */ lbu $t9, 0x43($fp) -/* 0C3494 800C2894 93CB0047 */ lbu $t3, 0x47($fp) -/* 0C3498 800C2898 3C018200 */ lui $at, 0x8200 -/* 0C349C 800C289C 00191400 */ sll $v0, $t9, 0x10 -/* 0C34A0 800C28A0 00414825 */ or $t1, $v0, $at -/* 0C34A4 800C28A4 000B6200 */ sll $t4, $t3, 8 -/* 0C34A8 800C28A8 012C2025 */ or $a0, $t1, $t4 -/* 0C34AC 800C28AC AFC20034 */ sw $v0, 0x34($fp) -/* 0C34B0 800C28B0 0C032EEE */ jal func_800CBBB8 -/* 0C34B4 800C28B4 00E02825 */ move $a1, $a3 -/* 0C34B8 800C28B8 93CD0043 */ lbu $t5, 0x43($fp) -/* 0C34BC 800C28BC 3C0F8019 */ lui $t7, %hi(D_801930D0) # $t7, 0x8019 -/* 0C34C0 800C28C0 25EF30D0 */ addiu $t7, %lo(D_801930D0) # addiu $t7, $t7, 0x30d0 -/* 0C34C4 800C28C4 000D70C0 */ sll $t6, $t5, 3 -/* 0C34C8 800C28C8 01CD7021 */ addu $t6, $t6, $t5 -/* 0C34CC 800C28CC 000E7080 */ sll $t6, $t6, 2 -/* 0C34D0 800C28D0 01CD7021 */ addu $t6, $t6, $t5 -/* 0C34D4 800C28D4 000E7080 */ sll $t6, $t6, 2 -/* 0C34D8 800C28D8 01CD7023 */ subu $t6, $t6, $t5 -/* 0C34DC 800C28DC 000E7080 */ sll $t6, $t6, 2 -/* 0C34E0 800C28E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C34E4 800C28E4 01CF3021 */ addu $a2, $t6, $t7 -/* 0C34E8 800C28E8 44810000 */ mtc1 $at, $f0 -/* 0C34EC 800C28EC C4C20000 */ lwc1 $f2, ($a2) -/* 0C34F0 800C28F0 93D9004B */ lbu $t9, 0x4b($fp) -/* 0C34F4 800C28F4 93D80047 */ lbu $t8, 0x47($fp) -/* 0C34F8 800C28F8 46020032 */ c.eq.s $f0, $f2 -/* 0C34FC 800C28FC 00194200 */ sll $t0, $t9, 8 -/* 0C3500 800C2900 8FC20034 */ lw $v0, 0x34($fp) -/* 0C3504 800C2904 03085025 */ or $t2, $t8, $t0 -/* 0C3508 800C2908 45010009 */ bc1t .L800C2930 -/* 0C350C 800C290C A4CA0248 */ sh $t2, 0x248($a2) -/* 0C3510 800C2910 3C014100 */ lui $at, 0x4100 -/* 0C3514 800C2914 44051000 */ mfc1 $a1, $f2 -/* 0C3518 800C2918 00412025 */ or $a0, $v0, $at -/* 0C351C 800C291C 0C032EE2 */ jal func_800CBB88 -/* 0C3520 800C2920 AFC60030 */ sw $a2, 0x30($fp) -/* 0C3524 800C2924 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C3528 800C2928 44810000 */ mtc1 $at, $f0 -/* 0C352C 800C292C 8FC60030 */ lw $a2, 0x30($fp) -.L800C2930: -/* 0C3530 800C2930 A4C00028 */ sh $zero, 0x28($a2) -/* 0C3534 800C2934 A4C00018 */ sh $zero, 0x18($a2) -/* 0C3538 800C2938 ACC00014 */ sw $zero, 0x14($a2) -/* 0C353C 800C293C 93CB0043 */ lbu $t3, 0x43($fp) -/* 0C3540 800C2940 3C0C8019 */ lui $t4, %hi(D_801930D0) # $t4, 0x8019 -/* 0C3544 800C2944 258C30D0 */ addiu $t4, %lo(D_801930D0) # addiu $t4, $t4, 0x30d0 -/* 0C3548 800C2948 000B48C0 */ sll $t1, $t3, 3 -/* 0C354C 800C294C 012B4821 */ addu $t1, $t1, $t3 -/* 0C3550 800C2950 00094880 */ sll $t1, $t1, 2 -/* 0C3554 800C2954 012B4821 */ addu $t1, $t1, $t3 -/* 0C3558 800C2958 00094880 */ sll $t1, $t1, 2 -/* 0C355C 800C295C 012B4823 */ subu $t1, $t1, $t3 -/* 0C3560 800C2960 00094880 */ sll $t1, $t1, 2 -/* 0C3564 800C2964 012C2021 */ addu $a0, $t1, $t4 -/* 0C3568 800C2968 00001825 */ move $v1, $zero -.L800C296C: -/* 0C356C 800C296C 00036940 */ sll $t5, $v1, 5 -/* 0C3570 800C2970 24630001 */ addiu $v1, $v1, 1 -/* 0C3574 800C2974 008D1021 */ addu $v0, $a0, $t5 -/* 0C3578 800C2978 306E00FF */ andi $t6, $v1, 0xff -/* 0C357C 800C297C 29C10010 */ slti $at, $t6, 0x10 -/* 0C3580 800C2980 01C01825 */ move $v1, $t6 -/* 0C3584 800C2984 E4400044 */ swc1 $f0, 0x44($v0) -/* 0C3588 800C2988 A4400050 */ sh $zero, 0x50($v0) -/* 0C358C 800C298C E4400054 */ swc1 $f0, 0x54($v0) -/* 0C3590 800C2990 1420FFF6 */ bnez $at, .L800C296C -/* 0C3594 800C2994 A4400060 */ sh $zero, 0x60($v0) -/* 0C3598 800C2998 A4C00244 */ sh $zero, 0x244($a2) -/* 0C359C 800C299C A4C00246 */ sh $zero, 0x246($a2) -/* 0C35A0 800C29A0 8FDF002C */ lw $ra, 0x2c($fp) -.L800C29A4: -/* 0C35A4 800C29A4 03C0E825 */ move $sp, $fp -/* 0C35A8 800C29A8 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C35AC 800C29AC 03E00008 */ jr $ra -/* 0C35B0 800C29B0 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800C29B4 -/* 0C35B4 800C29B4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C35B8 800C29B8 AFA40030 */ sw $a0, 0x30($sp) -/* 0C35BC 800C29BC 93AF0033 */ lbu $t7, 0x33($sp) -/* 0C35C0 800C29C0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C35C4 800C29C4 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C35C8 800C29C8 AFA50034 */ sw $a1, 0x34($sp) -/* 0C35CC 800C29CC 30AEFFFF */ andi $t6, $a1, 0xffff -/* 0C35D0 800C29D0 3C018300 */ lui $at, 0x8300 -/* 0C35D4 800C29D4 000FC400 */ sll $t8, $t7, 0x10 -/* 0C35D8 800C29D8 01C02825 */ move $a1, $t6 -/* 0C35DC 800C29DC 03A0F025 */ move $fp, $sp -/* 0C35E0 800C29E0 0C032EEE */ jal func_800CBBB8 -/* 0C35E4 800C29E4 03012025 */ or $a0, $t8, $at -/* 0C35E8 800C29E8 93C90033 */ lbu $t1, 0x33($fp) -/* 0C35EC 800C29EC 3C018019 */ lui $at, %hi(D_80193318) # 0x8019 -/* 0C35F0 800C29F0 3408FFFF */ li $t0, 65535 -/* 0C35F4 800C29F4 000950C0 */ sll $t2, $t1, 3 -/* 0C35F8 800C29F8 01495021 */ addu $t2, $t2, $t1 -/* 0C35FC 800C29FC 000A5080 */ sll $t2, $t2, 2 -/* 0C3600 800C2A00 01495021 */ addu $t2, $t2, $t1 -/* 0C3604 800C2A04 000A5080 */ sll $t2, $t2, 2 -/* 0C3608 800C2A08 01495023 */ subu $t2, $t2, $t1 -/* 0C360C 800C2A0C 000A5080 */ sll $t2, $t2, 2 -/* 0C3610 800C2A10 002A0821 */ addu $at, $at, $t2 -/* 0C3614 800C2A14 A4283318 */ sh $t0, %lo(D_80193318)($at) # 0x3318($at) -/* 0C3618 800C2A18 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C361C 800C2A1C 03C0E825 */ move $sp, $fp -/* 0C3620 800C2A20 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C3624 800C2A24 03E00008 */ jr $ra -/* 0C3628 800C2A28 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C2A2C -/* 0C362C 800C2A2C 3C010F00 */ lui $at, 0xf00 -/* 0C3630 800C2A30 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0C3634 800C2A34 00815024 */ and $t2, $a0, $at -/* 0C3638 800C2A38 00047F02 */ srl $t7, $a0, 0x1c -/* 0C363C 800C2A3C 31F800FF */ andi $t8, $t7, 0xff -/* 0C3640 800C2A40 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C3644 800C2A44 AFB00024 */ sw $s0, 0x24($sp) -/* 0C3648 800C2A48 000A7602 */ srl $t6, $t2, 0x18 -/* 0C364C 800C2A4C 2F010010 */ sltiu $at, $t8, 0x10 -/* 0C3650 800C2A50 00808025 */ move $s0, $a0 -/* 0C3654 800C2A54 03A0F025 */ move $fp, $sp -/* 0C3658 800C2A58 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C365C 800C2A5C 01C05025 */ move $t2, $t6 -/* 0C3660 800C2A60 10200273 */ beqz $at, .L800C3430 -/* 0C3664 800C2A64 31C500FF */ andi $a1, $t6, 0xff -/* 0C3668 800C2A68 0018C080 */ sll $t8, $t8, 2 -/* 0C366C 800C2A6C 3C01800F */ lui $at, %hi(D_800F35EC) -/* 0C3670 800C2A70 00380821 */ addu $at, $at, $t8 -/* 0C3674 800C2A74 8C3835EC */ lw $t8, %lo(D_800F35EC)($at) -/* 0C3678 800C2A78 03000008 */ jr $t8 -/* 0C367C 800C2A7C 00000000 */ nop -glabel L800C2A80 -/* 0C3680 800C2A80 3C0100FF */ lui $at, 0xff -/* 0C3684 800C2A84 02013824 */ and $a3, $s0, $at -/* 0C3688 800C2A88 02002825 */ move $a1, $s0 -/* 0C368C 800C2A8C 3206FF00 */ andi $a2, $s0, 0xff00 -/* 0C3690 800C2A90 00067202 */ srl $t6, $a2, 8 -/* 0C3694 800C2A94 30B900FF */ andi $t9, $a1, 0xff -/* 0C3698 800C2A98 0007C342 */ srl $t8, $a3, 0xd -/* 0C369C 800C2A9C 3307FFFF */ andi $a3, $t8, 0xffff -/* 0C36A0 800C2AA0 03202825 */ move $a1, $t9 -/* 0C36A4 800C2AA4 31C600FF */ andi $a2, $t6, 0xff -/* 0C36A8 800C2AA8 0C030A13 */ jal func_800C284C -/* 0C36AC 800C2AAC 314400FF */ andi $a0, $t2, 0xff -/* 0C36B0 800C2AB0 10000260 */ b .L800C3434 -/* 0C36B4 800C2AB4 8FDF002C */ lw $ra, 0x2c($fp) -glabel L800C2AB8 -/* 0C36B8 800C2AB8 3C0100FF */ lui $at, 0xff -/* 0C36BC 800C2ABC 02012824 */ and $a1, $s0, $at -/* 0C36C0 800C2AC0 00057342 */ srl $t6, $a1, 0xd -/* 0C36C4 800C2AC4 31C5FFFF */ andi $a1, $t6, 0xffff -/* 0C36C8 800C2AC8 0C030A6D */ jal func_800C29B4 -/* 0C36CC 800C2ACC 314400FF */ andi $a0, $t2, 0xff -/* 0C36D0 800C2AD0 10000258 */ b .L800C3434 -/* 0C36D4 800C2AD4 8FDF002C */ lw $ra, 0x2c($fp) -glabel L800C2AD8 -/* 0C36D8 800C2AD8 3C028019 */ lui $v0, %hi(D_80192CC6) # $v0, 0x8019 -/* 0C36DC 800C2ADC 315800FF */ andi $t8, $t2, 0xff -/* 0C36E0 800C2AE0 24422CC6 */ addiu $v0, %lo(D_80192CC6) # addiu $v0, $v0, 0x2cc6 -/* 0C36E4 800C2AE4 00586021 */ addu $t4, $v0, $t8 -/* 0C36E8 800C2AE8 AFD8003C */ sw $t8, 0x3c($fp) -/* 0C36EC 800C2AEC 91890000 */ lbu $t1, ($t4) -/* 0C36F0 800C2AF0 0300C825 */ move $t9, $t8 -/* 0C36F4 800C2AF4 00001825 */ move $v1, $zero -/* 0C36F8 800C2AF8 19200023 */ blez $t1, .L800C2B88 -/* 0C36FC 800C2AFC 01205825 */ move $t3, $t1 -/* 0C3700 800C2B00 0018C080 */ sll $t8, $t8, 2 -/* 0C3704 800C2B04 0319C021 */ addu $t8, $t8, $t9 -/* 0C3708 800C2B08 3C0E8019 */ lui $t6, %hi(D_80192CA8) # $t6, 0x8019 -/* 0C370C 800C2B0C 25CE2CA8 */ addiu $t6, %lo(D_80192CA8) # addiu $t6, $t6, 0x2ca8 -/* 0C3710 800C2B10 0018C040 */ sll $t8, $t8, 1 -/* 0C3714 800C2B14 320400FF */ andi $a0, $s0, 0xff -/* 0C3718 800C2B18 AFC40048 */ sw $a0, 0x48($fp) -/* 0C371C 800C2B1C 030E3021 */ addu $a2, $t8, $t6 -.L800C2B20: -/* 0C3720 800C2B20 00037840 */ sll $t7, $v1, 1 -/* 0C3724 800C2B24 00CFC821 */ addu $t9, $a2, $t7 -/* 0C3728 800C2B28 93380000 */ lbu $t8, ($t9) -/* 0C372C 800C2B2C 00457821 */ addu $t7, $v0, $a1 -/* 0C3730 800C2B30 5498000F */ bnel $a0, $t8, .L800C2B70 -/* 0C3734 800C2B34 91F90000 */ lbu $t9, ($t7) -/* 0C3738 800C2B38 1460023D */ bnez $v1, .L800C3430 -/* 0C373C 800C2B3C 3206FF00 */ andi $a2, $s0, 0xff00 -/* 0C3740 800C2B40 3C0100FF */ lui $at, 0xff -/* 0C3744 800C2B44 02013824 */ and $a3, $s0, $at -/* 0C3748 800C2B48 0007CB42 */ srl $t9, $a3, 0xd -/* 0C374C 800C2B4C 00067202 */ srl $t6, $a2, 8 -/* 0C3750 800C2B50 31C600FF */ andi $a2, $t6, 0xff -/* 0C3754 800C2B54 3327FFFF */ andi $a3, $t9, 0xffff -/* 0C3758 800C2B58 93C4003F */ lbu $a0, 0x3f($fp) -/* 0C375C 800C2B5C 0C030A13 */ jal func_800C284C -/* 0C3760 800C2B60 93C5004B */ lbu $a1, 0x4b($fp) -/* 0C3764 800C2B64 10000233 */ b .L800C3434 -/* 0C3768 800C2B68 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C376C 800C2B6C 91F90000 */ lbu $t9, ($t7) -.L800C2B70: -/* 0C3770 800C2B70 24630001 */ addiu $v1, $v1, 1 -/* 0C3774 800C2B74 306E00FF */ andi $t6, $v1, 0xff -/* 0C3778 800C2B78 01D9082A */ slt $at, $t6, $t9 -/* 0C377C 800C2B7C 1420FFE8 */ bnez $at, .L800C2B20 -/* 0C3780 800C2B80 01C01825 */ move $v1, $t6 -/* 0C3784 800C2B84 00001825 */ move $v1, $zero -.L800C2B88: -/* 0C3788 800C2B88 1960001B */ blez $t3, .L800C2BF8 -/* 0C378C 800C2B8C 312800FF */ andi $t0, $t1, 0xff -/* 0C3790 800C2B90 8FD8003C */ lw $t8, 0x3c($fp) -/* 0C3794 800C2B94 3C028019 */ lui $v0, %hi(D_80192CC6) # 0x8019 -/* 0C3798 800C2B98 3C0F8019 */ lui $t7, %hi(D_80192CA8) # $t7, 0x8019 -/* 0C379C 800C2B9C 00187080 */ sll $t6, $t8, 2 -/* 0C37A0 800C2BA0 3204FF00 */ andi $a0, $s0, 0xff00 -/* 0C37A4 800C2BA4 01D87021 */ addu $t6, $t6, $t8 -/* 0C37A8 800C2BA8 000E7040 */ sll $t6, $t6, 1 -/* 0C37AC 800C2BAC 0004CA02 */ srl $t9, $a0, 8 -/* 0C37B0 800C2BB0 25EF2CA8 */ addiu $t7, %lo(D_80192CA8) # addiu $t7, $t7, 0x2ca8 -/* 0C37B4 800C2BB4 00451021 */ addu $v0, $v0, $a1 -/* 0C37B8 800C2BB8 90422CC6 */ lbu $v0, %lo(D_80192CC6)($v0) # 0x2cc6($v0) -/* 0C37BC 800C2BBC 01CF3021 */ addu $a2, $t6, $t7 -/* 0C37C0 800C2BC0 332400FF */ andi $a0, $t9, 0xff -.L800C2BC4: -/* 0C37C4 800C2BC4 00037040 */ sll $t6, $v1, 1 -/* 0C37C8 800C2BC8 00CE7821 */ addu $t7, $a2, $t6 -/* 0C37CC 800C2BCC 91F90001 */ lbu $t9, 1($t7) -/* 0C37D0 800C2BD0 0099082A */ slt $at, $a0, $t9 -/* 0C37D4 800C2BD4 54200004 */ bnel $at, $zero, .L800C2BE8 -/* 0C37D8 800C2BD8 24630001 */ addiu $v1, $v1, 1 -/* 0C37DC 800C2BDC 306800FF */ andi $t0, $v1, 0xff -/* 0C37E0 800C2BE0 312300FF */ andi $v1, $t1, 0xff -/* 0C37E4 800C2BE4 24630001 */ addiu $v1, $v1, 1 -.L800C2BE8: -/* 0C37E8 800C2BE8 307800FF */ andi $t8, $v1, 0xff -/* 0C37EC 800C2BEC 0302082A */ slt $at, $t8, $v0 -/* 0C37F0 800C2BF0 1420FFF4 */ bnez $at, .L800C2BC4 -/* 0C37F4 800C2BF4 03001825 */ move $v1, $t8 -.L800C2BF8: -/* 0C37F8 800C2BF8 150B0003 */ bne $t0, $t3, .L800C2C08 -/* 0C37FC 800C2BFC 01005025 */ move $t2, $t0 -/* 0C3800 800C2C00 15400027 */ bnez $t2, .L800C2CA0 -/* 0C3804 800C2C04 00000000 */ nop -.L800C2C08: -/* 0C3808 800C2C08 8FD8003C */ lw $t8, 0x3c($fp) -/* 0C380C 800C2C0C 02006825 */ move $t5, $s0 -/* 0C3810 800C2C10 31AE00FF */ andi $t6, $t5, 0xff -/* 0C3814 800C2C14 3207FF00 */ andi $a3, $s0, 0xff00 -/* 0C3818 800C2C18 00077A02 */ srl $t7, $a3, 8 -/* 0C381C 800C2C1C 01C06825 */ move $t5, $t6 -/* 0C3820 800C2C20 31E700FF */ andi $a3, $t7, 0xff -/* 0C3824 800C2C24 00187080 */ sll $t6, $t8, 2 -/* 0C3828 800C2C28 3C0F8019 */ lui $t7, %hi(D_80192CA8) # $t7, 0x8019 -/* 0C382C 800C2C2C 01D87021 */ addu $t6, $t6, $t8 -/* 0C3830 800C2C30 000E7040 */ sll $t6, $t6, 1 -/* 0C3834 800C2C34 25EF2CA8 */ addiu $t7, %lo(D_80192CA8) # addiu $t7, $t7, 0x2ca8 -/* 0C3838 800C2C38 29610005 */ slti $at, $t3, 5 -/* 0C383C 800C2C3C 10200004 */ beqz $at, .L800C2C50 -/* 0C3840 800C2C40 01CF3021 */ addu $a2, $t6, $t7 -/* 0C3844 800C2C44 25390001 */ addiu $t9, $t1, 1 -/* 0C3848 800C2C48 A1990000 */ sb $t9, ($t4) -/* 0C384C 800C2C4C 332B00FF */ andi $t3, $t9, 0xff -.L800C2C50: -/* 0C3850 800C2C50 2563FFFF */ addiu $v1, $t3, -1 -/* 0C3854 800C2C54 306200FF */ andi $v0, $v1, 0xff -/* 0C3858 800C2C58 1142000D */ beq $t2, $v0, .L800C2C90 -/* 0C385C 800C2C5C 00401825 */ move $v1, $v0 -.L800C2C60: -/* 0C3860 800C2C60 00027840 */ sll $t7, $v0, 1 -/* 0C3864 800C2C64 00CF2821 */ addu $a1, $a2, $t7 -/* 0C3868 800C2C68 90B9FFFF */ lbu $t9, -1($a1) -/* 0C386C 800C2C6C 00037040 */ sll $t6, $v1, 1 -/* 0C3870 800C2C70 00CE2021 */ addu $a0, $a2, $t6 -/* 0C3874 800C2C74 A0990001 */ sb $t9, 1($a0) -/* 0C3878 800C2C78 90B8FFFE */ lbu $t8, -2($a1) -/* 0C387C 800C2C7C 2463FFFF */ addiu $v1, $v1, -1 -/* 0C3880 800C2C80 306200FF */ andi $v0, $v1, 0xff -/* 0C3884 800C2C84 00401825 */ move $v1, $v0 -/* 0C3888 800C2C88 1542FFF5 */ bne $t2, $v0, .L800C2C60 -/* 0C388C 800C2C8C A0980000 */ sb $t8, ($a0) -.L800C2C90: -/* 0C3890 800C2C90 00087840 */ sll $t7, $t0, 1 -/* 0C3894 800C2C94 00CF1021 */ addu $v0, $a2, $t7 -/* 0C3898 800C2C98 A0470001 */ sb $a3, 1($v0) -/* 0C389C 800C2C9C A04D0000 */ sb $t5, ($v0) -.L800C2CA0: -/* 0C38A0 800C2CA0 154001E3 */ bnez $t2, .L800C3430 -/* 0C38A4 800C2CA4 02002825 */ move $a1, $s0 -/* 0C38A8 800C2CA8 3C0100FF */ lui $at, 0xff -/* 0C38AC 800C2CAC 02013824 */ and $a3, $s0, $at -/* 0C38B0 800C2CB0 3206FF00 */ andi $a2, $s0, 0xff00 -/* 0C38B4 800C2CB4 0006C202 */ srl $t8, $a2, 8 -/* 0C38B8 800C2CB8 00077B42 */ srl $t7, $a3, 0xd -/* 0C38BC 800C2CBC 30B900FF */ andi $t9, $a1, 0xff -/* 0C38C0 800C2CC0 03202825 */ move $a1, $t9 -/* 0C38C4 800C2CC4 31E7FFFF */ andi $a3, $t7, 0xffff -/* 0C38C8 800C2CC8 330600FF */ andi $a2, $t8, 0xff -/* 0C38CC 800C2CCC 0C030A13 */ jal func_800C284C -/* 0C38D0 800C2CD0 93C4003F */ lbu $a0, 0x3f($fp) -/* 0C38D4 800C2CD4 100001D7 */ b .L800C3434 -/* 0C38D8 800C2CD8 8FDF002C */ lw $ra, 0x2c($fp) -glabel L800C2CDC -/* 0C38DC 800C2CDC 3C028019 */ lui $v0, %hi(D_80192CC6) # $v0, 0x8019 -/* 0C38E0 800C2CE0 315800FF */ andi $t8, $t2, 0xff -/* 0C38E4 800C2CE4 24422CC6 */ addiu $v0, %lo(D_80192CC6) # addiu $v0, $v0, 0x2cc6 -/* 0C38E8 800C2CE8 00586021 */ addu $t4, $v0, $t8 -/* 0C38EC 800C2CEC AFD8003C */ sw $t8, 0x3c($fp) -/* 0C38F0 800C2CF0 91890000 */ lbu $t1, ($t4) -/* 0C38F4 800C2CF4 3C028019 */ lui $v0, %hi(D_80192CC6) # 0x8019 -/* 0C38F8 800C2CF8 00001825 */ move $v1, $zero -/* 0C38FC 800C2CFC 01204025 */ move $t0, $t1 -/* 0C3900 800C2D00 19200018 */ blez $t1, .L800C2D64 -/* 0C3904 800C2D04 01205825 */ move $t3, $t1 -/* 0C3908 800C2D08 0018C880 */ sll $t9, $t8, 2 -/* 0C390C 800C2D0C 0338C821 */ addu $t9, $t9, $t8 -/* 0C3910 800C2D10 3C188019 */ lui $t8, %hi(D_80192CA8) # $t8, 0x8019 -/* 0C3914 800C2D14 02002025 */ move $a0, $s0 -/* 0C3918 800C2D18 308F00FF */ andi $t7, $a0, 0xff -/* 0C391C 800C2D1C 27182CA8 */ addiu $t8, %lo(D_80192CA8) # addiu $t8, $t8, 0x2ca8 -/* 0C3920 800C2D20 0019C840 */ sll $t9, $t9, 1 -/* 0C3924 800C2D24 00451021 */ addu $v0, $v0, $a1 -/* 0C3928 800C2D28 90422CC6 */ lbu $v0, %lo(D_80192CC6)($v0) # 0x2cc6($v0) -/* 0C392C 800C2D2C 03383021 */ addu $a2, $t9, $t8 -/* 0C3930 800C2D30 01E02025 */ move $a0, $t7 -.L800C2D34: -/* 0C3934 800C2D34 00037840 */ sll $t7, $v1, 1 -/* 0C3938 800C2D38 00CF7021 */ addu $t6, $a2, $t7 -/* 0C393C 800C2D3C 91D90000 */ lbu $t9, ($t6) -/* 0C3940 800C2D40 54990004 */ bnel $a0, $t9, .L800C2D54 -/* 0C3944 800C2D44 24630001 */ addiu $v1, $v1, 1 -/* 0C3948 800C2D48 306800FF */ andi $t0, $v1, 0xff -/* 0C394C 800C2D4C 312300FF */ andi $v1, $t1, 0xff -/* 0C3950 800C2D50 24630001 */ addiu $v1, $v1, 1 -.L800C2D54: -/* 0C3954 800C2D54 307800FF */ andi $t8, $v1, 0xff -/* 0C3958 800C2D58 0302082A */ slt $at, $t8, $v0 -/* 0C395C 800C2D5C 1420FFF5 */ bnez $at, .L800C2D34 -/* 0C3960 800C2D60 03001825 */ move $v1, $t8 -.L800C2D64: -/* 0C3964 800C2D64 110B001C */ beq $t0, $t3, .L800C2DD8 -/* 0C3968 800C2D68 01005025 */ move $t2, $t0 -/* 0C396C 800C2D6C 2567FFFF */ addiu $a3, $t3, -1 -/* 0C3970 800C2D70 0107082A */ slt $at, $t0, $a3 -/* 0C3974 800C2D74 10200016 */ beqz $at, .L800C2DD0 -/* 0C3978 800C2D78 310300FF */ andi $v1, $t0, 0xff -/* 0C397C 800C2D7C 8FCF003C */ lw $t7, 0x3c($fp) -/* 0C3980 800C2D80 3C198019 */ lui $t9, %hi(D_80192CA8) # $t9, 0x8019 -/* 0C3984 800C2D84 27392CA8 */ addiu $t9, %lo(D_80192CA8) # addiu $t9, $t9, 0x2ca8 -/* 0C3988 800C2D88 000F7080 */ sll $t6, $t7, 2 -/* 0C398C 800C2D8C 01CF7021 */ addu $t6, $t6, $t7 -/* 0C3990 800C2D90 000E7040 */ sll $t6, $t6, 1 -/* 0C3994 800C2D94 01D93021 */ addu $a2, $t6, $t9 -/* 0C3998 800C2D98 00601025 */ move $v0, $v1 -.L800C2D9C: -/* 0C399C 800C2D9C 00027840 */ sll $t7, $v0, 1 -/* 0C39A0 800C2DA0 00CF2821 */ addu $a1, $a2, $t7 -/* 0C39A4 800C2DA4 90AE0003 */ lbu $t6, 3($a1) -/* 0C39A8 800C2DA8 0003C040 */ sll $t8, $v1, 1 -/* 0C39AC 800C2DAC 00D82021 */ addu $a0, $a2, $t8 -/* 0C39B0 800C2DB0 24630001 */ addiu $v1, $v1, 1 -/* 0C39B4 800C2DB4 A08E0001 */ sb $t6, 1($a0) -/* 0C39B8 800C2DB8 90B90002 */ lbu $t9, 2($a1) -/* 0C39BC 800C2DBC 306200FF */ andi $v0, $v1, 0xff -/* 0C39C0 800C2DC0 0047082A */ slt $at, $v0, $a3 -/* 0C39C4 800C2DC4 00401825 */ move $v1, $v0 -/* 0C39C8 800C2DC8 1420FFF4 */ bnez $at, .L800C2D9C -/* 0C39CC 800C2DCC A0990000 */ sb $t9, ($a0) -.L800C2DD0: -/* 0C39D0 800C2DD0 252FFFFF */ addiu $t7, $t1, -1 -/* 0C39D4 800C2DD4 A18F0000 */ sb $t7, ($t4) -.L800C2DD8: -/* 0C39D8 800C2DD8 15400195 */ bnez $t2, .L800C3430 -/* 0C39DC 800C2DDC 3C0100FF */ lui $at, 0xff -/* 0C39E0 800C2DE0 02013824 */ and $a3, $s0, $at -/* 0C39E4 800C2DE4 00077342 */ srl $t6, $a3, 0xd -/* 0C39E8 800C2DE8 31C7FFFF */ andi $a3, $t6, 0xffff -/* 0C39EC 800C2DEC 30E5FFFF */ andi $a1, $a3, 0xffff -/* 0C39F0 800C2DF0 AFC7004C */ sw $a3, 0x4c($fp) -/* 0C39F4 800C2DF4 93C4003F */ lbu $a0, 0x3f($fp) -/* 0C39F8 800C2DF8 0C030A6D */ jal func_800C29B4 -/* 0C39FC 800C2DFC AFCC0034 */ sw $t4, 0x34($fp) -/* 0C3A00 800C2E00 8FCC0034 */ lw $t4, 0x34($fp) -/* 0C3A04 800C2E04 8FC4003C */ lw $a0, 0x3c($fp) -/* 0C3A08 800C2E08 8FC7004C */ lw $a3, 0x4c($fp) -/* 0C3A0C 800C2E0C 91980000 */ lbu $t8, ($t4) -/* 0C3A10 800C2E10 00047880 */ sll $t7, $a0, 2 -/* 0C3A14 800C2E14 01E47821 */ addu $t7, $t7, $a0 -/* 0C3A18 800C2E18 13000185 */ beqz $t8, .L800C3430 -/* 0C3A1C 800C2E1C 000F7840 */ sll $t7, $t7, 1 -/* 0C3A20 800C2E20 3C0E8019 */ lui $t6, %hi(D_80192CA8) # $t6, 0x8019 -/* 0C3A24 800C2E24 25CE2CA8 */ addiu $t6, %lo(D_80192CA8) # addiu $t6, $t6, 0x2ca8 -/* 0C3A28 800C2E28 01EE1021 */ addu $v0, $t7, $t6 -/* 0C3A2C 800C2E2C 90450000 */ lbu $a1, ($v0) -/* 0C3A30 800C2E30 0C030A13 */ jal func_800C284C -/* 0C3A34 800C2E34 90460001 */ lbu $a2, 1($v0) -/* 0C3A38 800C2E38 1000017E */ b .L800C3434 -/* 0C3A3C 800C2E3C 8FDF002C */ lw $ra, 0x2c($fp) -glabel L800C2E40 -/* 0C3A40 800C2E40 3C0100FF */ lui $at, 0xff -/* 0C3A44 800C2E44 02011024 */ and $v0, $s0, $at -/* 0C3A48 800C2E48 0002CBC2 */ srl $t9, $v0, 0xf -/* 0C3A4C 800C2E4C 332300FF */ andi $v1, $t9, 0xff -/* 0C3A50 800C2E50 14600004 */ bnez $v1, .L800C2E64 -/* 0C3A54 800C2E54 332500FF */ andi $a1, $t9, 0xff -/* 0C3A58 800C2E58 24650001 */ addiu $a1, $v1, 1 -/* 0C3A5C 800C2E5C 30B800FF */ andi $t8, $a1, 0xff -/* 0C3A60 800C2E60 03002825 */ move $a1, $t8 -.L800C2E64: -/* 0C3A64 800C2E64 314F00FF */ andi $t7, $t2, 0xff -/* 0C3A68 800C2E68 000F70C0 */ sll $t6, $t7, 3 -/* 0C3A6C 800C2E6C 01CF7021 */ addu $t6, $t6, $t7 -/* 0C3A70 800C2E70 000E7080 */ sll $t6, $t6, 2 -/* 0C3A74 800C2E74 01CF7021 */ addu $t6, $t6, $t7 -/* 0C3A78 800C2E78 000E7080 */ sll $t6, $t6, 2 -/* 0C3A7C 800C2E7C 321800FF */ andi $t8, $s0, 0xff -/* 0C3A80 800C2E80 44982000 */ mtc1 $t8, $f4 -/* 0C3A84 800C2E84 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C3A88 800C2E88 01CF7023 */ subu $t6, $t6, $t7 -/* 0C3A8C 800C2E8C 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C3A90 800C2E90 000E7080 */ sll $t6, $t6, 2 -/* 0C3A94 800C2E94 012E1021 */ addu $v0, $t1, $t6 -/* 0C3A98 800C2E98 07010005 */ bgez $t8, .L800C2EB0 -/* 0C3A9C 800C2E9C 468021A0 */ cvt.s.w $f6, $f4 -/* 0C3AA0 800C2EA0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C3AA4 800C2EA4 44814000 */ mtc1 $at, $f8 -/* 0C3AA8 800C2EA8 00000000 */ nop -/* 0C3AAC 800C2EAC 46083180 */ add.s $f6, $f6, $f8 -.L800C2EB0: -/* 0C3AB0 800C2EB0 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C3AB4 800C2EB4 44815000 */ mtc1 $at, $f10 -/* 0C3AB8 800C2EB8 C4420000 */ lwc1 $f2, ($v0) -/* 0C3ABC 800C2EBC 460A3003 */ div.s $f0, $f6, $f10 -/* 0C3AC0 800C2EC0 46001032 */ c.eq.s $f2, $f0 -/* 0C3AC4 800C2EC4 E4400004 */ swc1 $f0, 4($v0) -/* 0C3AC8 800C2EC8 4503015A */ bc1tl .L800C3434 -/* 0C3ACC 800C2ECC 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C3AD0 800C2ED0 C4500004 */ lwc1 $f16, 4($v0) -/* 0C3AD4 800C2ED4 44852000 */ mtc1 $a1, $f4 -/* 0C3AD8 800C2ED8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C3ADC 800C2EDC 46101481 */ sub.s $f18, $f2, $f16 -/* 0C3AE0 800C2EE0 04A10004 */ bgez $a1, .L800C2EF4 -/* 0C3AE4 800C2EE4 46802220 */ cvt.s.w $f8, $f4 -/* 0C3AE8 800C2EE8 44813000 */ mtc1 $at, $f6 -/* 0C3AEC 800C2EEC 00000000 */ nop -/* 0C3AF0 800C2EF0 46064200 */ add.s $f8, $f8, $f6 -.L800C2EF4: -/* 0C3AF4 800C2EF4 46089283 */ div.s $f10, $f18, $f8 -/* 0C3AF8 800C2EF8 A445000C */ sh $a1, 0xc($v0) -/* 0C3AFC 800C2EFC 1000014C */ b .L800C3430 -/* 0C3B00 800C2F00 E44A0008 */ swc1 $f10, 8($v0) -glabel L800C2F04 -/* 0C3B04 800C2F04 3C0100FF */ lui $at, 0xff -/* 0C3B08 800C2F08 02011024 */ and $v0, $s0, $at -/* 0C3B0C 800C2F0C 00027BC2 */ srl $t7, $v0, 0xf -/* 0C3B10 800C2F10 31E300FF */ andi $v1, $t7, 0xff -/* 0C3B14 800C2F14 14600004 */ bnez $v1, .L800C2F28 -/* 0C3B18 800C2F18 31E500FF */ andi $a1, $t7, 0xff -/* 0C3B1C 800C2F1C 24650001 */ addiu $a1, $v1, 1 -/* 0C3B20 800C2F20 30AE00FF */ andi $t6, $a1, 0xff -/* 0C3B24 800C2F24 01C02825 */ move $a1, $t6 -.L800C2F28: -/* 0C3B28 800C2F28 44858000 */ mtc1 $a1, $f16 -/* 0C3B2C 800C2F2C 00001825 */ move $v1, $zero -/* 0C3B30 800C2F30 04A10005 */ bgez $a1, .L800C2F48 -/* 0C3B34 800C2F34 468080A0 */ cvt.s.w $f2, $f16 -/* 0C3B38 800C2F38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C3B3C 800C2F3C 44812000 */ mtc1 $at, $f4 -/* 0C3B40 800C2F40 00000000 */ nop -/* 0C3B44 800C2F44 46041080 */ add.s $f2, $f2, $f4 -.L800C2F48: -/* 0C3B48 800C2F48 314600FF */ andi $a2, $t2, 0xff -/* 0C3B4C 800C2F4C 0006C8C0 */ sll $t9, $a2, 3 -/* 0C3B50 800C2F50 0326C821 */ addu $t9, $t9, $a2 -/* 0C3B54 800C2F54 0019C880 */ sll $t9, $t9, 2 -/* 0C3B58 800C2F58 0326C821 */ addu $t9, $t9, $a2 -/* 0C3B5C 800C2F5C 0019C880 */ sll $t9, $t9, 2 -/* 0C3B60 800C2F60 320EFFFF */ andi $t6, $s0, 0xffff -/* 0C3B64 800C2F64 448E3000 */ mtc1 $t6, $f6 -/* 0C3B68 800C2F68 0326C823 */ subu $t9, $t9, $a2 -/* 0C3B6C 800C2F6C 3C188019 */ lui $t8, %hi(D_801930D0) # $t8, 0x8019 -/* 0C3B70 800C2F70 271830D0 */ addiu $t8, %lo(D_801930D0) # addiu $t8, $t8, 0x30d0 -/* 0C3B74 800C2F74 0019C880 */ sll $t9, $t9, 2 -/* 0C3B78 800C2F78 03382021 */ addu $a0, $t9, $t8 -/* 0C3B7C 800C2F7C 05C10005 */ bgez $t6, .L800C2F94 -/* 0C3B80 800C2F80 468034A0 */ cvt.s.w $f18, $f6 -/* 0C3B84 800C2F84 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C3B88 800C2F88 44814000 */ mtc1 $at, $f8 -/* 0C3B8C 800C2F8C 00000000 */ nop -/* 0C3B90 800C2F90 46089480 */ add.s $f18, $f18, $f8 -.L800C2F94: -/* 0C3B94 800C2F94 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 0C3B98 800C2F98 44815000 */ mtc1 $at, $f10 -/* 0C3B9C 800C2F9C 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C3BA0 800C2FA0 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C3BA4 800C2FA4 460A9003 */ div.s $f0, $f18, $f10 -.L800C2FA8: -/* 0C3BA8 800C2FA8 0003C940 */ sll $t9, $v1, 5 -/* 0C3BAC 800C2FAC 00991021 */ addu $v0, $a0, $t9 -/* 0C3BB0 800C2FB0 C4500054 */ lwc1 $f16, 0x54($v0) -/* 0C3BB4 800C2FB4 24630001 */ addiu $v1, $v1, 1 -/* 0C3BB8 800C2FB8 307800FF */ andi $t8, $v1, 0xff -/* 0C3BBC 800C2FBC 46008101 */ sub.s $f4, $f16, $f0 -/* 0C3BC0 800C2FC0 2B010010 */ slti $at, $t8, 0x10 -/* 0C3BC4 800C2FC4 03001825 */ move $v1, $t8 -/* 0C3BC8 800C2FC8 E4400058 */ swc1 $f0, 0x58($v0) -/* 0C3BCC 800C2FCC 46022183 */ div.s $f6, $f4, $f2 -/* 0C3BD0 800C2FD0 A4450060 */ sh $a1, 0x60($v0) -/* 0C3BD4 800C2FD4 1420FFF4 */ bnez $at, .L800C2FA8 -/* 0C3BD8 800C2FD8 E446005C */ swc1 $f6, 0x5c($v0) -/* 0C3BDC 800C2FDC 000670C0 */ sll $t6, $a2, 3 -/* 0C3BE0 800C2FE0 01C67021 */ addu $t6, $t6, $a2 -/* 0C3BE4 800C2FE4 000E7080 */ sll $t6, $t6, 2 -/* 0C3BE8 800C2FE8 01C67021 */ addu $t6, $t6, $a2 -/* 0C3BEC 800C2FEC 000E7080 */ sll $t6, $t6, 2 -/* 0C3BF0 800C2FF0 01C67023 */ subu $t6, $t6, $a2 -/* 0C3BF4 800C2FF4 000E7080 */ sll $t6, $t6, 2 -/* 0C3BF8 800C2FF8 012EC821 */ addu $t9, $t1, $t6 -/* 0C3BFC 800C2FFC 340FFFFF */ li $t7, 65535 -/* 0C3C00 800C3000 1000010B */ b .L800C3430 -/* 0C3C04 800C3004 A72F0244 */ sh $t7, 0x244($t9) -glabel L800C3008 -/* 0C3C08 800C3008 3C0100FF */ lui $at, 0xff -/* 0C3C0C 800C300C 02011024 */ and $v0, $s0, $at -/* 0C3C10 800C3010 0002C3C2 */ srl $t8, $v0, 0xf -/* 0C3C14 800C3014 330300FF */ andi $v1, $t8, 0xff -/* 0C3C18 800C3018 14600004 */ bnez $v1, .L800C302C -/* 0C3C1C 800C301C 330500FF */ andi $a1, $t8, 0xff -/* 0C3C20 800C3020 24650001 */ addiu $a1, $v1, 1 -/* 0C3C24 800C3024 30AE00FF */ andi $t6, $a1, 0xff -/* 0C3C28 800C3028 01C02825 */ move $a1, $t6 -.L800C302C: -/* 0C3C2C 800C302C 314700FF */ andi $a3, $t2, 0xff -/* 0C3C30 800C3030 0007C0C0 */ sll $t8, $a3, 3 -/* 0C3C34 800C3034 0307C021 */ addu $t8, $t8, $a3 -/* 0C3C38 800C3038 0018C080 */ sll $t8, $t8, 2 -/* 0C3C3C 800C303C 0307C021 */ addu $t8, $t8, $a3 -/* 0C3C40 800C3040 0018C080 */ sll $t8, $t8, 2 -/* 0C3C44 800C3044 32060F00 */ andi $a2, $s0, 0xf00 -/* 0C3C48 800C3048 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C3C4C 800C304C 00067A02 */ srl $t7, $a2, 8 -/* 0C3C50 800C3050 0307C023 */ subu $t8, $t8, $a3 -/* 0C3C54 800C3054 321900FF */ andi $t9, $s0, 0xff -/* 0C3C58 800C3058 44994000 */ mtc1 $t9, $f8 -/* 0C3C5C 800C305C 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C3C60 800C3060 0018C080 */ sll $t8, $t8, 2 -/* 0C3C64 800C3064 31E600FF */ andi $a2, $t7, 0xff -/* 0C3C68 800C3068 00062140 */ sll $a0, $a2, 5 -/* 0C3C6C 800C306C 01387021 */ addu $t6, $t1, $t8 -/* 0C3C70 800C3070 01C41021 */ addu $v0, $t6, $a0 -/* 0C3C74 800C3074 07210005 */ bgez $t9, .L800C308C -/* 0C3C78 800C3078 468044A0 */ cvt.s.w $f18, $f8 -/* 0C3C7C 800C307C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C3C80 800C3080 44815000 */ mtc1 $at, $f10 -/* 0C3C84 800C3084 00000000 */ nop -/* 0C3C88 800C3088 460A9480 */ add.s $f18, $f18, $f10 -.L800C308C: -/* 0C3C8C 800C308C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C3C90 800C3090 44818000 */ mtc1 $at, $f16 -/* 0C3C94 800C3094 C4440044 */ lwc1 $f4, 0x44($v0) -/* 0C3C98 800C3098 46109003 */ div.s $f0, $f18, $f16 -/* 0C3C9C 800C309C 46002032 */ c.eq.s $f4, $f0 -/* 0C3CA0 800C30A0 E4400048 */ swc1 $f0, 0x48($v0) -/* 0C3CA4 800C30A4 450100E2 */ bc1t .L800C3430 -/* 0C3CA8 800C30A8 0007C0C0 */ sll $t8, $a3, 3 -/* 0C3CAC 800C30AC 0307C021 */ addu $t8, $t8, $a3 -/* 0C3CB0 800C30B0 0018C080 */ sll $t8, $t8, 2 -/* 0C3CB4 800C30B4 0307C021 */ addu $t8, $t8, $a3 -/* 0C3CB8 800C30B8 0018C080 */ sll $t8, $t8, 2 -/* 0C3CBC 800C30BC 0307C023 */ subu $t8, $t8, $a3 -/* 0C3CC0 800C30C0 0018C080 */ sll $t8, $t8, 2 -/* 0C3CC4 800C30C4 01381021 */ addu $v0, $t1, $t8 -/* 0C3CC8 800C30C8 00441821 */ addu $v1, $v0, $a0 -/* 0C3CCC 800C30CC C4660044 */ lwc1 $f6, 0x44($v1) -/* 0C3CD0 800C30D0 C4680048 */ lwc1 $f8, 0x48($v1) -/* 0C3CD4 800C30D4 44859000 */ mtc1 $a1, $f18 -/* 0C3CD8 800C30D8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C3CDC 800C30DC 46083281 */ sub.s $f10, $f6, $f8 -/* 0C3CE0 800C30E0 04A10004 */ bgez $a1, .L800C30F4 -/* 0C3CE4 800C30E4 46809420 */ cvt.s.w $f16, $f18 -/* 0C3CE8 800C30E8 44812000 */ mtc1 $at, $f4 -/* 0C3CEC 800C30EC 00000000 */ nop -/* 0C3CF0 800C30F0 46048400 */ add.s $f16, $f16, $f4 -.L800C30F4: -/* 0C3CF4 800C30F4 46105183 */ div.s $f6, $f10, $f16 -/* 0C3CF8 800C30F8 A4650050 */ sh $a1, 0x50($v1) -/* 0C3CFC 800C30FC 240F0001 */ li $t7, 1 -/* 0C3D00 800C3100 00CFC804 */ sllv $t9, $t7, $a2 -/* 0C3D04 800C3104 E466004C */ swc1 $f6, 0x4c($v1) -/* 0C3D08 800C3108 944E0244 */ lhu $t6, 0x244($v0) -/* 0C3D0C 800C310C 01D9C025 */ or $t8, $t6, $t9 -/* 0C3D10 800C3110 100000C7 */ b .L800C3430 -/* 0C3D14 800C3114 A4580244 */ sh $t8, 0x244($v0) -glabel L800C3118 -/* 0C3D18 800C3118 314E00FF */ andi $t6, $t2, 0xff -/* 0C3D1C 800C311C 000ECC00 */ sll $t9, $t6, 0x10 -/* 0C3D20 800C3120 3C014600 */ lui $at, 0x4600 -/* 0C3D24 800C3124 0321C025 */ or $t8, $t9, $at -/* 0C3D28 800C3128 3C0100FF */ lui $at, 0xff -/* 0C3D2C 800C312C 02017824 */ and $t7, $s0, $at -/* 0C3D30 800C3130 000FCC02 */ srl $t9, $t7, 0x10 -/* 0C3D34 800C3134 332F00FF */ andi $t7, $t9, 0xff -/* 0C3D38 800C3138 000F7200 */ sll $t6, $t7, 8 -/* 0C3D3C 800C313C 00107E00 */ sll $t7, $s0, 0x18 -/* 0C3D40 800C3140 000F2E03 */ sra $a1, $t7, 0x18 -/* 0C3D44 800C3144 0C032EFA */ jal func_800CBBE8 -/* 0C3D48 800C3148 030E2025 */ or $a0, $t8, $t6 -/* 0C3D4C 800C314C 100000B9 */ b .L800C3434 -/* 0C3D50 800C3150 8FDF002C */ lw $ra, 0x2c($fp) -glabel L800C3154 -/* 0C3D54 800C3154 314200FF */ andi $v0, $t2, 0xff -/* 0C3D58 800C3158 000278C0 */ sll $t7, $v0, 3 -/* 0C3D5C 800C315C 01E27821 */ addu $t7, $t7, $v0 -/* 0C3D60 800C3160 000F7880 */ sll $t7, $t7, 2 -/* 0C3D64 800C3164 01E27821 */ addu $t7, $t7, $v0 -/* 0C3D68 800C3168 000F7880 */ sll $t7, $t7, 2 -/* 0C3D6C 800C316C 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C3D70 800C3170 01E27823 */ subu $t7, $t7, $v0 -/* 0C3D74 800C3174 32060F00 */ andi $a2, $s0, 0xf00 -/* 0C3D78 800C3178 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C3D7C 800C317C 00067202 */ srl $t6, $a2, 8 -/* 0C3D80 800C3180 000F7880 */ sll $t7, $t7, 2 -/* 0C3D84 800C3184 012FC021 */ addu $t8, $t1, $t7 -/* 0C3D88 800C3188 31C600FF */ andi $a2, $t6, 0xff -/* 0C3D8C 800C318C 970E024A */ lhu $t6, 0x24a($t8) -/* 0C3D90 800C3190 24190001 */ li $t9, 1 -/* 0C3D94 800C3194 00D97804 */ sllv $t7, $t9, $a2 -/* 0C3D98 800C3198 01CFC024 */ and $t8, $t6, $t7 -/* 0C3D9C 800C319C 170000A4 */ bnez $t8, .L800C3430 -/* 0C3DA0 800C31A0 305900FF */ andi $t9, $v0, 0xff -/* 0C3DA4 800C31A4 00197400 */ sll $t6, $t9, 0x10 -/* 0C3DA8 800C31A8 3C010600 */ lui $at, 0x600 -/* 0C3DAC 800C31AC 30D800FF */ andi $t8, $a2, 0xff -/* 0C3DB0 800C31B0 0018CA00 */ sll $t9, $t8, 8 -/* 0C3DB4 800C31B4 01C17825 */ or $t7, $t6, $at -/* 0C3DB8 800C31B8 3C0100FF */ lui $at, 0xff -/* 0C3DBC 800C31BC 0201C024 */ and $t8, $s0, $at -/* 0C3DC0 800C31C0 01F97025 */ or $t6, $t7, $t9 -/* 0C3DC4 800C31C4 0018CC02 */ srl $t9, $t8, 0x10 -/* 0C3DC8 800C31C8 333800FF */ andi $t8, $t9, 0xff -/* 0C3DCC 800C31CC 0010CE00 */ sll $t9, $s0, 0x18 -/* 0C3DD0 800C31D0 00192E03 */ sra $a1, $t9, 0x18 -/* 0C3DD4 800C31D4 0C032EFA */ jal func_800CBBE8 -/* 0C3DD8 800C31D8 01D82025 */ or $a0, $t6, $t8 -/* 0C3DDC 800C31DC 10000095 */ b .L800C3434 -/* 0C3DE0 800C31E0 8FDF002C */ lw $ra, 0x2c($fp) -glabel L800C31E4 -/* 0C3DE4 800C31E4 314F00FF */ andi $t7, $t2, 0xff -/* 0C3DE8 800C31E8 000FC8C0 */ sll $t9, $t7, 3 -/* 0C3DEC 800C31EC 032FC821 */ addu $t9, $t9, $t7 -/* 0C3DF0 800C31F0 0019C880 */ sll $t9, $t9, 2 -/* 0C3DF4 800C31F4 032FC821 */ addu $t9, $t9, $t7 -/* 0C3DF8 800C31F8 0019C880 */ sll $t9, $t9, 2 -/* 0C3DFC 800C31FC 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C3E00 800C3200 032FC823 */ subu $t9, $t9, $t7 -/* 0C3E04 800C3204 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C3E08 800C3208 0019C880 */ sll $t9, $t9, 2 -/* 0C3E0C 800C320C 01397021 */ addu $t6, $t1, $t9 -/* 0C3E10 800C3210 10000087 */ b .L800C3430 -/* 0C3E14 800C3214 A5D0024A */ sh $s0, 0x24a($t6) -glabel L800C3218 -/* 0C3E18 800C3218 315900FF */ andi $t9, $t2, 0xff -/* 0C3E1C 800C321C 0019C400 */ sll $t8, $t9, 0x10 -/* 0C3E20 800C3220 3C010800 */ lui $at, 0x800 -/* 0C3E24 800C3224 02003825 */ move $a3, $s0 -/* 0C3E28 800C3228 30EFFFFF */ andi $t7, $a3, 0xffff -/* 0C3E2C 800C322C 03017025 */ or $t6, $t8, $at -/* 0C3E30 800C3230 24040001 */ li $a0, 1 -/* 0C3E34 800C3234 AFCE0048 */ sw $t6, 0x48($fp) -/* 0C3E38 800C3238 01E03825 */ move $a3, $t7 -/* 0C3E3C 800C323C 00001825 */ move $v1, $zero -.L800C3240: -/* 0C3E40 800C3240 00E4C824 */ and $t9, $a3, $a0 -/* 0C3E44 800C3244 13200003 */ beqz $t9, .L800C3254 -/* 0C3E48 800C3248 00801025 */ move $v0, $a0 -/* 0C3E4C 800C324C 10000002 */ b .L800C3258 -/* 0C3E50 800C3250 24060001 */ li $a2, 1 -.L800C3254: -/* 0C3E54 800C3254 00003025 */ move $a2, $zero -.L800C3258: -/* 0C3E58 800C3258 8FD80048 */ lw $t8, 0x48($fp) -/* 0C3E5C 800C325C 306E00FF */ andi $t6, $v1, 0xff -/* 0C3E60 800C3260 00062E00 */ sll $a1, $a2, 0x18 -/* 0C3E64 800C3264 0005CE03 */ sra $t9, $a1, 0x18 -/* 0C3E68 800C3268 000E7A00 */ sll $t7, $t6, 8 -/* 0C3E6C 800C326C 03202825 */ move $a1, $t9 -/* 0C3E70 800C3270 AFC2004C */ sw $v0, 0x4c($fp) -/* 0C3E74 800C3274 A3C3005B */ sb $v1, 0x5b($fp) -/* 0C3E78 800C3278 AFC70044 */ sw $a3, 0x44($fp) -/* 0C3E7C 800C327C 0C032EFA */ jal func_800CBBE8 -/* 0C3E80 800C3280 030F2025 */ or $a0, $t8, $t7 -/* 0C3E84 800C3284 93C3005B */ lbu $v1, 0x5b($fp) -/* 0C3E88 800C3288 8FC2004C */ lw $v0, 0x4c($fp) -/* 0C3E8C 800C328C 8FC70044 */ lw $a3, 0x44($fp) -/* 0C3E90 800C3290 24630001 */ addiu $v1, $v1, 1 -/* 0C3E94 800C3294 307800FF */ andi $t8, $v1, 0xff -/* 0C3E98 800C3298 00022040 */ sll $a0, $v0, 1 -/* 0C3E9C 800C329C 2B010010 */ slti $at, $t8, 0x10 -/* 0C3EA0 800C32A0 308EFFFF */ andi $t6, $a0, 0xffff -/* 0C3EA4 800C32A4 03001825 */ move $v1, $t8 -/* 0C3EA8 800C32A8 1420FFE5 */ bnez $at, .L800C3240 -/* 0C3EAC 800C32AC 01C02025 */ move $a0, $t6 -/* 0C3EB0 800C32B0 10000060 */ b .L800C3434 -/* 0C3EB4 800C32B4 8FDF002C */ lw $ra, 0x2c($fp) -glabel L800C32B8 -/* 0C3EB8 800C32B8 314F00FF */ andi $t7, $t2, 0xff -/* 0C3EBC 800C32BC 000FC8C0 */ sll $t9, $t7, 3 -/* 0C3EC0 800C32C0 032FC821 */ addu $t9, $t9, $t7 -/* 0C3EC4 800C32C4 0019C880 */ sll $t9, $t9, 2 -/* 0C3EC8 800C32C8 032FC821 */ addu $t9, $t9, $t7 -/* 0C3ECC 800C32CC 0019C880 */ sll $t9, $t9, 2 -/* 0C3ED0 800C32D0 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C3ED4 800C32D4 032FC823 */ subu $t9, $t9, $t7 -/* 0C3ED8 800C32D8 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C3EDC 800C32DC 0019C880 */ sll $t9, $t9, 2 -/* 0C3EE0 800C32E0 01397021 */ addu $t6, $t1, $t9 -/* 0C3EE4 800C32E4 10000052 */ b .L800C3430 -/* 0C3EE8 800C32E8 ADD00014 */ sw $s0, 0x14($t6) -glabel L800C32EC -/* 0C3EEC 800C32EC 3C0100F0 */ lui $at, 0xf0 -/* 0C3EF0 800C32F0 0201C024 */ and $t8, $s0, $at -/* 0C3EF4 800C32F4 00187D02 */ srl $t7, $t8, 0x14 -/* 0C3EF8 800C32F8 31F900FF */ andi $t9, $t7, 0xff -/* 0C3EFC 800C32FC 2401000F */ li $at, 15 -/* 0C3F00 800C3300 13210016 */ beq $t9, $at, .L800C335C -/* 0C3F04 800C3304 314E00FF */ andi $t6, $t2, 0xff -/* 0C3F08 800C3308 000EC0C0 */ sll $t8, $t6, 3 -/* 0C3F0C 800C330C 030EC021 */ addu $t8, $t8, $t6 -/* 0C3F10 800C3310 0018C080 */ sll $t8, $t8, 2 -/* 0C3F14 800C3314 030EC021 */ addu $t8, $t8, $t6 -/* 0C3F18 800C3318 0018C080 */ sll $t8, $t8, 2 -/* 0C3F1C 800C331C 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C3F20 800C3320 030EC023 */ subu $t8, $t8, $t6 -/* 0C3F24 800C3324 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C3F28 800C3328 0018C080 */ sll $t8, $t8, 2 -/* 0C3F2C 800C332C 01381021 */ addu $v0, $t1, $t8 -/* 0C3F30 800C3330 90480041 */ lbu $t0, 0x41($v0) -/* 0C3F34 800C3334 24180002 */ li $t8, 2 -/* 0C3F38 800C3338 250F0001 */ addiu $t7, $t0, 1 -/* 0C3F3C 800C333C 29010005 */ slti $at, $t0, 5 -/* 0C3F40 800C3340 1020003B */ beqz $at, .L800C3430 -/* 0C3F44 800C3344 A04F0041 */ sb $t7, 0x41($v0) -/* 0C3F48 800C3348 0008C880 */ sll $t9, $t0, 2 -/* 0C3F4C 800C334C 00597021 */ addu $t6, $v0, $t9 -/* 0C3F50 800C3350 ADD0002C */ sw $s0, 0x2c($t6) -/* 0C3F54 800C3354 10000036 */ b .L800C3430 -/* 0C3F58 800C3358 A0580040 */ sb $t8, 0x40($v0) -.L800C335C: -/* 0C3F5C 800C335C 314F00FF */ andi $t7, $t2, 0xff -/* 0C3F60 800C3360 000FC8C0 */ sll $t9, $t7, 3 -/* 0C3F64 800C3364 032FC821 */ addu $t9, $t9, $t7 -/* 0C3F68 800C3368 0019C880 */ sll $t9, $t9, 2 -/* 0C3F6C 800C336C 032FC821 */ addu $t9, $t9, $t7 -/* 0C3F70 800C3370 0019C880 */ sll $t9, $t9, 2 -/* 0C3F74 800C3374 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C3F78 800C3378 032FC823 */ subu $t9, $t9, $t7 -/* 0C3F7C 800C337C 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C3F80 800C3380 0019C880 */ sll $t9, $t9, 2 -/* 0C3F84 800C3384 01397021 */ addu $t6, $t1, $t9 -/* 0C3F88 800C3388 10000029 */ b .L800C3430 -/* 0C3F8C 800C338C A1C00041 */ sb $zero, 0x41($t6) -glabel L800C3390 -/* 0C3F90 800C3390 32020F00 */ andi $v0, $s0, 0xf00 -/* 0C3F94 800C3394 0002C202 */ srl $t8, $v0, 8 -/* 0C3F98 800C3398 330F00FF */ andi $t7, $t8, 0xff -/* 0C3F9C 800C339C 11E00006 */ beqz $t7, .L800C33B8 -/* 0C3FA0 800C33A0 3C04F000 */ lui $a0, 0xf000 -/* 0C3FA4 800C33A4 24010001 */ li $at, 1 -/* 0C3FA8 800C33A8 11E1000A */ beq $t7, $at, .L800C33D4 -/* 0C3FAC 800C33AC 32190001 */ andi $t9, $s0, 1 -/* 0C3FB0 800C33B0 10000020 */ b .L800C3434 -/* 0C3FB4 800C33B4 8FDF002C */ lw $ra, 0x2c($fp) -.L800C33B8: -/* 0C3FB8 800C33B8 320E00FF */ andi $t6, $s0, 0xff -/* 0C3FBC 800C33BC 3C05800F */ lui $a1, %hi(D_800EA1F0) -/* 0C3FC0 800C33C0 00AE2821 */ addu $a1, $a1, $t6 -/* 0C3FC4 800C33C4 0C032EEE */ jal func_800CBBB8 -/* 0C3FC8 800C33C8 90A5A1F0 */ lbu $a1, %lo(D_800EA1F0)($a1) -/* 0C3FCC 800C33CC 10000019 */ b .L800C3434 -/* 0C3FD0 800C33D0 8FDF002C */ lw $ra, 0x2c($fp) -.L800C33D4: -/* 0C3FD4 800C33D4 3C01800F */ lui $at, %hi(D_800EA1EC) # $at, 0x800f -/* 0C3FD8 800C33D8 10000015 */ b .L800C3430 -/* 0C3FDC 800C33DC A039A1EC */ sb $t9, %lo(D_800EA1EC)($at) -glabel L800C33E0 -/* 0C3FE0 800C33E0 3202FF00 */ andi $v0, $s0, 0xff00 -/* 0C3FE4 800C33E4 00027202 */ srl $t6, $v0, 8 -/* 0C3FE8 800C33E8 3C01800F */ lui $at, %hi(D_800EA1C0) # $at, 0x800f -/* 0C3FEC 800C33EC 02001825 */ move $v1, $s0 -/* 0C3FF0 800C33F0 A02EA1C0 */ sb $t6, %lo(D_800EA1C0)($at) -/* 0C3FF4 800C33F4 306400FF */ andi $a0, $v1, 0xff -/* 0C3FF8 800C33F8 00801825 */ move $v1, $a0 -/* 0C3FFC 800C33FC AFC40048 */ sw $a0, 0x48($fp) -/* 0C4000 800C3400 0C0304FF */ jal func_800C13FC -/* 0C4004 800C3404 AFCE004C */ sw $t6, 0x4c($fp) -/* 0C4008 800C3408 8FC5004C */ lw $a1, 0x4c($fp) -/* 0C400C 800C340C 8FCD0048 */ lw $t5, 0x48($fp) -/* 0C4010 800C3410 3C01800F */ lui $at, %hi(D_800EA1F4) # $at, 0x800f -/* 0C4014 800C3414 00057E00 */ sll $t7, $a1, 0x18 -/* 0C4018 800C3418 000F2E03 */ sra $a1, $t7, 0x18 -/* 0C401C 800C341C 3C044602 */ lui $a0, 0x4602 -/* 0C4020 800C3420 0C032EFA */ jal func_800CBBE8 -/* 0C4024 800C3424 A02DA1F4 */ sb $t5, %lo(D_800EA1F4)($at) -/* 0C4028 800C3428 0C031710 */ jal func_800C5C40 -/* 0C402C 800C342C 00000000 */ nop -.L800C3430: -glabel L800C3430 -/* 0C4030 800C3430 8FDF002C */ lw $ra, 0x2c($fp) -.L800C3434: -/* 0C4034 800C3434 03C0E825 */ move $sp, $fp -/* 0C4038 800C3438 8FD00024 */ lw $s0, 0x24($fp) -/* 0C403C 800C343C 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C4040 800C3440 03E00008 */ jr $ra -/* 0C4044 800C3444 27BD0068 */ addiu $sp, $sp, 0x68 - -glabel func_800C3448 -/* 0C4048 800C3448 3C03800F */ lui $v1, %hi(D_800EA1E4) # $v1, 0x800f -/* 0C404C 800C344C 2463A1E4 */ addiu $v1, %lo(D_800EA1E4) # addiu $v1, $v1, -0x5e1c -/* 0C4050 800C3450 90620000 */ lbu $v0, ($v1) -/* 0C4054 800C3454 3C018019 */ lui $at, %hi(D_80192CD0) -/* 0C4058 800C3458 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C405C 800C345C 00027080 */ sll $t6, $v0, 2 -/* 0C4060 800C3460 002E0821 */ addu $at, $at, $t6 -/* 0C4064 800C3464 AC242CD0 */ sw $a0, %lo(D_80192CD0)($at) -/* 0C4068 800C3468 244F0001 */ addiu $t7, $v0, 1 -/* 0C406C 800C346C A06F0000 */ sb $t7, ($v1) -/* 0C4070 800C3470 03E00008 */ jr $ra -/* 0C4074 800C3474 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800C3478 -/* 0C4078 800C3478 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C407C 800C347C AFB20030 */ sw $s2, 0x30($sp) -/* 0C4080 800C3480 AFB1002C */ sw $s1, 0x2c($sp) -/* 0C4084 800C3484 3C11800F */ lui $s1, %hi(D_800EA1E8) # $s1, 0x800f -/* 0C4088 800C3488 3C12800F */ lui $s2, %hi(D_800EA1E4) # $s2, 0x800f -/* 0C408C 800C348C 2652A1E4 */ addiu $s2, %lo(D_800EA1E4) # addiu $s2, $s2, -0x5e1c -/* 0C4090 800C3490 2631A1E8 */ addiu $s1, %lo(D_800EA1E8) # addiu $s1, $s1, -0x5e18 -/* 0C4094 800C3494 AFB00028 */ sw $s0, 0x28($sp) -/* 0C4098 800C3498 92300000 */ lbu $s0, ($s1) -/* 0C409C 800C349C 924E0000 */ lbu $t6, ($s2) -/* 0C40A0 800C34A0 AFBE0038 */ sw $fp, 0x38($sp) -/* 0C40A4 800C34A4 03A0F025 */ move $fp, $sp -/* 0C40A8 800C34A8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0C40AC 800C34AC 120E000D */ beq $s0, $t6, .L800C34E4 -/* 0C40B0 800C34B0 AFB30034 */ sw $s3, 0x34($sp) -/* 0C40B4 800C34B4 3C138019 */ lui $s3, %hi(D_80192CD0) # $s3, 0x8019 -/* 0C40B8 800C34B8 26732CD0 */ addiu $s3, %lo(D_80192CD0) # addiu $s3, $s3, 0x2cd0 -/* 0C40BC 800C34BC 00107880 */ sll $t7, $s0, 2 -.L800C34C0: -/* 0C40C0 800C34C0 026FC021 */ addu $t8, $s3, $t7 -/* 0C40C4 800C34C4 8F040000 */ lw $a0, ($t8) -/* 0C40C8 800C34C8 26190001 */ addiu $t9, $s0, 1 -/* 0C40CC 800C34CC 0C030A8B */ jal func_800C2A2C -/* 0C40D0 800C34D0 A2390000 */ sb $t9, ($s1) -/* 0C40D4 800C34D4 92300000 */ lbu $s0, ($s1) -/* 0C40D8 800C34D8 92480000 */ lbu $t0, ($s2) -/* 0C40DC 800C34DC 5608FFF8 */ bnel $s0, $t0, .L800C34C0 -/* 0C40E0 800C34E0 00107880 */ sll $t7, $s0, 2 -.L800C34E4: -/* 0C40E4 800C34E4 8FDF003C */ lw $ra, 0x3c($fp) -/* 0C40E8 800C34E8 03C0E825 */ move $sp, $fp -/* 0C40EC 800C34EC 8FD00028 */ lw $s0, 0x28($fp) -/* 0C40F0 800C34F0 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C40F4 800C34F4 8FD20030 */ lw $s2, 0x30($fp) -/* 0C40F8 800C34F8 8FD30034 */ lw $s3, 0x34($fp) -/* 0C40FC 800C34FC 8FDE0038 */ lw $fp, 0x38($fp) -/* 0C4100 800C3500 03E00008 */ jr $ra -/* 0C4104 800C3504 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800C3508 -/* 0C4108 800C3508 308E00FF */ andi $t6, $a0, 0xff -/* 0C410C 800C350C 000E7880 */ sll $t7, $t6, 2 -/* 0C4110 800C3510 01EE7821 */ addu $t7, $t7, $t6 -/* 0C4114 800C3514 000F78C0 */ sll $t7, $t7, 3 -/* 0C4118 800C3518 01EE7821 */ addu $t7, $t7, $t6 -/* 0C411C 800C351C 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C4120 800C3520 000F78C0 */ sll $t7, $t7, 3 -/* 0C4124 800C3524 3C18803B */ lui $t8, %hi(D_803B1510) # 0x803b -/* 0C4128 800C3528 ADA40010 */ sw $a0, 0x10($t5) -/* 0C412C 800C352C 030FC021 */ addu $t8, $t8, $t7 -/* 0C4130 800C3530 8F181510 */ lw $t8, %lo(D_803B1510)($t8) # 0x1510($t8) -/* 0C4134 800C3534 01C02025 */ move $a0, $t6 -/* 0C4138 800C3538 000440C0 */ sll $t0, $a0, 3 -/* 0C413C 800C353C 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0C4140 800C3540 17200003 */ bnez $t9, .L800C3550 -/* 0C4144 800C3544 01A0E825 */ move $sp, $t5 -/* 0C4148 800C3548 1000000A */ b .L800C3574 -/* 0C414C 800C354C 3402FFFF */ li $v0, 65535 -.L800C3550: -/* 0C4150 800C3550 01044021 */ addu $t0, $t0, $a0 -/* 0C4154 800C3554 00084080 */ sll $t0, $t0, 2 -/* 0C4158 800C3558 01044021 */ addu $t0, $t0, $a0 -/* 0C415C 800C355C 00084080 */ sll $t0, $t0, 2 -/* 0C4160 800C3560 01044023 */ subu $t0, $t0, $a0 -/* 0C4164 800C3564 00084080 */ sll $t0, $t0, 2 -/* 0C4168 800C3568 3C028019 */ lui $v0, %hi(D_80193318) # 0x8019 -/* 0C416C 800C356C 00481021 */ addu $v0, $v0, $t0 -/* 0C4170 800C3570 94423318 */ lhu $v0, %lo(D_80193318)($v0) # 0x3318($v0) -.L800C3574: -/* 0C4174 800C3574 03E00008 */ jr $ra -/* 0C4178 800C3578 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C357C -/* 0C417C 800C357C 3C02800F */ lui $v0, %hi(D_800EA1E8) # $v0, 0x800f -/* 0C4180 800C3580 3C05800F */ lui $a1, %hi(D_800EA1E4) # $a1, 0x800f -/* 0C4184 800C3584 90A5A1E4 */ lbu $a1, %lo(D_800EA1E4)($a1) -/* 0C4188 800C3588 9042A1E8 */ lbu $v0, %lo(D_800EA1E8)($v0) -/* 0C418C 800C358C 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C4190 800C3590 24030001 */ li $v1, 1 -/* 0C4194 800C3594 0045082A */ slt $at, $v0, $a1 -/* 0C4198 800C3598 1020000F */ beqz $at, .L800C35D8 -/* 0C419C 800C359C 00A03025 */ move $a2, $a1 -/* 0C41A0 800C35A0 3C078019 */ lui $a3, %hi(D_80192CD0) # $a3, 0x8019 -/* 0C41A4 800C35A4 24E72CD0 */ addiu $a3, %lo(D_80192CD0) # addiu $a3, $a3, 0x2cd0 -.L800C35A8: -/* 0C41A8 800C35A8 00027080 */ sll $t6, $v0, 2 -/* 0C41AC 800C35AC 00EE7821 */ addu $t7, $a3, $t6 -/* 0C41B0 800C35B0 8DF80000 */ lw $t8, ($t7) -/* 0C41B4 800C35B4 54980004 */ bnel $a0, $t8, .L800C35C8 -/* 0C41B8 800C35B8 24420001 */ addiu $v0, $v0, 1 -/* 0C41BC 800C35BC 00001825 */ move $v1, $zero -/* 0C41C0 800C35C0 30A200FF */ andi $v0, $a1, 0xff -/* 0C41C4 800C35C4 24420001 */ addiu $v0, $v0, 1 -.L800C35C8: -/* 0C41C8 800C35C8 305900FF */ andi $t9, $v0, 0xff -/* 0C41CC 800C35CC 0326082A */ slt $at, $t9, $a2 -/* 0C41D0 800C35D0 1420FFF5 */ bnez $at, .L800C35A8 -/* 0C41D4 800C35D4 03201025 */ move $v0, $t9 -.L800C35D8: -/* 0C41D8 800C35D8 01A0E825 */ move $sp, $t5 -/* 0C41DC 800C35DC 25BD0010 */ addiu $sp, $t5, 0x10 -/* 0C41E0 800C35E0 03E00008 */ jr $ra -/* 0C41E4 800C35E4 00601025 */ move $v0, $v1 - -glabel func_800C35E8 -/* 0C41E8 800C35E8 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C41EC 800C35EC 308E00FF */ andi $t6, $a0, 0xff -/* 0C41F0 800C35F0 3C018019 */ lui $at, %hi(D_80192CC6) -/* 0C41F4 800C35F4 AFA40010 */ sw $a0, 0x10($sp) -/* 0C41F8 800C35F8 002E0821 */ addu $at, $at, $t6 -/* 0C41FC 800C35FC A0202CC6 */ sb $zero, %lo(D_80192CC6)($at) -/* 0C4200 800C3600 03E00008 */ jr $ra -/* 0C4204 800C3604 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800C3608 -/* 0C4208 800C3608 308E00FF */ andi $t6, $a0, 0xff -/* 0C420C 800C360C 000E78C0 */ sll $t7, $t6, 3 -/* 0C4210 800C3610 01EE7821 */ addu $t7, $t7, $t6 -/* 0C4214 800C3614 000F7880 */ sll $t7, $t7, 2 -/* 0C4218 800C3618 01EE7821 */ addu $t7, $t7, $t6 -/* 0C421C 800C361C 000F7880 */ sll $t7, $t7, 2 -/* 0C4220 800C3620 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C4224 800C3624 01EE7823 */ subu $t7, $t7, $t6 -/* 0C4228 800C3628 3C188019 */ lui $t8, %hi(D_801930D0) # $t8, 0x8019 -/* 0C422C 800C362C 271830D0 */ addiu $t8, %lo(D_801930D0) # addiu $t8, $t8, 0x30d0 -/* 0C4230 800C3630 000F7880 */ sll $t7, $t7, 2 -/* 0C4234 800C3634 ADA40010 */ sw $a0, 0x10($t5) -/* 0C4238 800C3638 ADA50014 */ sw $a1, 0x14($t5) -/* 0C423C 800C363C 01F81821 */ addu $v1, $t7, $t8 -/* 0C4240 800C3640 90660041 */ lbu $a2, 0x41($v1) -/* 0C4244 800C3644 30A700FF */ andi $a3, $a1, 0xff -/* 0C4248 800C3648 00001025 */ move $v0, $zero -/* 0C424C 800C364C 18C0001B */ blez $a2, .L800C36BC -/* 0C4250 800C3650 01A0E825 */ move $sp, $t5 -/* 0C4254 800C3654 000EC8C0 */ sll $t9, $t6, 3 -/* 0C4258 800C3658 032EC821 */ addu $t9, $t9, $t6 -/* 0C425C 800C365C 0019C880 */ sll $t9, $t9, 2 -/* 0C4260 800C3660 032EC821 */ addu $t9, $t9, $t6 -/* 0C4264 800C3664 0019C880 */ sll $t9, $t9, 2 -/* 0C4268 800C3668 032EC823 */ subu $t9, $t9, $t6 -/* 0C426C 800C366C 0019C880 */ sll $t9, $t9, 2 -/* 0C4270 800C3670 03382821 */ addu $a1, $t9, $t8 -/* 0C4274 800C3674 00E04025 */ move $t0, $a3 -/* 0C4278 800C3678 3C0AFF00 */ lui $t2, 0xff00 -/* 0C427C 800C367C 3C0900F0 */ lui $t1, 0xf0 -.L800C3680: -/* 0C4280 800C3680 00025880 */ sll $t3, $v0, 2 -/* 0C4284 800C3684 00AB3821 */ addu $a3, $a1, $t3 -/* 0C4288 800C3688 8CEC002C */ lw $t4, 0x2c($a3) -/* 0C428C 800C368C 24420001 */ addiu $v0, $v0, 1 -/* 0C4290 800C3690 305900FF */ andi $t9, $v0, 0xff -/* 0C4294 800C3694 01892024 */ and $a0, $t4, $t1 -/* 0C4298 800C3698 00047502 */ srl $t6, $a0, 0x14 -/* 0C429C 800C369C 31CF00FF */ andi $t7, $t6, 0xff -/* 0C42A0 800C36A0 550F0004 */ bnel $t0, $t7, .L800C36B4 -/* 0C42A4 800C36A4 0326082A */ slt $at, $t9, $a2 -/* 0C42A8 800C36A8 ACEA002C */ sw $t2, 0x2c($a3) -/* 0C42AC 800C36AC 90660041 */ lbu $a2, 0x41($v1) -/* 0C42B0 800C36B0 0326082A */ slt $at, $t9, $a2 -.L800C36B4: -/* 0C42B4 800C36B4 1420FFF2 */ bnez $at, .L800C3680 -/* 0C42B8 800C36B8 03201025 */ move $v0, $t9 -.L800C36BC: -/* 0C42BC 800C36BC 03E00008 */ jr $ra -/* 0C42C0 800C36C0 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C36C4 -/* 0C42C4 800C36C4 308E00FF */ andi $t6, $a0, 0xff -/* 0C42C8 800C36C8 000E40C0 */ sll $t0, $t6, 3 -/* 0C42CC 800C36CC 010E4021 */ addu $t0, $t0, $t6 -/* 0C42D0 800C36D0 00084080 */ sll $t0, $t0, 2 -/* 0C42D4 800C36D4 010E4021 */ addu $t0, $t0, $t6 -/* 0C42D8 800C36D8 00084080 */ sll $t0, $t0, 2 -/* 0C42DC 800C36DC 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C42E0 800C36E0 010E4023 */ subu $t0, $t0, $t6 -/* 0C42E4 800C36E4 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019 -/* 0C42E8 800C36E8 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0 -/* 0C42EC 800C36EC 00084080 */ sll $t0, $t0, 2 -/* 0C42F0 800C36F0 30AF00FF */ andi $t7, $a1, 0xff -/* 0C42F4 800C36F4 01091021 */ addu $v0, $t0, $t1 -/* 0C42F8 800C36F8 004F5021 */ addu $t2, $v0, $t7 -/* 0C42FC 800C36FC AFA40010 */ sw $a0, 0x10($sp) -/* 0C4300 800C3700 AFA50014 */ sw $a1, 0x14($sp) -/* 0C4304 800C3704 AFA60018 */ sw $a2, 0x18($sp) -/* 0C4308 800C3708 AFA7001C */ sw $a3, 0x1c($sp) -/* 0C430C 800C370C A146000E */ sb $a2, 0xe($t2) -/* 0C4310 800C3710 240B0001 */ li $t3, 1 -/* 0C4314 800C3714 A0470011 */ sb $a3, 0x11($v0) -/* 0C4318 800C3718 A04B0012 */ sb $t3, 0x12($v0) -/* 0C431C 800C371C 03E00008 */ jr $ra -/* 0C4320 800C3720 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800C3724 -/* 0C4324 800C3724 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0C4328 800C3728 AFB60048 */ sw $s6, 0x48($sp) -/* 0C432C 800C372C F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0C4330 800C3730 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C4334 800C3734 AFBE0050 */ sw $fp, 0x50($sp) -/* 0C4338 800C3738 AFB7004C */ sw $s7, 0x4c($sp) -/* 0C433C 800C373C AFB50044 */ sw $s5, 0x44($sp) -/* 0C4340 800C3740 3C168019 */ lui $s6, %hi(D_801930D0) # $s6, 0x8019 -/* 0C4344 800C3744 4481A000 */ mtc1 $at, $f20 -/* 0C4348 800C3748 03A0F025 */ move $fp, $sp -/* 0C434C 800C374C AFBF0054 */ sw $ra, 0x54($sp) -/* 0C4350 800C3750 AFB40040 */ sw $s4, 0x40($sp) -/* 0C4354 800C3754 AFB3003C */ sw $s3, 0x3c($sp) -/* 0C4358 800C3758 AFB20038 */ sw $s2, 0x38($sp) -/* 0C435C 800C375C AFB10034 */ sw $s1, 0x34($sp) -/* 0C4360 800C3760 AFB00030 */ sw $s0, 0x30($sp) -/* 0C4364 800C3764 26D630D0 */ addiu $s6, %lo(D_801930D0) # addiu $s6, $s6, 0x30d0 -/* 0C4368 800C3768 0000A825 */ move $s5, $zero -/* 0C436C 800C376C 2417024C */ li $s7, 588 -.L800C3770: -/* 0C4370 800C3770 02B70019 */ multu $s5, $s7 -/* 0C4374 800C3774 00007012 */ mflo $t6 -/* 0C4378 800C3778 02CE9821 */ addu $s3, $s6, $t6 -/* 0C437C 800C377C 926F0012 */ lbu $t7, 0x12($s3) -/* 0C4380 800C3780 11E00048 */ beqz $t7, .L800C38A4 -/* 0C4384 800C3784 0015C0C0 */ sll $t8, $s5, 3 -/* 0C4388 800C3788 0315C021 */ addu $t8, $t8, $s5 -/* 0C438C 800C378C 0018C080 */ sll $t8, $t8, 2 -/* 0C4390 800C3790 0315C021 */ addu $t8, $t8, $s5 -/* 0C4394 800C3794 0018C080 */ sll $t8, $t8, 2 -/* 0C4398 800C3798 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C439C 800C379C 0315C023 */ subu $t8, $t8, $s5 -/* 0C43A0 800C37A0 0018C080 */ sll $t8, $t8, 2 -/* 0C43A4 800C37A4 44810000 */ mtc1 $at, $f0 -/* 0C43A8 800C37A8 02D8A021 */ addu $s4, $s6, $t8 -/* 0C43AC 800C37AC 00009025 */ move $s2, $zero -/* 0C43B0 800C37B0 02A01025 */ move $v0, $s5 -/* 0C43B4 800C37B4 0292C821 */ addu $t9, $s4, $s2 -.L800C37B8: -/* 0C43B8 800C37B8 932A000E */ lbu $t2, 0xe($t9) -/* 0C43BC 800C37BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C43C0 800C37C0 448A2000 */ mtc1 $t2, $f4 -/* 0C43C4 800C37C4 05410004 */ bgez $t2, .L800C37D8 -/* 0C43C8 800C37C8 468021A0 */ cvt.s.w $f6, $f4 -/* 0C43CC 800C37CC 44814000 */ mtc1 $at, $f8 -/* 0C43D0 800C37D0 00000000 */ nop -/* 0C43D4 800C37D4 46083180 */ add.s $f6, $f6, $f8 -.L800C37D8: -/* 0C43D8 800C37D8 46143283 */ div.s $f10, $f6, $f20 -/* 0C43DC 800C37DC 26520001 */ addiu $s2, $s2, 1 -/* 0C43E0 800C37E0 324B00FF */ andi $t3, $s2, 0xff -/* 0C43E4 800C37E4 29610003 */ slti $at, $t3, 3 -/* 0C43E8 800C37E8 01609025 */ move $s2, $t3 -/* 0C43EC 800C37EC 460A0002 */ mul.s $f0, $f0, $f10 -/* 0C43F0 800C37F0 5420FFF1 */ bnel $at, $zero, .L800C37B8 -/* 0C43F4 800C37F4 0292C821 */ addu $t9, $s4, $s2 -/* 0C43F8 800C37F8 46140402 */ mul.s $f16, $f0, $f20 -/* 0C43FC 800C37FC 240A0001 */ li $t2, 1 -/* 0C4400 800C3800 926C0011 */ lbu $t4, 0x11($s3) -/* 0C4404 800C3804 3C014000 */ lui $at, 0x4000 -/* 0C4408 800C3808 00027E00 */ sll $t7, $v0, 0x18 -/* 0C440C 800C380C 000C6C00 */ sll $t5, $t4, 0x10 -/* 0C4410 800C3810 01A17025 */ or $t6, $t5, $at -/* 0C4414 800C3814 4459F800 */ cfc1 $t9, $31 -/* 0C4418 800C3818 44CAF800 */ ctc1 $t2, $31 -/* 0C441C 800C381C 01CFC025 */ or $t8, $t6, $t7 -/* 0C4420 800C3820 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C4424 800C3824 460084A4 */ cvt.w.s $f18, $f16 -/* 0C4428 800C3828 444AF800 */ cfc1 $t2, $31 -/* 0C442C 800C382C 00000000 */ nop -/* 0C4430 800C3830 314A0078 */ andi $t2, $t2, 0x78 -/* 0C4434 800C3834 51400013 */ beql $t2, $zero, .L800C3884 -/* 0C4438 800C3838 440A9000 */ mfc1 $t2, $f18 -/* 0C443C 800C383C 44819000 */ mtc1 $at, $f18 -/* 0C4440 800C3840 240A0001 */ li $t2, 1 -/* 0C4444 800C3844 46128481 */ sub.s $f18, $f16, $f18 -/* 0C4448 800C3848 44CAF800 */ ctc1 $t2, $31 -/* 0C444C 800C384C 00000000 */ nop -/* 0C4450 800C3850 460094A4 */ cvt.w.s $f18, $f18 -/* 0C4454 800C3854 444AF800 */ cfc1 $t2, $31 -/* 0C4458 800C3858 00000000 */ nop -/* 0C445C 800C385C 314A0078 */ andi $t2, $t2, 0x78 -/* 0C4460 800C3860 15400005 */ bnez $t2, .L800C3878 -/* 0C4464 800C3864 00000000 */ nop -/* 0C4468 800C3868 440A9000 */ mfc1 $t2, $f18 -/* 0C446C 800C386C 3C018000 */ lui $at, 0x8000 -/* 0C4470 800C3870 10000007 */ b .L800C3890 -/* 0C4474 800C3874 01415025 */ or $t2, $t2, $at -.L800C3878: -/* 0C4478 800C3878 10000005 */ b .L800C3890 -/* 0C447C 800C387C 240AFFFF */ li $t2, -1 -/* 0C4480 800C3880 440A9000 */ mfc1 $t2, $f18 -.L800C3884: -/* 0C4484 800C3884 00000000 */ nop -/* 0C4488 800C3888 0540FFFB */ bltz $t2, .L800C3878 -/* 0C448C 800C388C 00000000 */ nop -.L800C3890: -/* 0C4490 800C3890 44D9F800 */ ctc1 $t9, $31 -/* 0C4494 800C3894 314B00FF */ andi $t3, $t2, 0xff -/* 0C4498 800C3898 0C030D12 */ jal func_800C3448 -/* 0C449C 800C389C 030B2025 */ or $a0, $t8, $t3 -/* 0C44A0 800C38A0 A2600012 */ sb $zero, 0x12($s3) -.L800C38A4: -/* 0C44A4 800C38A4 9662000C */ lhu $v0, 0xc($s3) -/* 0C44A8 800C38A8 10400011 */ beqz $v0, .L800C38F0 -/* 0C44AC 800C38AC 244CFFFF */ addiu $t4, $v0, -1 -/* 0C44B0 800C38B0 318DFFFF */ andi $t5, $t4, 0xffff -/* 0C44B4 800C38B4 11A00006 */ beqz $t5, .L800C38D0 -/* 0C44B8 800C38B8 A66C000C */ sh $t4, 0xc($s3) -/* 0C44BC 800C38BC C6640000 */ lwc1 $f4, ($s3) -/* 0C44C0 800C38C0 C6680008 */ lwc1 $f8, 8($s3) -/* 0C44C4 800C38C4 46082181 */ sub.s $f6, $f4, $f8 -/* 0C44C8 800C38C8 10000003 */ b .L800C38D8 -/* 0C44CC 800C38CC E6660000 */ swc1 $f6, ($s3) -.L800C38D0: -/* 0C44D0 800C38D0 C66A0004 */ lwc1 $f10, 4($s3) -/* 0C44D4 800C38D4 E66A0000 */ swc1 $f10, ($s3) -.L800C38D8: -/* 0C44D8 800C38D8 32A400FF */ andi $a0, $s5, 0xff -/* 0C44DC 800C38DC 00047400 */ sll $t6, $a0, 0x10 -/* 0C44E0 800C38E0 3C014100 */ lui $at, 0x4100 -/* 0C44E4 800C38E4 01C12025 */ or $a0, $t6, $at -/* 0C44E8 800C38E8 0C032EE2 */ jal func_800CBB88 -/* 0C44EC 800C38EC 8E650000 */ lw $a1, ($s3) -.L800C38F0: -/* 0C44F0 800C38F0 8E650014 */ lw $a1, 0x14($s3) -/* 0C44F4 800C38F4 10A00093 */ beqz $a1, .L800C3B44 -/* 0C44F8 800C38F8 3C0100FF */ lui $at, 0xff -/* 0C44FC 800C38FC 00A11024 */ and $v0, $a1, $at -/* 0C4500 800C3900 0002CBC2 */ srl $t9, $v0, 0xf -/* 0C4504 800C3904 30A40FFF */ andi $a0, $a1, 0xfff -/* 0C4508 800C3908 332700FF */ andi $a3, $t9, 0xff -/* 0C450C 800C390C 00A01825 */ move $v1, $a1 -/* 0C4510 800C3910 332800FF */ andi $t0, $t9, 0xff -/* 0C4514 800C3914 14E00004 */ bnez $a3, .L800C3928 -/* 0C4518 800C3918 3086FFFF */ andi $a2, $a0, 0xffff -/* 0C451C 800C391C 24E80001 */ addiu $t0, $a3, 1 -/* 0C4520 800C3920 310A00FF */ andi $t2, $t0, 0xff -/* 0C4524 800C3924 01404025 */ move $t0, $t2 -.L800C3928: -/* 0C4528 800C3928 0015C080 */ sll $t8, $s5, 2 -/* 0C452C 800C392C 0315C021 */ addu $t8, $t8, $s5 -/* 0C4530 800C3930 0018C0C0 */ sll $t8, $t8, 3 -/* 0C4534 800C3934 0315C021 */ addu $t8, $t8, $s5 -/* 0C4538 800C3938 3C0B803B */ lui $t3, %hi(D_803B1510) # $t3, 0x803b -/* 0C453C 800C393C 256B1510 */ addiu $t3, %lo(D_803B1510) # addiu $t3, $t3, 0x1510 -/* 0C4540 800C3940 0018C0C0 */ sll $t8, $t8, 3 -/* 0C4544 800C3944 030B2821 */ addu $a1, $t8, $t3 -/* 0C4548 800C3948 8CAC0000 */ lw $t4, ($a1) -/* 0C454C 800C394C 24010030 */ li $at, 48 -/* 0C4550 800C3950 3062F000 */ andi $v0, $v1, 0xf000 -/* 0C4554 800C3954 000C6FC2 */ srl $t5, $t4, 0x1f -/* 0C4558 800C3958 51A0007A */ beql $t5, $zero, .L800C3B44 -/* 0C455C 800C395C AE600014 */ sw $zero, 0x14($s3) -/* 0C4560 800C3960 94A90008 */ lhu $t1, 8($a1) -/* 0C4564 800C3964 00027B02 */ srl $t7, $v0, 0xc -/* 0C4568 800C3968 31F900FF */ andi $t9, $t7, 0xff -/* 0C456C 800C396C 0121001A */ div $zero, $t1, $at -/* 0C4570 800C3970 00004812 */ mflo $t1 -/* 0C4574 800C3974 24010001 */ li $at, 1 -/* 0C4578 800C3978 1321000C */ beq $t9, $at, .L800C39AC -/* 0C457C 800C397C 3127FFFF */ andi $a3, $t1, 0xffff -/* 0C4580 800C3980 24010002 */ li $at, 2 -/* 0C4584 800C3984 1321000E */ beq $t9, $at, .L800C39C0 -/* 0C4588 800C3988 3083FFFF */ andi $v1, $a0, 0xffff -/* 0C458C 800C398C 24010003 */ li $at, 3 -/* 0C4590 800C3990 13210013 */ beq $t9, $at, .L800C39E0 -/* 0C4594 800C3994 308CFFFF */ andi $t4, $a0, 0xffff -/* 0C4598 800C3998 24010004 */ li $at, 4 -/* 0C459C 800C399C 53210048 */ beql $t9, $at, .L800C3AC0 -/* 0C45A0 800C39A0 96620018 */ lhu $v0, 0x18($s3) -/* 0C45A4 800C39A4 1000004B */ b .L800C3AD4 -/* 0C45A8 800C39A8 96620018 */ lhu $v0, 0x18($s3) -.L800C39AC: -/* 0C45AC 800C39AC 00873021 */ addu $a2, $a0, $a3 -/* 0C45B0 800C39B0 30D8FFFF */ andi $t8, $a2, 0xffff -/* 0C45B4 800C39B4 03003025 */ move $a2, $t8 -/* 0C45B8 800C39B8 10000046 */ b .L800C3AD4 -/* 0C45BC 800C39BC 96620018 */ lhu $v0, 0x18($s3) -.L800C39C0: -/* 0C45C0 800C39C0 0067082A */ slt $at, $v1, $a3 -/* 0C45C4 800C39C4 10200004 */ beqz $at, .L800C39D8 -/* 0C45C8 800C39C8 00E01025 */ move $v0, $a3 -/* 0C45CC 800C39CC 00433023 */ subu $a2, $v0, $v1 -/* 0C45D0 800C39D0 30CBFFFF */ andi $t3, $a2, 0xffff -/* 0C45D4 800C39D4 01603025 */ move $a2, $t3 -.L800C39D8: -/* 0C45D8 800C39D8 1000003E */ b .L800C3AD4 -/* 0C45DC 800C39DC 96620018 */ lhu $v0, 0x18($s3) -.L800C39E0: -/* 0C45E0 800C39E0 448C8000 */ mtc1 $t4, $f16 -/* 0C45E4 800C39E4 44875000 */ mtc1 $a3, $f10 -/* 0C45E8 800C39E8 05810005 */ bgez $t4, .L800C3A00 -/* 0C45EC 800C39EC 468084A0 */ cvt.s.w $f18, $f16 -/* 0C45F0 800C39F0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C45F4 800C39F4 44812000 */ mtc1 $at, $f4 -/* 0C45F8 800C39F8 00000000 */ nop -/* 0C45FC 800C39FC 46049480 */ add.s $f18, $f18, $f4 -.L800C3A00: -/* 0C4600 800C3A00 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0C4604 800C3A04 44814000 */ mtc1 $at, $f8 -/* 0C4608 800C3A08 46805420 */ cvt.s.w $f16, $f10 -/* 0C460C 800C3A0C 04E10005 */ bgez $a3, .L800C3A24 -/* 0C4610 800C3A10 46089183 */ div.s $f6, $f18, $f8 -/* 0C4614 800C3A14 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C4618 800C3A18 44812000 */ mtc1 $at, $f4 -/* 0C461C 800C3A1C 00000000 */ nop -/* 0C4620 800C3A20 46048400 */ add.s $f16, $f16, $f4 -.L800C3A24: -/* 0C4624 800C3A24 46068482 */ mul.s $f18, $f16, $f6 -/* 0C4628 800C3A28 24060001 */ li $a2, 1 -/* 0C462C 800C3A2C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C4630 800C3A30 444DF800 */ cfc1 $t5, $31 -/* 0C4634 800C3A34 44C6F800 */ ctc1 $a2, $31 -/* 0C4638 800C3A38 00000000 */ nop -/* 0C463C 800C3A3C 46009224 */ cvt.w.s $f8, $f18 -/* 0C4640 800C3A40 4446F800 */ cfc1 $a2, $31 -/* 0C4644 800C3A44 00000000 */ nop -/* 0C4648 800C3A48 30C60078 */ andi $a2, $a2, 0x78 -/* 0C464C 800C3A4C 50C00013 */ beql $a2, $zero, .L800C3A9C -/* 0C4650 800C3A50 44064000 */ mfc1 $a2, $f8 -/* 0C4654 800C3A54 44814000 */ mtc1 $at, $f8 -/* 0C4658 800C3A58 24060001 */ li $a2, 1 -/* 0C465C 800C3A5C 46089201 */ sub.s $f8, $f18, $f8 -/* 0C4660 800C3A60 44C6F800 */ ctc1 $a2, $31 -/* 0C4664 800C3A64 00000000 */ nop -/* 0C4668 800C3A68 46004224 */ cvt.w.s $f8, $f8 -/* 0C466C 800C3A6C 4446F800 */ cfc1 $a2, $31 -/* 0C4670 800C3A70 00000000 */ nop -/* 0C4674 800C3A74 30C60078 */ andi $a2, $a2, 0x78 -/* 0C4678 800C3A78 14C00005 */ bnez $a2, .L800C3A90 -/* 0C467C 800C3A7C 00000000 */ nop -/* 0C4680 800C3A80 44064000 */ mfc1 $a2, $f8 -/* 0C4684 800C3A84 3C018000 */ lui $at, 0x8000 -/* 0C4688 800C3A88 10000007 */ b .L800C3AA8 -/* 0C468C 800C3A8C 00C13025 */ or $a2, $a2, $at -.L800C3A90: -/* 0C4690 800C3A90 10000005 */ b .L800C3AA8 -/* 0C4694 800C3A94 2406FFFF */ li $a2, -1 -/* 0C4698 800C3A98 44064000 */ mfc1 $a2, $f8 -.L800C3A9C: -/* 0C469C 800C3A9C 00000000 */ nop -/* 0C46A0 800C3AA0 04C0FFFB */ bltz $a2, .L800C3A90 -/* 0C46A4 800C3AA4 00000000 */ nop -.L800C3AA8: -/* 0C46A8 800C3AA8 44CDF800 */ ctc1 $t5, $31 -/* 0C46AC 800C3AAC 30CEFFFF */ andi $t6, $a2, 0xffff -/* 0C46B0 800C3AB0 01C03025 */ move $a2, $t6 -/* 0C46B4 800C3AB4 10000007 */ b .L800C3AD4 -/* 0C46B8 800C3AB8 96620018 */ lhu $v0, 0x18($s3) -/* 0C46BC 800C3ABC 96620018 */ lhu $v0, 0x18($s3) -.L800C3AC0: -/* 0C46C0 800C3AC0 30E6FFFF */ andi $a2, $a3, 0xffff -/* 0C46C4 800C3AC4 10400003 */ beqz $v0, .L800C3AD4 -/* 0C46C8 800C3AC8 00000000 */ nop -/* 0C46CC 800C3ACC 10000001 */ b .L800C3AD4 -/* 0C46D0 800C3AD0 3046FFFF */ andi $a2, $v0, 0xffff -.L800C3AD4: -/* 0C46D4 800C3AD4 44898000 */ mtc1 $t1, $f16 -/* 0C46D8 800C3AD8 28C1012D */ slti $at, $a2, 0x12d -/* 0C46DC 800C3ADC 14200002 */ bnez $at, .L800C3AE8 -/* 0C46E0 800C3AE0 468080A0 */ cvt.s.w $f2, $f16 -/* 0C46E4 800C3AE4 2406012C */ li $a2, 300 -.L800C3AE8: -/* 0C46E8 800C3AE8 44865000 */ mtc1 $a2, $f10 -/* 0C46EC 800C3AEC 14400002 */ bnez $v0, .L800C3AF8 -/* 0C46F0 800C3AF0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C46F4 800C3AF4 A6670018 */ sh $a3, 0x18($s3) -.L800C3AF8: -/* 0C46F8 800C3AF8 04C10004 */ bgez $a2, .L800C3B0C -/* 0C46FC 800C3AFC 46805020 */ cvt.s.w $f0, $f10 -/* 0C4700 800C3B00 44812000 */ mtc1 $at, $f4 -/* 0C4704 800C3B04 00000000 */ nop -/* 0C4708 800C3B08 46040000 */ add.s $f0, $f0, $f4 -.L800C3B0C: -/* 0C470C 800C3B0C 44889000 */ mtc1 $t0, $f18 -/* 0C4710 800C3B10 E6600020 */ swc1 $f0, 0x20($s3) -/* 0C4714 800C3B14 E662001C */ swc1 $f2, 0x1c($s3) -/* 0C4718 800C3B18 46001181 */ sub.s $f6, $f2, $f0 -/* 0C471C 800C3B1C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C4720 800C3B20 05010004 */ bgez $t0, .L800C3B34 -/* 0C4724 800C3B24 46809220 */ cvt.s.w $f8, $f18 -/* 0C4728 800C3B28 44815000 */ mtc1 $at, $f10 -/* 0C472C 800C3B2C 00000000 */ nop -/* 0C4730 800C3B30 460A4200 */ add.s $f8, $f8, $f10 -.L800C3B34: -/* 0C4734 800C3B34 46083103 */ div.s $f4, $f6, $f8 -/* 0C4738 800C3B38 A6680028 */ sh $t0, 0x28($s3) -/* 0C473C 800C3B3C E6640024 */ swc1 $f4, 0x24($s3) -/* 0C4740 800C3B40 AE600014 */ sw $zero, 0x14($s3) -.L800C3B44: -/* 0C4744 800C3B44 96620028 */ lhu $v0, 0x28($s3) -/* 0C4748 800C3B48 10400015 */ beqz $v0, .L800C3BA0 -/* 0C474C 800C3B4C 244FFFFF */ addiu $t7, $v0, -1 -/* 0C4750 800C3B50 32A300FF */ andi $v1, $s5, 0xff -/* 0C4754 800C3B54 0003CC00 */ sll $t9, $v1, 0x10 -/* 0C4758 800C3B58 31EAFFFF */ andi $t2, $t7, 0xffff -/* 0C475C 800C3B5C A66F0028 */ sh $t7, 0x28($s3) -/* 0C4760 800C3B60 11400006 */ beqz $t2, .L800C3B7C -/* 0C4764 800C3B64 03201825 */ move $v1, $t9 -/* 0C4768 800C3B68 C670001C */ lwc1 $f16, 0x1c($s3) -/* 0C476C 800C3B6C C6720024 */ lwc1 $f18, 0x24($s3) -/* 0C4770 800C3B70 46128281 */ sub.s $f10, $f16, $f18 -/* 0C4774 800C3B74 10000003 */ b .L800C3B84 -/* 0C4778 800C3B78 E66A001C */ swc1 $f10, 0x1c($s3) -.L800C3B7C: -/* 0C477C 800C3B7C C6660020 */ lwc1 $f6, 0x20($s3) -/* 0C4780 800C3B80 E666001C */ swc1 $f6, 0x1c($s3) -.L800C3B84: -/* 0C4784 800C3B84 C668001C */ lwc1 $f8, 0x1c($s3) -/* 0C4788 800C3B88 3C014700 */ lui $at, 0x4700 -/* 0C478C 800C3B8C 00612025 */ or $a0, $v1, $at -/* 0C4790 800C3B90 4600410D */ trunc.w.s $f4, $f8 -/* 0C4794 800C3B94 44052000 */ mfc1 $a1, $f4 -/* 0C4798 800C3B98 0C032EEE */ jal func_800CBBB8 -/* 0C479C 800C3B9C 00000000 */ nop -.L800C3BA0: -/* 0C47A0 800C3BA0 966B0246 */ lhu $t3, 0x246($s3) -/* 0C47A4 800C3BA4 1160002C */ beqz $t3, .L800C3C58 -/* 0C47A8 800C3BA8 001560C0 */ sll $t4, $s5, 3 -/* 0C47AC 800C3BAC 01956021 */ addu $t4, $t4, $s5 -/* 0C47B0 800C3BB0 000C6080 */ sll $t4, $t4, 2 -/* 0C47B4 800C3BB4 01956021 */ addu $t4, $t4, $s5 -/* 0C47B8 800C3BB8 000C6080 */ sll $t4, $t4, 2 -/* 0C47BC 800C3BBC 01956023 */ subu $t4, $t4, $s5 -/* 0C47C0 800C3BC0 000C6080 */ sll $t4, $t4, 2 -/* 0C47C4 800C3BC4 02CCA021 */ addu $s4, $s6, $t4 -/* 0C47C8 800C3BC8 00008025 */ move $s0, $zero -.L800C3BCC: -/* 0C47CC 800C3BCC 00102140 */ sll $a0, $s0, 5 -/* 0C47D0 800C3BD0 02841021 */ addu $v0, $s4, $a0 -/* 0C47D4 800C3BD4 94430050 */ lhu $v1, 0x50($v0) -/* 0C47D8 800C3BD8 32A600FF */ andi $a2, $s5, 0xff -/* 0C47DC 800C3BDC 00067400 */ sll $t6, $a2, 0x10 -/* 0C47E0 800C3BE0 10600018 */ beqz $v1, .L800C3C44 -/* 0C47E4 800C3BE4 246DFFFF */ addiu $t5, $v1, -1 -/* 0C47E8 800C3BE8 3C010100 */ lui $at, 0x100 -/* 0C47EC 800C3BEC 31B9FFFF */ andi $t9, $t5, 0xffff -/* 0C47F0 800C3BF0 A44D0050 */ sh $t5, 0x50($v0) -/* 0C47F4 800C3BF4 13200006 */ beqz $t9, .L800C3C10 -/* 0C47F8 800C3BF8 01C13025 */ or $a2, $t6, $at -/* 0C47FC 800C3BFC C4500044 */ lwc1 $f16, 0x44($v0) -/* 0C4800 800C3C00 C452004C */ lwc1 $f18, 0x4c($v0) -/* 0C4804 800C3C04 46128281 */ sub.s $f10, $f16, $f18 -/* 0C4808 800C3C08 10000009 */ b .L800C3C30 -/* 0C480C 800C3C0C E44A0044 */ swc1 $f10, 0x44($v0) -.L800C3C10: -/* 0C4810 800C3C10 02641821 */ addu $v1, $s3, $a0 -/* 0C4814 800C3C14 C4660048 */ lwc1 $f6, 0x48($v1) -/* 0C4818 800C3C18 24180001 */ li $t8, 1 -/* 0C481C 800C3C1C 02185804 */ sllv $t3, $t8, $s0 -/* 0C4820 800C3C20 E4660044 */ swc1 $f6, 0x44($v1) -/* 0C4824 800C3C24 966A0246 */ lhu $t2, 0x246($s3) -/* 0C4828 800C3C28 014B6026 */ xor $t4, $t2, $t3 -/* 0C482C 800C3C2C A66C0246 */ sh $t4, 0x246($s3) -.L800C3C30: -/* 0C4830 800C3C30 320D00FF */ andi $t5, $s0, 0xff -/* 0C4834 800C3C34 000D7200 */ sll $t6, $t5, 8 -/* 0C4838 800C3C38 00CE2025 */ or $a0, $a2, $t6 -/* 0C483C 800C3C3C 0C032EE2 */ jal func_800CBB88 -/* 0C4840 800C3C40 8C450044 */ lw $a1, 0x44($v0) -.L800C3C44: -/* 0C4844 800C3C44 26100001 */ addiu $s0, $s0, 1 -/* 0C4848 800C3C48 320F00FF */ andi $t7, $s0, 0xff -/* 0C484C 800C3C4C 29E10010 */ slti $at, $t7, 0x10 -/* 0C4850 800C3C50 1420FFDE */ bnez $at, .L800C3BCC -/* 0C4854 800C3C54 01E08025 */ move $s0, $t7 -.L800C3C58: -/* 0C4858 800C3C58 96790244 */ lhu $t9, 0x244($s3) -/* 0C485C 800C3C5C 1320002C */ beqz $t9, .L800C3D10 -/* 0C4860 800C3C60 0015C0C0 */ sll $t8, $s5, 3 -/* 0C4864 800C3C64 0315C021 */ addu $t8, $t8, $s5 -/* 0C4868 800C3C68 0018C080 */ sll $t8, $t8, 2 -/* 0C486C 800C3C6C 0315C021 */ addu $t8, $t8, $s5 -/* 0C4870 800C3C70 0018C080 */ sll $t8, $t8, 2 -/* 0C4874 800C3C74 0315C023 */ subu $t8, $t8, $s5 -/* 0C4878 800C3C78 0018C080 */ sll $t8, $t8, 2 -/* 0C487C 800C3C7C 02D8A021 */ addu $s4, $s6, $t8 -/* 0C4880 800C3C80 00008025 */ move $s0, $zero -.L800C3C84: -/* 0C4884 800C3C84 00102140 */ sll $a0, $s0, 5 -/* 0C4888 800C3C88 02841021 */ addu $v0, $s4, $a0 -/* 0C488C 800C3C8C 94430060 */ lhu $v1, 0x60($v0) -/* 0C4890 800C3C90 32A600FF */ andi $a2, $s5, 0xff -/* 0C4894 800C3C94 00065C00 */ sll $t3, $a2, 0x10 -/* 0C4898 800C3C98 10600018 */ beqz $v1, .L800C3CFC -/* 0C489C 800C3C9C 246AFFFF */ addiu $t2, $v1, -1 -/* 0C48A0 800C3CA0 3C010400 */ lui $at, 0x400 -/* 0C48A4 800C3CA4 314DFFFF */ andi $t5, $t2, 0xffff -/* 0C48A8 800C3CA8 A44A0060 */ sh $t2, 0x60($v0) -/* 0C48AC 800C3CAC 11A00006 */ beqz $t5, .L800C3CC8 -/* 0C48B0 800C3CB0 01613025 */ or $a2, $t3, $at -/* 0C48B4 800C3CB4 C4480054 */ lwc1 $f8, 0x54($v0) -/* 0C48B8 800C3CB8 C444005C */ lwc1 $f4, 0x5c($v0) -/* 0C48BC 800C3CBC 46044401 */ sub.s $f16, $f8, $f4 -/* 0C48C0 800C3CC0 10000009 */ b .L800C3CE8 -/* 0C48C4 800C3CC4 E4500054 */ swc1 $f16, 0x54($v0) -.L800C3CC8: -/* 0C48C8 800C3CC8 02641821 */ addu $v1, $s3, $a0 -/* 0C48CC 800C3CCC C4720058 */ lwc1 $f18, 0x58($v1) -/* 0C48D0 800C3CD0 240F0001 */ li $t7, 1 -/* 0C48D4 800C3CD4 020FC804 */ sllv $t9, $t7, $s0 -/* 0C48D8 800C3CD8 E4720054 */ swc1 $f18, 0x54($v1) -/* 0C48DC 800C3CDC 966E0244 */ lhu $t6, 0x244($s3) -/* 0C48E0 800C3CE0 01D9C026 */ xor $t8, $t6, $t9 -/* 0C48E4 800C3CE4 A6780244 */ sh $t8, 0x244($s3) -.L800C3CE8: -/* 0C48E8 800C3CE8 320A00FF */ andi $t2, $s0, 0xff -/* 0C48EC 800C3CEC 000A5A00 */ sll $t3, $t2, 8 -/* 0C48F0 800C3CF0 00CB2025 */ or $a0, $a2, $t3 -/* 0C48F4 800C3CF4 0C032EE2 */ jal func_800CBB88 -/* 0C48F8 800C3CF8 8C450054 */ lw $a1, 0x54($v0) -.L800C3CFC: -/* 0C48FC 800C3CFC 26100001 */ addiu $s0, $s0, 1 -/* 0C4900 800C3D00 320C00FF */ andi $t4, $s0, 0xff -/* 0C4904 800C3D04 29810010 */ slti $at, $t4, 0x10 -/* 0C4908 800C3D08 1420FFDE */ bnez $at, .L800C3C84 -/* 0C490C 800C3D0C 01808025 */ move $s0, $t4 -.L800C3D10: -/* 0C4910 800C3D10 92620041 */ lbu $v0, 0x41($s3) -/* 0C4914 800C3D14 50400084 */ beql $v0, $zero, .L800C3F28 -/* 0C4918 800C3D18 26B50001 */ addiu $s5, $s5, 1 -/* 0C491C 800C3D1C 92630040 */ lbu $v1, 0x40($s3) -/* 0C4920 800C3D20 00157880 */ sll $t7, $s5, 2 -/* 0C4924 800C3D24 01F57821 */ addu $t7, $t7, $s5 -/* 0C4928 800C3D28 10600004 */ beqz $v1, .L800C3D3C -/* 0C492C 800C3D2C 000F78C0 */ sll $t7, $t7, 3 -/* 0C4930 800C3D30 246DFFFF */ addiu $t5, $v1, -1 -/* 0C4934 800C3D34 1000007B */ b .L800C3F24 -/* 0C4938 800C3D38 A26D0040 */ sb $t5, 0x40($s3) -.L800C3D3C: -/* 0C493C 800C3D3C 01F57821 */ addu $t7, $t7, $s5 -/* 0C4940 800C3D40 000F78C0 */ sll $t7, $t7, 3 -/* 0C4944 800C3D44 3C0E803B */ lui $t6, %hi(D_803B1510) # 0x803b -/* 0C4948 800C3D48 01CF7021 */ addu $t6, $t6, $t7 -/* 0C494C 800C3D4C 8DCE1510 */ lw $t6, %lo(D_803B1510)($t6) # 0x1510($t6) -/* 0C4950 800C3D50 00009025 */ move $s2, $zero -/* 0C4954 800C3D54 000ECFC2 */ srl $t9, $t6, 0x1f -/* 0C4958 800C3D58 57200073 */ bnel $t9, $zero, .L800C3F28 -/* 0C495C 800C3D5C 26B50001 */ addiu $s5, $s5, 1 -/* 0C4960 800C3D60 1840006F */ blez $v0, .L800C3F20 -/* 0C4964 800C3D64 00401825 */ move $v1, $v0 -/* 0C4968 800C3D68 0015C0C0 */ sll $t8, $s5, 3 -/* 0C496C 800C3D6C 0315C021 */ addu $t8, $t8, $s5 -/* 0C4970 800C3D70 0018C080 */ sll $t8, $t8, 2 -/* 0C4974 800C3D74 0315C021 */ addu $t8, $t8, $s5 -/* 0C4978 800C3D78 0018C080 */ sll $t8, $t8, 2 -/* 0C497C 800C3D7C 0315C023 */ subu $t8, $t8, $s5 -/* 0C4980 800C3D80 0018C080 */ sll $t8, $t8, 2 -/* 0C4984 800C3D84 02D8A021 */ addu $s4, $s6, $t8 -.L800C3D88: -/* 0C4988 800C3D88 00125080 */ sll $t2, $s2, 2 -/* 0C498C 800C3D8C 028A5821 */ addu $t3, $s4, $t2 -/* 0C4990 800C3D90 8D62002C */ lw $v0, 0x2c($t3) -/* 0C4994 800C3D94 3C0100F0 */ lui $at, 0xf0 -/* 0C4998 800C3D98 00412024 */ and $a0, $v0, $at -/* 0C499C 800C3D9C 3C01000F */ lui $at, 0xf -/* 0C49A0 800C3DA0 00046502 */ srl $t4, $a0, 0x14 -/* 0C49A4 800C3DA4 00418824 */ and $s1, $v0, $at -/* 0C49A8 800C3DA8 318D00FF */ andi $t5, $t4, 0xff -/* 0C49AC 800C3DAC 3045FF00 */ andi $a1, $v0, 0xff00 -/* 0C49B0 800C3DB0 00403025 */ move $a2, $v0 -/* 0C49B4 800C3DB4 00117C02 */ srl $t7, $s1, 0x10 -/* 0C49B8 800C3DB8 0005CA02 */ srl $t9, $a1, 8 -/* 0C49BC 800C3DBC 30CA00FF */ andi $t2, $a2, 0xff -/* 0C49C0 800C3DC0 2DA10007 */ sltiu $at, $t5, 7 -/* 0C49C4 800C3DC4 31F100FF */ andi $s1, $t7, 0xff -/* 0C49C8 800C3DC8 332500FF */ andi $a1, $t9, 0xff -/* 0C49CC 800C3DCC 1020004F */ beqz $at, .L800C3F0C -/* 0C49D0 800C3DD0 01403025 */ move $a2, $t2 -/* 0C49D4 800C3DD4 000D5880 */ sll $t3, $t5, 2 -/* 0C49D8 800C3DD8 3C01800F */ lui $at, %hi(D_800F362C) -/* 0C49DC 800C3DDC 002B0821 */ addu $at, $at, $t3 -/* 0C49E0 800C3DE0 8C2B362C */ lw $t3, %lo(D_800F362C)($at) -/* 0C49E4 800C3DE4 01600008 */ jr $t3 -/* 0C49E8 800C3DE8 00000000 */ nop -glabel L800C3DEC -/* 0C49EC 800C3DEC 02370019 */ multu $s1, $s7 -/* 0C49F0 800C3DF0 240D0001 */ li $t5, 1 -/* 0C49F4 800C3DF4 240F007F */ li $t7, 127 -/* 0C49F8 800C3DF8 00006012 */ mflo $t4 -/* 0C49FC 800C3DFC 02CC8021 */ addu $s0, $s6, $t4 -/* 0C4A00 800C3E00 A20D0012 */ sb $t5, 0x12($s0) -/* 0C4A04 800C3E04 A20F000F */ sb $t7, 0xf($s0) -/* 0C4A08 800C3E08 10000040 */ b .L800C3F0C -/* 0C4A0C 800C3E0C 92630041 */ lbu $v1, 0x41($s3) -glabel L800C3E10 -/* 0C4A10 800C3E10 966E0248 */ lhu $t6, 0x248($s3) -/* 0C4A14 800C3E14 3C013000 */ lui $at, 0x3000 -/* 0C4A18 800C3E18 0015C600 */ sll $t8, $s5, 0x18 -/* 0C4A1C 800C3E1C 01C1C825 */ or $t9, $t6, $at -/* 0C4A20 800C3E20 0C030D12 */ jal func_800C3448 -/* 0C4A24 800C3E24 03382025 */ or $a0, $t9, $t8 -/* 0C4A28 800C3E28 10000038 */ b .L800C3F0C -/* 0C4A2C 800C3E2C 92630041 */ lbu $v1, 0x41($s3) -glabel L800C3E30 -/* 0C4A30 800C3E30 02370019 */ multu $s1, $s7 -/* 0C4A34 800C3E34 00116600 */ sll $t4, $s1, 0x18 -/* 0C4A38 800C3E38 3C010001 */ lui $at, 1 -/* 0C4A3C 800C3E3C 00005012 */ mflo $t2 -/* 0C4A40 800C3E40 02CA8021 */ addu $s0, $s6, $t2 -/* 0C4A44 800C3E44 960B0248 */ lhu $t3, 0x248($s0) -/* 0C4A48 800C3E48 016C2025 */ or $a0, $t3, $t4 -/* 0C4A4C 800C3E4C 00816825 */ or $t5, $a0, $at -/* 0C4A50 800C3E50 0C030D12 */ jal func_800C3448 -/* 0C4A54 800C3E54 01A02025 */ move $a0, $t5 -/* 0C4A58 800C3E58 240F0001 */ li $t7, 1 -/* 0C4A5C 800C3E5C 240E007F */ li $t6, 127 -/* 0C4A60 800C3E60 A20F0012 */ sb $t7, 0x12($s0) -/* 0C4A64 800C3E64 A20E000F */ sb $t6, 0xf($s0) -/* 0C4A68 800C3E68 10000028 */ b .L800C3F0C -/* 0C4A6C 800C3E6C 92630041 */ lbu $v1, 0x41($s3) -glabel L800C3E70 -/* 0C4A70 800C3E70 3C01B000 */ lui $at, (0xB0003000 >> 16) # lui $at, 0xb000 -/* 0C4A74 800C3E74 34213000 */ ori $at, (0xB0003000 & 0xFFFF) # ori $at, $at, 0x3000 -/* 0C4A78 800C3E78 0011CE00 */ sll $t9, $s1, 0x18 -/* 0C4A7C 800C3E7C 0321C025 */ or $t8, $t9, $at -/* 0C4A80 800C3E80 00055400 */ sll $t2, $a1, 0x10 -/* 0C4A84 800C3E84 030A5825 */ or $t3, $t8, $t2 -/* 0C4A88 800C3E88 0C030D12 */ jal func_800C3448 -/* 0C4A8C 800C3E8C 01662025 */ or $a0, $t3, $a2 -/* 0C4A90 800C3E90 1000001E */ b .L800C3F0C -/* 0C4A94 800C3E94 92630041 */ lbu $v1, 0x41($s3) -glabel L800C3E98 -/* 0C4A98 800C3E98 3C01B000 */ lui $at, (0xB0004000 >> 16) # lui $at, 0xb000 -/* 0C4A9C 800C3E9C 34214000 */ ori $at, (0xB0004000 & 0xFFFF) # ori $at, $at, 0x4000 -/* 0C4AA0 800C3EA0 00116600 */ sll $t4, $s1, 0x18 -/* 0C4AA4 800C3EA4 01816825 */ or $t5, $t4, $at -/* 0C4AA8 800C3EA8 00067C00 */ sll $t7, $a2, 0x10 -/* 0C4AAC 800C3EAC 0C030D12 */ jal func_800C3448 -/* 0C4AB0 800C3EB0 01AF2025 */ or $a0, $t5, $t7 -/* 0C4AB4 800C3EB4 10000015 */ b .L800C3F0C -/* 0C4AB8 800C3EB8 92630041 */ lbu $v1, 0x41($s3) -glabel L800C3EBC -/* 0C4ABC 800C3EBC 02370019 */ multu $s1, $s7 -/* 0C4AC0 800C3EC0 00115E00 */ sll $t3, $s1, 0x18 -/* 0C4AC4 800C3EC4 304EFFFF */ andi $t6, $v0, 0xffff -/* 0C4AC8 800C3EC8 0000C812 */ mflo $t9 -/* 0C4ACC 800C3ECC 02D98021 */ addu $s0, $s6, $t9 -/* 0C4AD0 800C3ED0 92180042 */ lbu $t8, 0x42($s0) -/* 0C4AD4 800C3ED4 00185400 */ sll $t2, $t8, 0x10 -/* 0C4AD8 800C3ED8 014B6025 */ or $t4, $t2, $t3 -/* 0C4ADC 800C3EDC 0C030D12 */ jal func_800C3448 -/* 0C4AE0 800C3EE0 018E2025 */ or $a0, $t4, $t6 -/* 0C4AE4 800C3EE4 322400FF */ andi $a0, $s1, 0xff -/* 0C4AE8 800C3EE8 24050001 */ li $a1, 1 -/* 0C4AEC 800C3EEC 2406007F */ li $a2, 127 -/* 0C4AF0 800C3EF0 0C030DB1 */ jal func_800C36C4 -/* 0C4AF4 800C3EF4 00003825 */ move $a3, $zero -/* 0C4AF8 800C3EF8 A2000042 */ sb $zero, 0x42($s0) -/* 0C4AFC 800C3EFC 10000003 */ b .L800C3F0C -/* 0C4B00 800C3F00 92630041 */ lbu $v1, 0x41($s3) -glabel L800C3F04 -/* 0C4B04 800C3F04 A2650042 */ sb $a1, 0x42($s3) -/* 0C4B08 800C3F08 92630041 */ lbu $v1, 0x41($s3) -.L800C3F0C: -/* 0C4B0C 800C3F0C 26520001 */ addiu $s2, $s2, 1 -/* 0C4B10 800C3F10 324D00FF */ andi $t5, $s2, 0xff -/* 0C4B14 800C3F14 01A3082A */ slt $at, $t5, $v1 -/* 0C4B18 800C3F18 1420FF9B */ bnez $at, .L800C3D88 -/* 0C4B1C 800C3F1C 01A09025 */ move $s2, $t5 -.L800C3F20: -/* 0C4B20 800C3F20 A2600041 */ sb $zero, 0x41($s3) -.L800C3F24: -/* 0C4B24 800C3F24 26B50001 */ addiu $s5, $s5, 1 -.L800C3F28: -/* 0C4B28 800C3F28 32AF00FF */ andi $t7, $s5, 0xff -/* 0C4B2C 800C3F2C 29E10003 */ slti $at, $t7, 3 -/* 0C4B30 800C3F30 1420FE0F */ bnez $at, .L800C3770 -/* 0C4B34 800C3F34 01E0A825 */ move $s5, $t7 -/* 0C4B38 800C3F38 8FDF0054 */ lw $ra, 0x54($fp) -/* 0C4B3C 800C3F3C 03C0E825 */ move $sp, $fp -/* 0C4B40 800C3F40 D7D40028 */ ldc1 $f20, 0x28($fp) -/* 0C4B44 800C3F44 8FD00030 */ lw $s0, 0x30($fp) -/* 0C4B48 800C3F48 8FD10034 */ lw $s1, 0x34($fp) -/* 0C4B4C 800C3F4C 8FD20038 */ lw $s2, 0x38($fp) -/* 0C4B50 800C3F50 8FD3003C */ lw $s3, 0x3c($fp) -/* 0C4B54 800C3F54 8FD40040 */ lw $s4, 0x40($fp) -/* 0C4B58 800C3F58 8FD50044 */ lw $s5, 0x44($fp) -/* 0C4B5C 800C3F5C 8FD60048 */ lw $s6, 0x48($fp) -/* 0C4B60 800C3F60 8FD7004C */ lw $s7, 0x4c($fp) -/* 0C4B64 800C3F64 8FDE0050 */ lw $fp, 0x50($fp) -/* 0C4B68 800C3F68 03E00008 */ jr $ra -/* 0C4B6C 800C3F6C 27BD0058 */ addiu $sp, $sp, 0x58 - -glabel func_800C3F70 -/* 0C4B70 800C3F70 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C4B74 800C3F74 3C058019 */ lui $a1, %hi(D_801930D0) # $a1, 0x8019 -/* 0C4B78 800C3F78 3C048019 */ lui $a0, %hi(D_80192CC6) # $a0, 0x8019 -/* 0C4B7C 800C3F7C 44810000 */ mtc1 $at, $f0 -/* 0C4B80 800C3F80 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C4B84 800C3F84 24842CC6 */ addiu $a0, %lo(D_80192CC6) # addiu $a0, $a0, 0x2cc6 -/* 0C4B88 800C3F88 24A530D0 */ addiu $a1, %lo(D_801930D0) # addiu $a1, $a1, 0x30d0 -/* 0C4B8C 800C3F8C 00001025 */ move $v0, $zero -/* 0C4B90 800C3F90 2408007F */ li $t0, 127 -/* 0C4B94 800C3F94 3407FFFF */ li $a3, 65535 -/* 0C4B98 800C3F98 2406024C */ li $a2, 588 -.L800C3F9C: -/* 0C4B9C 800C3F9C 00460019 */ multu $v0, $a2 -/* 0C4BA0 800C3FA0 00827021 */ addu $t6, $a0, $v0 -/* 0C4BA4 800C3FA4 A1C00000 */ sb $zero, ($t6) -/* 0C4BA8 800C3FA8 24420001 */ addiu $v0, $v0, 1 -/* 0C4BAC 800C3FAC 305800FF */ andi $t8, $v0, 0xff -/* 0C4BB0 800C3FB0 2B010003 */ slti $at, $t8, 3 -/* 0C4BB4 800C3FB4 03001025 */ move $v0, $t8 -/* 0C4BB8 800C3FB8 00007812 */ mflo $t7 -/* 0C4BBC 800C3FBC 00AF1821 */ addu $v1, $a1, $t7 -/* 0C4BC0 800C3FC0 A4670248 */ sh $a3, 0x248($v1) -/* 0C4BC4 800C3FC4 E4600000 */ swc1 $f0, ($v1) -/* 0C4BC8 800C3FC8 A460000C */ sh $zero, 0xc($v1) -/* 0C4BCC 800C3FCC A4600028 */ sh $zero, 0x28($v1) -/* 0C4BD0 800C3FD0 A4600018 */ sh $zero, 0x18($v1) -/* 0C4BD4 800C3FD4 AC600014 */ sw $zero, 0x14($v1) -/* 0C4BD8 800C3FD8 A460024A */ sh $zero, 0x24a($v1) -/* 0C4BDC 800C3FDC A0600041 */ sb $zero, 0x41($v1) -/* 0C4BE0 800C3FE0 A0600042 */ sb $zero, 0x42($v1) -/* 0C4BE4 800C3FE4 A0600012 */ sb $zero, 0x12($v1) -/* 0C4BE8 800C3FE8 A068000E */ sb $t0, 0xe($v1) -/* 0C4BEC 800C3FEC A068000F */ sb $t0, 0xf($v1) -/* 0C4BF0 800C3FF0 A0680010 */ sb $t0, 0x10($v1) -/* 0C4BF4 800C3FF4 A4600244 */ sh $zero, 0x244($v1) -/* 0C4BF8 800C3FF8 1420FFE8 */ bnez $at, .L800C3F9C -/* 0C4BFC 800C3FFC A4600246 */ sh $zero, 0x246($v1) -/* 0C4C00 800C4000 01A0E825 */ move $sp, $t5 -/* 0C4C04 800C4004 03E00008 */ jr $ra -/* 0C4C08 800C4008 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C400C -/* 0C4C0C 800C400C 3C058019 */ lui $a1, %hi(D_801930D0) # $a1, 0x8019 -/* 0C4C10 800C4010 3C048019 */ lui $a0, %hi(D_80192CC6) # $a0, 0x8019 -/* 0C4C14 800C4014 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C4C18 800C4018 24842CC6 */ addiu $a0, %lo(D_80192CC6) # addiu $a0, $a0, 0x2cc6 -/* 0C4C1C 800C401C 24A530D0 */ addiu $a1, %lo(D_801930D0) # addiu $a1, $a1, 0x30d0 -/* 0C4C20 800C4020 00001025 */ move $v0, $zero -/* 0C4C24 800C4024 3407FFFF */ li $a3, 65535 -/* 0C4C28 800C4028 2406024C */ li $a2, 588 -.L800C402C: -/* 0C4C2C 800C402C 00460019 */ multu $v0, $a2 -/* 0C4C30 800C4030 00827021 */ addu $t6, $a0, $v0 -/* 0C4C34 800C4034 A1C00000 */ sb $zero, ($t6) -/* 0C4C38 800C4038 24420001 */ addiu $v0, $v0, 1 -/* 0C4C3C 800C403C 305800FF */ andi $t8, $v0, 0xff -/* 0C4C40 800C4040 2B010003 */ slti $at, $t8, 3 -/* 0C4C44 800C4044 03001025 */ move $v0, $t8 -/* 0C4C48 800C4048 00007812 */ mflo $t7 -/* 0C4C4C 800C404C 00AF1821 */ addu $v1, $a1, $t7 -/* 0C4C50 800C4050 A4670248 */ sh $a3, 0x248($v1) -/* 0C4C54 800C4054 A4600028 */ sh $zero, 0x28($v1) -/* 0C4C58 800C4058 A4600018 */ sh $zero, 0x18($v1) -/* 0C4C5C 800C405C AC600014 */ sw $zero, 0x14($v1) -/* 0C4C60 800C4060 A460024A */ sh $zero, 0x24a($v1) -/* 0C4C64 800C4064 A0600041 */ sb $zero, 0x41($v1) -/* 0C4C68 800C4068 A0600042 */ sb $zero, 0x42($v1) -/* 0C4C6C 800C406C A4600244 */ sh $zero, 0x244($v1) -/* 0C4C70 800C4070 1420FFEE */ bnez $at, .L800C402C -/* 0C4C74 800C4074 A4600246 */ sh $zero, 0x246($v1) -/* 0C4C78 800C4078 01A0E825 */ move $sp, $t5 -/* 0C4C7C 800C407C 03E00008 */ jr $ra -/* 0C4C80 800C4080 25BD0010 */ addiu $sp, $t5, 0x10 - -/* 0C4C84 800C4084 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C4C88 800C4088 ADA40010 */ sw $a0, 0x10($t5) -/* 0C4C8C 800C408C 308EFFFF */ andi $t6, $a0, 0xffff -/* 0C4C90 800C4090 3C058019 */ lui $a1, %hi(D_80192C3C) # $a1, 0x8019 -/* 0C4C94 800C4094 01C02025 */ move $a0, $t6 -/* 0C4C98 800C4098 24A52C3C */ addiu $a1, %lo(D_80192C3C) # addiu $a1, $a1, 0x2c3c -/* 0C4C9C 800C409C 00001025 */ move $v0, $zero -/* 0C4CA0 800C40A0 24060001 */ li $a2, 1 -.L800C40A4: -/* 0C4CA4 800C40A4 308F0001 */ andi $t7, $a0, 1 -/* 0C4CA8 800C40A8 11E00004 */ beqz $t7, .L800C40BC -/* 0C4CAC 800C40AC 00801825 */ move $v1, $a0 -/* 0C4CB0 800C40B0 00A2C021 */ addu $t8, $a1, $v0 -/* 0C4CB4 800C40B4 10000003 */ b .L800C40C4 -/* 0C4CB8 800C40B8 A3060000 */ sb $a2, ($t8) -.L800C40BC: -/* 0C4CBC 800C40BC 00A2C821 */ addu $t9, $a1, $v0 -/* 0C4CC0 800C40C0 A3200000 */ sb $zero, ($t9) -.L800C40C4: -/* 0C4CC4 800C40C4 24420001 */ addiu $v0, $v0, 1 -/* 0C4CC8 800C40C8 304900FF */ andi $t1, $v0, 0xff -/* 0C4CCC 800C40CC 00032043 */ sra $a0, $v1, 1 -/* 0C4CD0 800C40D0 29210006 */ slti $at, $t1, 6 -/* 0C4CD4 800C40D4 3088FFFF */ andi $t0, $a0, 0xffff -/* 0C4CD8 800C40D8 01201025 */ move $v0, $t1 -/* 0C4CDC 800C40DC 1420FFF1 */ bnez $at, .L800C40A4 -/* 0C4CE0 800C40E0 01002025 */ move $a0, $t0 -/* 0C4CE4 800C40E4 01A0E825 */ move $sp, $t5 -/* 0C4CE8 800C40E8 03E00008 */ jr $ra -/* 0C4CEC 800C40EC 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C40F0 -/* 0C4CF0 800C40F0 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C4CF4 800C40F4 3C02800F */ lui $v0, %hi(D_800EA1C4) # $v0, 0x800f -/* 0C4CF8 800C40F8 2442A1C4 */ addiu $v0, %lo(D_800EA1C4) # addiu $v0, $v0, -0x5e3c -/* 0C4CFC 800C40FC ADA40010 */ sw $a0, 0x10($t5) -/* 0C4D00 800C4100 944F0000 */ lhu $t7, ($v0) -/* 0C4D04 800C4104 308E00FF */ andi $t6, $a0, 0xff -/* 0C4D08 800C4108 24180001 */ li $t8, 1 -/* 0C4D0C 800C410C 01D8C804 */ sllv $t9, $t8, $t6 -/* 0C4D10 800C4110 3B28FFFF */ xori $t0, $t9, 0xffff -/* 0C4D14 800C4114 01E84824 */ and $t1, $t7, $t0 -/* 0C4D18 800C4118 312AFFFF */ andi $t2, $t1, 0xffff -/* 0C4D1C 800C411C 15400007 */ bnez $t2, .L800C413C -/* 0C4D20 800C4120 A4490000 */ sh $t1, ($v0) -/* 0C4D24 800C4124 3C028019 */ lui $v0, %hi(D_801930D0) # $v0, 0x8019 -/* 0C4D28 800C4128 244230D0 */ addiu $v0, %lo(D_801930D0) # addiu $v0, $v0, 0x30d0 -/* 0C4D2C 800C412C 240B0001 */ li $t3, 1 -/* 0C4D30 800C4130 240C007F */ li $t4, 127 -/* 0C4D34 800C4134 A04B0012 */ sb $t3, 0x12($v0) -/* 0C4D38 800C4138 A04C0010 */ sb $t4, 0x10($v0) -.L800C413C: -/* 0C4D3C 800C413C 01A0E825 */ move $sp, $t5 -/* 0C4D40 800C4140 03E00008 */ jr $ra -/* 0C4D44 800C4144 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel play_sound -/* 0C4D48 800C4148 00047F02 */ srl $t7, $a0, 0x1c -/* 0C4D4C 800C414C 31F800FF */ andi $t8, $t7, 0xff -/* 0C4D50 800C4150 3C198019 */ lui $t9, %hi(D_80192C3C) # 0x8019 -/* 0C4D54 800C4154 0338C821 */ addu $t9, $t9, $t8 -/* 0C4D58 800C4158 93392C3C */ lbu $t9, %lo(D_80192C3C)($t9) # 0x2c3c($t9) -/* 0C4D5C 800C415C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C4D60 800C4160 03A06825 */ move $t5, $sp -/* 0C4D64 800C4164 AFA60018 */ sw $a2, 0x18($sp) -/* 0C4D68 800C4168 17200015 */ bnez $t9, .L800C41C0 -/* 0C4D6C 800C416C 30CE00FF */ andi $t6, $a2, 0xff -/* 0C4D70 800C4170 3C03800F */ lui $v1, %hi(D_800EA1B8) # $v1, 0x800f -/* 0C4D74 800C4174 2463A1B8 */ addiu $v1, %lo(D_800EA1B8) # addiu $v1, $v1, -0x5e48 -/* 0C4D78 800C4178 90680000 */ lbu $t0, ($v1) -/* 0C4D7C 800C417C 3C0A8019 */ lui $t2, %hi(D_8018FC20) # $t2, 0x8019 -/* 0C4D80 800C4180 254AFC20 */ addiu $t2, %lo(D_8018FC20) # addiu $t2, $t2, -0x3e0 -/* 0C4D84 800C4184 00084880 */ sll $t1, $t0, 2 -/* 0C4D88 800C4188 01284823 */ subu $t1, $t1, $t0 -/* 0C4D8C 800C418C 000948C0 */ sll $t1, $t1, 3 -/* 0C4D90 800C4190 012A1021 */ addu $v0, $t1, $t2 -/* 0C4D94 800C4194 AC440000 */ sw $a0, ($v0) -/* 0C4D98 800C4198 AC450004 */ sw $a1, 4($v0) -/* 0C4D9C 800C419C A04E0008 */ sb $t6, 8($v0) -/* 0C4DA0 800C41A0 AC47000C */ sw $a3, 0xc($v0) -/* 0C4DA4 800C41A4 8FAB0020 */ lw $t3, 0x20($sp) -/* 0C4DA8 800C41A8 AC4B0010 */ sw $t3, 0x10($v0) -/* 0C4DAC 800C41AC 8FAC0024 */ lw $t4, 0x24($sp) -/* 0C4DB0 800C41B0 AC4C0014 */ sw $t4, 0x14($v0) -/* 0C4DB4 800C41B4 906E0000 */ lbu $t6, ($v1) -/* 0C4DB8 800C41B8 25CF0001 */ addiu $t7, $t6, 1 -/* 0C4DBC 800C41BC A06F0000 */ sb $t7, ($v1) -.L800C41C0: -/* 0C4DC0 800C41C0 01A0E825 */ move $sp, $t5 -/* 0C4DC4 800C41C4 03E00008 */ jr $ra -/* 0C4DC8 800C41C8 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C41CC -/* 0C4DCC 800C41CC 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C4DD0 800C41D0 ADA40010 */ sw $a0, 0x10($t5) -/* 0C4DD4 800C41D4 3C07800F */ lui $a3, %hi(D_800EA1B8) # $a3, 0x800f -/* 0C4DD8 800C41D8 24E7A1B8 */ addiu $a3, %lo(D_800EA1B8) # addiu $a3, $a3, -0x5e48 -/* 0C4DDC 800C41DC 3C02800F */ lui $v0, %hi(D_800EA1BC) # $v0, 0x800f -/* 0C4DE0 800C41E0 9042A1BC */ lbu $v0, %lo(D_800EA1BC)($v0) -/* 0C4DE4 800C41E4 90EF0000 */ lbu $t7, ($a3) -/* 0C4DE8 800C41E8 308E00FF */ andi $t6, $a0, 0xff -/* 0C4DEC 800C41EC 00A03025 */ move $a2, $a1 -/* 0C4DF0 800C41F0 11E20066 */ beq $t7, $v0, .L800C438C -/* 0C4DF4 800C41F4 01C02825 */ move $a1, $t6 -/* 0C4DF8 800C41F8 3C01800F */ lui $at, %hi(D_800F3648) # $at, 0x800f -/* 0C4DFC 800C41FC 3C0B800F */ lui $t3, %hi(D_800EA1C8) # $t3, 0x800f -/* 0C4E00 800C4200 3C098019 */ lui $t1, %hi(D_8018FC20) # $t1, 0x8019 -/* 0C4E04 800C4204 2529FC20 */ addiu $t1, %lo(D_8018FC20) # addiu $t1, $t1, -0x3e0 -/* 0C4E08 800C4208 256BA1C8 */ addiu $t3, %lo(D_800EA1C8) # addiu $t3, $t3, -0x5e38 -/* 0C4E0C 800C420C C4203648 */ lwc1 $f0, %lo(D_800F3648)($at) -/* 0C4E10 800C4210 240A0018 */ li $t2, 24 -/* 0C4E14 800C4214 3C08F000 */ lui $t0, 0xf000 -.L800C4218: -/* 0C4E18 800C4218 2CA10006 */ sltiu $at, $a1, 6 -/* 0C4E1C 800C421C 1020004C */ beqz $at, .L800C4350 -/* 0C4E20 800C4220 00001825 */ move $v1, $zero -/* 0C4E24 800C4224 0005C080 */ sll $t8, $a1, 2 -/* 0C4E28 800C4228 3C01800F */ lui $at, %hi(D_800F364C) -/* 0C4E2C 800C422C 00380821 */ addu $at, $at, $t8 -/* 0C4E30 800C4230 8C38364C */ lw $t8, %lo(D_800F364C)($at) -/* 0C4E34 800C4234 03000008 */ jr $t8 -/* 0C4E38 800C4238 00000000 */ nop -glabel L800C423C -/* 0C4E3C 800C423C 004A0019 */ multu $v0, $t2 -/* 0C4E40 800C4240 8CD90024 */ lw $t9, 0x24($a2) -/* 0C4E44 800C4244 03286024 */ and $t4, $t9, $t0 -/* 0C4E48 800C4248 00007012 */ mflo $t6 -/* 0C4E4C 800C424C 012E7821 */ addu $t7, $t1, $t6 -/* 0C4E50 800C4250 8DF80000 */ lw $t8, ($t7) -/* 0C4E54 800C4254 0308C824 */ and $t9, $t8, $t0 -/* 0C4E58 800C4258 1599003D */ bne $t4, $t9, .L800C4350 -/* 0C4E5C 800C425C 00000000 */ nop -/* 0C4E60 800C4260 1000003B */ b .L800C4350 -/* 0C4E64 800C4264 24030001 */ li $v1, 1 -glabel L800C4268 -/* 0C4E68 800C4268 004A0019 */ multu $v0, $t2 -/* 0C4E6C 800C426C 8CCF0024 */ lw $t7, 0x24($a2) -/* 0C4E70 800C4270 01E8C024 */ and $t8, $t7, $t0 -/* 0C4E74 800C4274 00007012 */ mflo $t6 -/* 0C4E78 800C4278 012E2021 */ addu $a0, $t1, $t6 -/* 0C4E7C 800C427C 8C8C0000 */ lw $t4, ($a0) -/* 0C4E80 800C4280 0188C824 */ and $t9, $t4, $t0 -/* 0C4E84 800C4284 17190032 */ bne $t8, $t9, .L800C4350 -/* 0C4E88 800C4288 00000000 */ nop -/* 0C4E8C 800C428C 8CCE0000 */ lw $t6, ($a2) -/* 0C4E90 800C4290 8C8F0004 */ lw $t7, 4($a0) -/* 0C4E94 800C4294 15CF002E */ bne $t6, $t7, .L800C4350 -/* 0C4E98 800C4298 00000000 */ nop -/* 0C4E9C 800C429C 1000002C */ b .L800C4350 -/* 0C4EA0 800C42A0 24030001 */ li $v1, 1 -glabel L800C42A4 -/* 0C4EA4 800C42A4 004A0019 */ multu $v0, $t2 -/* 0C4EA8 800C42A8 8CCC0000 */ lw $t4, ($a2) -/* 0C4EAC 800C42AC 0000C012 */ mflo $t8 -/* 0C4EB0 800C42B0 0138C821 */ addu $t9, $t1, $t8 -/* 0C4EB4 800C42B4 8F2E0004 */ lw $t6, 4($t9) -/* 0C4EB8 800C42B8 158E0025 */ bne $t4, $t6, .L800C4350 -/* 0C4EBC 800C42BC 00000000 */ nop -/* 0C4EC0 800C42C0 10000023 */ b .L800C4350 -/* 0C4EC4 800C42C4 24030001 */ li $v1, 1 -glabel L800C42C8 -/* 0C4EC8 800C42C8 004A0019 */ multu $v0, $t2 -/* 0C4ECC 800C42CC 8CD80000 */ lw $t8, ($a2) -/* 0C4ED0 800C42D0 00007812 */ mflo $t7 -/* 0C4ED4 800C42D4 012F2021 */ addu $a0, $t1, $t7 -/* 0C4ED8 800C42D8 8C990004 */ lw $t9, 4($a0) -/* 0C4EDC 800C42DC 1719001C */ bne $t8, $t9, .L800C4350 -/* 0C4EE0 800C42E0 00000000 */ nop -/* 0C4EE4 800C42E4 8CCC0024 */ lw $t4, 0x24($a2) -/* 0C4EE8 800C42E8 8C8E0000 */ lw $t6, ($a0) -/* 0C4EEC 800C42EC 158E0018 */ bne $t4, $t6, .L800C4350 -/* 0C4EF0 800C42F0 00000000 */ nop -/* 0C4EF4 800C42F4 10000016 */ b .L800C4350 -/* 0C4EF8 800C42F8 24030001 */ li $v1, 1 -glabel L800C42FC -/* 0C4EFC 800C42FC 004A0019 */ multu $v0, $t2 -/* 0C4F00 800C4300 90D8000C */ lbu $t8, 0xc($a2) -/* 0C4F04 800C4304 00007812 */ mflo $t7 -/* 0C4F08 800C4308 012F2021 */ addu $a0, $t1, $t7 -/* 0C4F0C 800C430C 90990008 */ lbu $t9, 8($a0) -/* 0C4F10 800C4310 1719000F */ bne $t8, $t9, .L800C4350 -/* 0C4F14 800C4314 00000000 */ nop -/* 0C4F18 800C4318 8CCC0024 */ lw $t4, 0x24($a2) -/* 0C4F1C 800C431C 8C8E0000 */ lw $t6, ($a0) -/* 0C4F20 800C4320 158E000B */ bne $t4, $t6, .L800C4350 -/* 0C4F24 800C4324 00000000 */ nop -/* 0C4F28 800C4328 10000009 */ b .L800C4350 -/* 0C4F2C 800C432C 24030001 */ li $v1, 1 -glabel L800C4330 -/* 0C4F30 800C4330 004A0019 */ multu $v0, $t2 -/* 0C4F34 800C4334 8CCF0024 */ lw $t7, 0x24($a2) -/* 0C4F38 800C4338 0000C012 */ mflo $t8 -/* 0C4F3C 800C433C 0138C821 */ addu $t9, $t1, $t8 -/* 0C4F40 800C4340 8F2C0000 */ lw $t4, ($t9) -/* 0C4F44 800C4344 15EC0002 */ bne $t7, $t4, .L800C4350 -/* 0C4F48 800C4348 00000000 */ nop -/* 0C4F4C 800C434C 24030001 */ li $v1, 1 -.L800C4350: -/* 0C4F50 800C4350 5060000A */ beql $v1, $zero, .L800C437C -/* 0C4F54 800C4354 90F90000 */ lbu $t9, ($a3) -/* 0C4F58 800C4358 004A0019 */ multu $v0, $t2 -/* 0C4F5C 800C435C 00007012 */ mflo $t6 -/* 0C4F60 800C4360 012E2021 */ addu $a0, $t1, $t6 -/* 0C4F64 800C4364 8C830004 */ lw $v1, 4($a0) -/* 0C4F68 800C4368 AC800000 */ sw $zero, ($a0) -/* 0C4F6C 800C436C 51630003 */ beql $t3, $v1, .L800C437C -/* 0C4F70 800C4370 90F90000 */ lbu $t9, ($a3) -/* 0C4F74 800C4374 E4600004 */ swc1 $f0, 4($v1) -/* 0C4F78 800C4378 90F90000 */ lbu $t9, ($a3) -.L800C437C: -/* 0C4F7C 800C437C 24420001 */ addiu $v0, $v0, 1 -/* 0C4F80 800C4380 305800FF */ andi $t8, $v0, 0xff -/* 0C4F84 800C4384 1738FFA4 */ bne $t9, $t8, .L800C4218 -/* 0C4F88 800C4388 03001025 */ move $v0, $t8 -.L800C438C: -/* 0C4F8C 800C438C 01A0E825 */ move $sp, $t5 -/* 0C4F90 800C4390 03E00008 */ jr $ra -/* 0C4F94 800C4394 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C4398 -/* 0C4F98 800C4398 3C0E800F */ lui $t6, %hi(D_800EA1BC) # $t6, 0x800f -/* 0C4F9C 800C439C 91CEA1BC */ lbu $t6, %lo(D_800EA1BC)($t6) -/* 0C4FA0 800C43A0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0C4FA4 800C43A4 3C188019 */ lui $t8, %hi(D_8018FC20) # $t8, 0x8019 -/* 0C4FA8 800C43A8 000E7880 */ sll $t7, $t6, 2 -/* 0C4FAC 800C43AC 01EE7823 */ subu $t7, $t7, $t6 -/* 0C4FB0 800C43B0 000F78C0 */ sll $t7, $t7, 3 -/* 0C4FB4 800C43B4 2718FC20 */ addiu $t8, %lo(D_8018FC20) # addiu $t8, $t8, -0x3e0 -/* 0C4FB8 800C43B8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C4FBC 800C43BC AFBE0028 */ sw $fp, 0x28($sp) -/* 0C4FC0 800C43C0 AFB00024 */ sw $s0, 0x24($sp) -/* 0C4FC4 800C43C4 01F83021 */ addu $a2, $t7, $t8 -/* 0C4FC8 800C43C8 8CC50000 */ lw $a1, ($a2) -/* 0C4FCC 800C43CC 03A0F025 */ move $fp, $sp -/* 0C4FD0 800C43D0 241F00FF */ li $ra, 255 -/* 0C4FD4 800C43D4 10A000D3 */ beqz $a1, .L800C4724 -/* 0C4FD8 800C43D8 3C01F000 */ lui $at, 0xf000 -/* 0C4FDC 800C43DC 00A16824 */ and $t5, $a1, $at -/* 0C4FE0 800C43E0 000DCF02 */ srl $t9, $t5, 0x1c -/* 0C4FE4 800C43E4 332E00FF */ andi $t6, $t9, 0xff -/* 0C4FE8 800C43E8 000E7900 */ sll $t7, $t6, 4 -/* 0C4FEC 800C43EC 01EE7823 */ subu $t7, $t7, $t6 -/* 0C4FF0 800C43F0 3C188019 */ lui $t8, %hi(D_80191420) # $t8, 0x8019 -/* 0C4FF4 800C43F4 27181420 */ addiu $t8, %lo(D_80191420) # addiu $t8, $t8, 0x1420 -/* 0C4FF8 800C43F8 000F7980 */ sll $t7, $t7, 6 -/* 0C4FFC 800C43FC 01F8C821 */ addu $t9, $t7, $t8 -/* 0C5000 800C4400 9323002B */ lbu $v1, 0x2b($t9) -/* 0C5004 800C4404 01C06825 */ move $t5, $t6 -/* 0C5008 800C4408 00003825 */ move $a3, $zero -/* 0C500C 800C440C 13E30078 */ beq $ra, $v1, .L800C45F0 -/* 0C5010 800C4410 00601025 */ move $v0, $v1 -/* 0C5014 800C4414 10600076 */ beqz $v1, .L800C45F0 -/* 0C5018 800C4418 000E7100 */ sll $t6, $t6, 4 -/* 0C501C 800C441C 01CD7023 */ subu $t6, $t6, $t5 -/* 0C5020 800C4420 000E7180 */ sll $t6, $t6, 6 -/* 0C5024 800C4424 01D84821 */ addu $t1, $t6, $t8 -/* 0C5028 800C4428 240C0030 */ li $t4, 48 -/* 0C502C 800C442C 8FAB003C */ lw $t3, 0x3c($sp) -/* 0C5030 800C4430 93AA0043 */ lbu $t2, 0x43($sp) -.L800C4434: -/* 0C5034 800C4434 006C0019 */ multu $v1, $t4 -/* 0C5038 800C4438 8CD90004 */ lw $t9, 4($a2) -/* 0C503C 800C443C 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f -/* 0C5040 800C4440 3C04800F */ lui $a0, %hi(D_800EA1A0) -/* 0C5044 800C4444 00007812 */ mflo $t7 -/* 0C5048 800C4448 012F8021 */ addu $s0, $t1, $t7 -/* 0C504C 800C444C 8E0E0000 */ lw $t6, ($s0) -/* 0C5050 800C4450 172E005A */ bne $t9, $t6, .L800C45BC -/* 0C5054 800C4454 00000000 */ nop -/* 0C5058 800C4458 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8) -/* 0C505C 800C445C 8CC50000 */ lw $a1, ($a2) -/* 0C5060 800C4460 8E020024 */ lw $v0, 0x24($s0) -/* 0C5064 800C4464 00187880 */ sll $t7, $t8, 2 -/* 0C5068 800C4468 01F87823 */ subu $t7, $t7, $t8 -/* 0C506C 800C446C 000F7840 */ sll $t7, $t7, 1 -/* 0C5070 800C4470 01EDC821 */ addu $t9, $t7, $t5 -/* 0C5074 800C4474 00992021 */ addu $a0, $a0, $t9 -/* 0C5078 800C4478 9084A1A0 */ lbu $a0, %lo(D_800EA1A0)($a0) -/* 0C507C 800C447C 14A20004 */ bne $a1, $v0, .L800C4490 -/* 0C5080 800C4480 00804025 */ move $t0, $a0 -/* 0C5084 800C4484 308700FF */ andi $a3, $a0, 0xff -/* 0C5088 800C4488 10000017 */ b .L800C44E8 -/* 0C508C 800C448C 00E01025 */ move $v0, $a3 -.L800C4490: -/* 0C5090 800C4490 14E00004 */ bnez $a3, .L800C44A4 -/* 0C5094 800C4494 304EFF00 */ andi $t6, $v0, 0xff00 -/* 0C5098 800C4498 306A00FF */ andi $t2, $v1, 0xff -/* 0C509C 800C449C 10000007 */ b .L800C44BC -/* 0C50A0 800C44A0 00405825 */ move $t3, $v0 -.L800C44A4: -/* 0C50A4 800C44A4 3178FF00 */ andi $t8, $t3, 0xff00 -/* 0C50A8 800C44A8 01D8082B */ sltu $at, $t6, $t8 -/* 0C50AC 800C44AC 50200004 */ beql $at, $zero, .L800C44C0 -/* 0C50B0 800C44B0 24E70001 */ addiu $a3, $a3, 1 -/* 0C50B4 800C44B4 306A00FF */ andi $t2, $v1, 0xff -/* 0C50B8 800C44B8 00405825 */ move $t3, $v0 -.L800C44BC: -/* 0C50BC 800C44BC 24E70001 */ addiu $a3, $a3, 1 -.L800C44C0: -/* 0C50C0 800C44C0 30E200FF */ andi $v0, $a3, 0xff -/* 0C50C4 800C44C4 14480008 */ bne $v0, $t0, .L800C44E8 -/* 0C50C8 800C44C8 00403825 */ move $a3, $v0 -/* 0C50CC 800C44CC 30B9FF00 */ andi $t9, $a1, 0xff00 -/* 0C50D0 800C44D0 316EFF00 */ andi $t6, $t3, 0xff00 -/* 0C50D4 800C44D4 032E082B */ sltu $at, $t9, $t6 -/* 0C50D8 800C44D8 14200003 */ bnez $at, .L800C44E8 -/* 0C50DC 800C44DC 00001825 */ move $v1, $zero -/* 0C50E0 800C44E0 10000001 */ b .L800C44E8 -/* 0C50E4 800C44E4 314300FF */ andi $v1, $t2, 0xff -.L800C44E8: -/* 0C50E8 800C44E8 14480034 */ bne $v0, $t0, .L800C45BC -/* 0C50EC 800C44EC 0005C100 */ sll $t8, $a1, 4 -/* 0C50F0 800C44F0 07000005 */ bltz $t8, .L800C4508 -/* 0C50F4 800C44F4 00057B40 */ sll $t7, $a1, 0xd -/* 0C50F8 800C44F8 05E00003 */ bltz $t7, .L800C4508 -/* 0C50FC 800C44FC 00000000 */ nop -/* 0C5100 800C4500 5543002E */ bnel $t2, $v1, .L800C45BC -/* 0C5104 800C4504 00001825 */ move $v1, $zero -.L800C4508: -/* 0C5108 800C4508 006C0019 */ multu $v1, $t4 -/* 0C510C 800C450C 0000C812 */ mflo $t9 -/* 0C5110 800C4510 01398021 */ addu $s0, $t1, $t9 -/* 0C5114 800C4514 8E0E0024 */ lw $t6, 0x24($s0) -/* 0C5118 800C4518 000EC300 */ sll $t8, $t6, 0xc -/* 0C511C 800C451C 07030016 */ bgezl $t8, .L800C4578 -/* 0C5120 800C4520 90D90008 */ lbu $t9, 8($a2) -/* 0C5124 800C4524 920F0028 */ lbu $t7, 0x28($s0) -/* 0C5128 800C4528 24010001 */ li $at, 1 -/* 0C512C 800C452C 51E10012 */ beql $t7, $at, .L800C4578 -/* 0C5130 800C4530 90D90008 */ lbu $t9, 8($a2) -/* 0C5134 800C4534 9204002C */ lbu $a0, 0x2c($s0) -/* 0C5138 800C4538 A3CD004F */ sb $t5, 0x4f($fp) -/* 0C513C 800C453C AFCB003C */ sw $t3, 0x3c($fp) -/* 0C5140 800C4540 A3CA0043 */ sb $t2, 0x43($fp) -/* 0C5144 800C4544 AFC90030 */ sw $t1, 0x30($fp) -/* 0C5148 800C4548 A3C7004D */ sb $a3, 0x4d($fp) -/* 0C514C 800C454C 0C03103C */ jal func_800C40F0 -/* 0C5150 800C4550 AFC60048 */ sw $a2, 0x48($fp) -/* 0C5154 800C4554 8FC60048 */ lw $a2, 0x48($fp) -/* 0C5158 800C4558 93C7004D */ lbu $a3, 0x4d($fp) -/* 0C515C 800C455C 8FC90030 */ lw $t1, 0x30($fp) -/* 0C5160 800C4560 93CA0043 */ lbu $t2, 0x43($fp) -/* 0C5164 800C4564 8FCB003C */ lw $t3, 0x3c($fp) -/* 0C5168 800C4568 240C0030 */ li $t4, 48 -/* 0C516C 800C456C 93CD004F */ lbu $t5, 0x4f($fp) -/* 0C5170 800C4570 241F00FF */ li $ra, 255 -/* 0C5174 800C4574 90D90008 */ lbu $t9, 8($a2) -.L800C4578: -/* 0C5178 800C4578 3C010100 */ lui $at, 0x100 -/* 0C517C 800C457C A219000C */ sb $t9, 0xc($s0) -/* 0C5180 800C4580 8CCE0000 */ lw $t6, ($a2) -/* 0C5184 800C4584 AE0E0024 */ sw $t6, 0x24($s0) -/* 0C5188 800C4588 8CD80000 */ lw $t8, ($a2) -/* 0C518C 800C458C 240E0002 */ li $t6, 2 -/* 0C5190 800C4590 A20E0029 */ sb $t6, 0x29($s0) -/* 0C5194 800C4594 03017824 */ and $t7, $t8, $at -/* 0C5198 800C4598 000FCE02 */ srl $t9, $t7, 0x18 -/* 0C519C 800C459C A2190028 */ sb $t9, 0x28($s0) -/* 0C51A0 800C45A0 8CD8000C */ lw $t8, 0xc($a2) -/* 0C51A4 800C45A4 AE180010 */ sw $t8, 0x10($s0) -/* 0C51A8 800C45A8 8CCF0010 */ lw $t7, 0x10($a2) -/* 0C51AC 800C45AC AE0F0014 */ sw $t7, 0x14($s0) -/* 0C51B0 800C45B0 8CD90014 */ lw $t9, 0x14($a2) -/* 0C51B4 800C45B4 AE190018 */ sw $t9, 0x18($s0) -/* 0C51B8 800C45B8 00001825 */ move $v1, $zero -.L800C45BC: -/* 0C51BC 800C45BC 10600006 */ beqz $v1, .L800C45D8 -/* 0C51C0 800C45C0 00601025 */ move $v0, $v1 -/* 0C51C4 800C45C4 006C0019 */ multu $v1, $t4 -/* 0C51C8 800C45C8 00007012 */ mflo $t6 -/* 0C51CC 800C45CC 012EC021 */ addu $t8, $t1, $t6 -/* 0C51D0 800C45D0 9303002B */ lbu $v1, 0x2b($t8) -/* 0C51D4 800C45D4 00601025 */ move $v0, $v1 -.L800C45D8: -/* 0C51D8 800C45D8 13E20005 */ beq $ra, $v0, .L800C45F0 -/* 0C51DC 800C45DC 00000000 */ nop -/* 0C51E0 800C45E0 1440FF94 */ bnez $v0, .L800C4434 -/* 0C51E4 800C45E4 00000000 */ nop -/* 0C51E8 800C45E8 AFCB003C */ sw $t3, 0x3c($fp) -/* 0C51EC 800C45EC A3CA0043 */ sb $t2, 0x43($fp) -.L800C45F0: -/* 0C51F0 800C45F0 3C0E8019 */ lui $t6, %hi(D_80192AA8) # $t6, 0x8019 -/* 0C51F4 800C45F4 25CE2AA8 */ addiu $t6, %lo(D_80192AA8) # addiu $t6, $t6, 0x2aa8 -/* 0C51F8 800C45F8 01AE3821 */ addu $a3, $t5, $t6 -/* 0C51FC 800C45FC 90E50000 */ lbu $a1, ($a3) -/* 0C5200 800C4600 240C0030 */ li $t4, 48 -/* 0C5204 800C4604 000D7900 */ sll $t7, $t5, 4 -/* 0C5208 800C4608 00AC0019 */ multu $a1, $t4 -/* 0C520C 800C460C 01ED7823 */ subu $t7, $t7, $t5 -/* 0C5210 800C4610 3C198019 */ lui $t9, %hi(D_80191420) # $t9, 0x8019 -/* 0C5214 800C4614 27391420 */ addiu $t9, %lo(D_80191420) # addiu $t9, $t9, 0x1420 -/* 0C5218 800C4618 000F7980 */ sll $t7, $t7, 6 -/* 0C521C 800C461C 01F94821 */ addu $t1, $t7, $t9 -/* 0C5220 800C4620 0000C012 */ mflo $t8 -/* 0C5224 800C4624 01384021 */ addu $t0, $t1, $t8 -/* 0C5228 800C4628 9103002B */ lbu $v1, 0x2b($t0) -/* 0C522C 800C462C 13E30034 */ beq $ra, $v1, .L800C4700 -/* 0C5230 800C4630 00000000 */ nop -/* 0C5234 800C4634 10400032 */ beqz $v0, .L800C4700 -/* 0C5238 800C4638 00000000 */ nop -/* 0C523C 800C463C 30A300FF */ andi $v1, $a1, 0xff -/* 0C5240 800C4640 006C0019 */ multu $v1, $t4 -/* 0C5244 800C4644 8CD90004 */ lw $t9, 4($a2) -/* 0C5248 800C4648 3C010100 */ lui $at, 0x100 -/* 0C524C 800C464C 00007812 */ mflo $t7 -/* 0C5250 800C4650 012F8021 */ addu $s0, $t1, $t7 -/* 0C5254 800C4654 AE190000 */ sw $t9, ($s0) -/* 0C5258 800C4658 8CCE0004 */ lw $t6, 4($a2) -/* 0C525C 800C465C 25D80004 */ addiu $t8, $t6, 4 -/* 0C5260 800C4660 AE180004 */ sw $t8, 4($s0) -/* 0C5264 800C4664 8CCF0004 */ lw $t7, 4($a2) -/* 0C5268 800C4668 25F90008 */ addiu $t9, $t7, 8 -/* 0C526C 800C466C AE190008 */ sw $t9, 8($s0) -/* 0C5270 800C4670 90CE0008 */ lbu $t6, 8($a2) -/* 0C5274 800C4674 A20E000C */ sb $t6, 0xc($s0) -/* 0C5278 800C4678 8CD8000C */ lw $t8, 0xc($a2) -/* 0C527C 800C467C AE180010 */ sw $t8, 0x10($s0) -/* 0C5280 800C4680 8CCF0010 */ lw $t7, 0x10($a2) -/* 0C5284 800C4684 AE0F0014 */ sw $t7, 0x14($s0) -/* 0C5288 800C4688 8CD90014 */ lw $t9, 0x14($a2) -/* 0C528C 800C468C AE190018 */ sw $t9, 0x18($s0) -/* 0C5290 800C4690 8CCE0000 */ lw $t6, ($a2) -/* 0C5294 800C4694 AE0E0024 */ sw $t6, 0x24($s0) -/* 0C5298 800C4698 8CD80000 */ lw $t8, ($a2) -/* 0C529C 800C469C 240E0002 */ li $t6, 2 -/* 0C52A0 800C46A0 A20E0029 */ sb $t6, 0x29($s0) -/* 0C52A4 800C46A4 03017824 */ and $t7, $t8, $at -/* 0C52A8 800C46A8 3C188019 */ lui $t8, %hi(D_80192AA0) # $t8, 0x8019 -/* 0C52AC 800C46AC 27182AA0 */ addiu $t8, %lo(D_80192AA0) # addiu $t8, $t8, 0x2aa0 -/* 0C52B0 800C46B0 01B81021 */ addu $v0, $t5, $t8 -/* 0C52B4 800C46B4 90440000 */ lbu $a0, ($v0) -/* 0C52B8 800C46B8 000FCE02 */ srl $t9, $t7, 0x18 -/* 0C52BC 800C46BC A2190028 */ sb $t9, 0x28($s0) -/* 0C52C0 800C46C0 008C0019 */ multu $a0, $t4 -/* 0C52C4 800C46C4 A204002A */ sb $a0, 0x2a($s0) -/* 0C52C8 800C46C8 00007812 */ mflo $t7 -/* 0C52CC 800C46CC 012FC821 */ addu $t9, $t1, $t7 -/* 0C52D0 800C46D0 A325002B */ sb $a1, 0x2b($t9) -/* 0C52D4 800C46D4 910E002B */ lbu $t6, 0x2b($t0) -/* 0C52D8 800C46D8 A0450000 */ sb $a1, ($v0) -/* 0C52DC 800C46DC 240200FF */ li $v0, 255 -/* 0C52E0 800C46E0 31D800FF */ andi $t8, $t6, 0xff -/* 0C52E4 800C46E4 030C0019 */ multu $t8, $t4 -/* 0C52E8 800C46E8 A0EE0000 */ sb $t6, ($a3) -/* 0C52EC 800C46EC 00007812 */ mflo $t7 -/* 0C52F0 800C46F0 012FC821 */ addu $t9, $t1, $t7 -/* 0C52F4 800C46F4 A322002A */ sb $v0, 0x2a($t9) -/* 0C52F8 800C46F8 1000000A */ b .L800C4724 -/* 0C52FC 800C46FC A202002B */ sb $v0, 0x2b($s0) -.L800C4700: -/* 0C5300 800C4700 57E30009 */ bnel $ra, $v1, .L800C4728 -/* 0C5304 800C4704 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C5308 800C4708 8CC20004 */ lw $v0, 4($a2) -/* 0C530C 800C470C 3C0E800F */ lui $t6, %hi(D_800EA1C8) # $t6, 0x800f -/* 0C5310 800C4710 25CEA1C8 */ addiu $t6, %lo(D_800EA1C8) # addiu $t6, $t6, -0x5e38 -/* 0C5314 800C4714 11C20003 */ beq $t6, $v0, .L800C4724 -/* 0C5318 800C4718 3C01800F */ lui $at, %hi(D_800F3664) # $at, 0x800f -/* 0C531C 800C471C C4243664 */ lwc1 $f4, %lo(D_800F3664)($at) -/* 0C5320 800C4720 E4440004 */ swc1 $f4, 4($v0) -.L800C4724: -/* 0C5324 800C4724 8FDF002C */ lw $ra, 0x2c($fp) -.L800C4728: -/* 0C5328 800C4728 03C0E825 */ move $sp, $fp -/* 0C532C 800C472C 8FD00024 */ lw $s0, 0x24($fp) -/* 0C5330 800C4730 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C5334 800C4734 03E00008 */ jr $ra -/* 0C5338 800C4738 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel func_800C473C -/* 0C533C 800C473C 30AE00FF */ andi $t6, $a1, 0xff -/* 0C5340 800C4740 24080030 */ li $t0, 48 -/* 0C5344 800C4744 01C80019 */ multu $t6, $t0 -/* 0C5348 800C4748 308700FF */ andi $a3, $a0, 0xff -/* 0C534C 800C474C 00077900 */ sll $t7, $a3, 4 -/* 0C5350 800C4750 01E77823 */ subu $t7, $t7, $a3 -/* 0C5354 800C4754 3C188019 */ lui $t8, %hi(D_80191420) # $t8, 0x8019 -/* 0C5358 800C4758 27181420 */ addiu $t8, %lo(D_80191420) # addiu $t8, $t8, 0x1420 -/* 0C535C 800C475C 000F7980 */ sll $t7, $t7, 6 -/* 0C5360 800C4760 01F83021 */ addu $a2, $t7, $t8 -/* 0C5364 800C4764 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C5368 800C4768 3C09800F */ lui $t1, %hi(D_800EA1C8) # $t1, 0x800f -/* 0C536C 800C476C 0000C812 */ mflo $t9 -/* 0C5370 800C4770 00D91021 */ addu $v0, $a2, $t9 -/* 0C5374 800C4774 8C4A0000 */ lw $t2, ($v0) -/* 0C5378 800C4778 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C537C 800C477C AFA50044 */ sw $a1, 0x44($sp) -/* 0C5380 800C4780 2529A1C8 */ addiu $t1, %lo(D_800EA1C8) # addiu $t1, $t1, -0x5e38 -/* 0C5384 800C4784 01C02825 */ move $a1, $t6 -/* 0C5388 800C4788 03A0F025 */ move $fp, $sp -/* 0C538C 800C478C AFBF002C */ sw $ra, 0x2c($sp) -/* 0C5390 800C4790 112A0005 */ beq $t1, $t2, .L800C47A8 -/* 0C5394 800C4794 AFA40040 */ sw $a0, 0x40($sp) -/* 0C5398 800C4798 3C01800F */ lui $at, %hi(D_800F3668) # $at, 0x800f -/* 0C539C 800C479C C4243668 */ lwc1 $f4, %lo(D_800F3668)($at) -/* 0C53A0 800C47A0 8C4B0004 */ lw $t3, 4($v0) -/* 0C53A4 800C47A4 E5640000 */ swc1 $f4, ($t3) -.L800C47A8: -/* 0C53A8 800C47A8 8C4C0024 */ lw $t4, 0x24($v0) -/* 0C53AC 800C47AC 000C6B00 */ sll $t5, $t4, 0xc -/* 0C53B0 800C47B0 05A1000C */ bgez $t5, .L800C47E4 -/* 0C53B4 800C47B4 00000000 */ nop -/* 0C53B8 800C47B8 9044002C */ lbu $a0, 0x2c($v0) -/* 0C53BC 800C47BC A3C70043 */ sb $a3, 0x43($fp) -/* 0C53C0 800C47C0 AFC60034 */ sw $a2, 0x34($fp) -/* 0C53C4 800C47C4 A3C50047 */ sb $a1, 0x47($fp) -/* 0C53C8 800C47C8 0C03103C */ jal func_800C40F0 -/* 0C53CC 800C47CC AFC20030 */ sw $v0, 0x30($fp) -/* 0C53D0 800C47D0 8FC20030 */ lw $v0, 0x30($fp) -/* 0C53D4 800C47D4 93C50047 */ lbu $a1, 0x47($fp) -/* 0C53D8 800C47D8 8FC60034 */ lw $a2, 0x34($fp) -/* 0C53DC 800C47DC 93C70043 */ lbu $a3, 0x43($fp) -/* 0C53E0 800C47E0 24080030 */ li $t0, 48 -.L800C47E4: -/* 0C53E4 800C47E4 3C0E8019 */ lui $t6, %hi(D_80192AA0) # $t6, 0x8019 -/* 0C53E8 800C47E8 25CE2AA0 */ addiu $t6, %lo(D_80192AA0) # addiu $t6, $t6, 0x2aa0 -/* 0C53EC 800C47EC 00EE1821 */ addu $v1, $a3, $t6 -/* 0C53F0 800C47F0 906F0000 */ lbu $t7, ($v1) -/* 0C53F4 800C47F4 54AF0005 */ bnel $a1, $t7, .L800C480C -/* 0C53F8 800C47F8 9049002B */ lbu $t1, 0x2b($v0) -/* 0C53FC 800C47FC 9058002A */ lbu $t8, 0x2a($v0) -/* 0C5400 800C4800 10000007 */ b .L800C4820 -/* 0C5404 800C4804 A0780000 */ sb $t8, ($v1) -/* 0C5408 800C4808 9049002B */ lbu $t1, 0x2b($v0) -.L800C480C: -/* 0C540C 800C480C 9059002A */ lbu $t9, 0x2a($v0) -/* 0C5410 800C4810 01280019 */ multu $t1, $t0 -/* 0C5414 800C4814 00005012 */ mflo $t2 -/* 0C5418 800C4818 00CA5821 */ addu $t3, $a2, $t2 -/* 0C541C 800C481C A179002A */ sb $t9, 0x2a($t3) -.L800C4820: -/* 0C5420 800C4820 904D002A */ lbu $t5, 0x2a($v0) -/* 0C5424 800C4824 904C002B */ lbu $t4, 0x2b($v0) -/* 0C5428 800C4828 3C188019 */ lui $t8, %hi(D_80192AA8) # $t8, 0x8019 -/* 0C542C 800C482C 01A80019 */ multu $t5, $t0 -/* 0C5430 800C4830 27182AA8 */ addiu $t8, %lo(D_80192AA8) # addiu $t8, $t8, 0x2aa8 -/* 0C5434 800C4834 00F81821 */ addu $v1, $a3, $t8 -/* 0C5438 800C4838 240A00FF */ li $t2, 255 -/* 0C543C 800C483C 00007012 */ mflo $t6 -/* 0C5440 800C4840 00CE7821 */ addu $t7, $a2, $t6 -/* 0C5444 800C4844 A1EC002B */ sb $t4, 0x2b($t7) -/* 0C5448 800C4848 90790000 */ lbu $t9, ($v1) -/* 0C544C 800C484C 90690000 */ lbu $t1, ($v1) -/* 0C5450 800C4850 A04A002A */ sb $t2, 0x2a($v0) -/* 0C5454 800C4854 03280019 */ multu $t9, $t0 -/* 0C5458 800C4858 A049002B */ sb $t1, 0x2b($v0) -/* 0C545C 800C485C 03C0E825 */ move $sp, $fp -/* 0C5460 800C4860 00005812 */ mflo $t3 -/* 0C5464 800C4864 00CB6821 */ addu $t5, $a2, $t3 -/* 0C5468 800C4868 A1A5002A */ sb $a1, 0x2a($t5) -/* 0C546C 800C486C A0650000 */ sb $a1, ($v1) -/* 0C5470 800C4870 A0400028 */ sb $zero, 0x28($v0) -/* 0C5474 800C4874 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C5478 800C4878 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C547C 800C487C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0C5480 800C4880 03E00008 */ jr $ra -/* 0C5484 800C4884 00000000 */ nop - -glabel func_800C4888 -/* 0C5488 800C4888 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 0C548C 800C488C AFBE0048 */ sw $fp, 0x48($sp) -/* 0C5490 800C4890 AFB5003C */ sw $s5, 0x3c($sp) -/* 0C5494 800C4894 AFB40038 */ sw $s4, 0x38($sp) -/* 0C5498 800C4898 AFB20030 */ sw $s2, 0x30($sp) -/* 0C549C 800C489C AFB1002C */ sw $s1, 0x2c($sp) -/* 0C54A0 800C48A0 3C027FFF */ lui $v0, (0x7FFFFFFF >> 16) # lui $v0, 0x7fff -/* 0C54A4 800C48A4 309500FF */ andi $s5, $a0, 0xff -/* 0C54A8 800C48A8 03A0F025 */ move $fp, $sp -/* 0C54AC 800C48AC AFBF004C */ sw $ra, 0x4c($sp) -/* 0C54B0 800C48B0 AFB70044 */ sw $s7, 0x44($sp) -/* 0C54B4 800C48B4 AFB60040 */ sw $s6, 0x40($sp) -/* 0C54B8 800C48B8 AFB30034 */ sw $s3, 0x34($sp) -/* 0C54BC 800C48BC AFB00028 */ sw $s0, 0x28($sp) -/* 0C54C0 800C48C0 AFA400D0 */ sw $a0, 0xd0($sp) -/* 0C54C4 800C48C4 00009025 */ move $s2, $zero -/* 0C54C8 800C48C8 3442FFFF */ ori $v0, (0x7FFFFFFF & 0xFFFF) # ori $v0, $v0, 0xffff -/* 0C54CC 800C48CC 27B1007C */ addiu $s1, $sp, 0x7c -/* 0C54D0 800C48D0 241400FF */ li $s4, 255 -/* 0C54D4 800C48D4 00005825 */ move $t3, $zero -.L800C48D8: -/* 0C54D8 800C48D8 000B70C0 */ sll $t6, $t3, 3 -/* 0C54DC 800C48DC 256B0001 */ addiu $t3, $t3, 1 -/* 0C54E0 800C48E0 316F00FF */ andi $t7, $t3, 0xff -/* 0C54E4 800C48E4 29E10008 */ slti $at, $t7, 8 -/* 0C54E8 800C48E8 022E3821 */ addu $a3, $s1, $t6 -/* 0C54EC 800C48EC 01E05825 */ move $t3, $t7 -/* 0C54F0 800C48F0 ACE20000 */ sw $v0, ($a3) -/* 0C54F4 800C48F4 1420FFF8 */ bnez $at, .L800C48D8 -/* 0C54F8 800C48F8 A0F40004 */ sb $s4, 4($a3) -/* 0C54FC 800C48FC 0015C100 */ sll $t8, $s5, 4 -/* 0C5500 800C4900 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019 -/* 0C5504 800C4904 0315C023 */ subu $t8, $t8, $s5 -/* 0C5508 800C4908 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420 -/* 0C550C 800C490C 0018C180 */ sll $t8, $t8, 6 -/* 0C5510 800C4910 03F8C821 */ addu $t9, $ra, $t8 -/* 0C5514 800C4914 9333002B */ lbu $s3, 0x2b($t9) -/* 0C5518 800C4918 241700FF */ li $s7, 255 -/* 0C551C 800C491C 00008025 */ move $s0, $zero -/* 0C5520 800C4920 12F300F7 */ beq $s7, $s3, .L800C4D00 -/* 0C5524 800C4924 00157100 */ sll $t6, $s5, 4 -/* 0C5528 800C4928 01D57023 */ subu $t6, $t6, $s5 -/* 0C552C 800C492C 000E7180 */ sll $t6, $t6, 6 -/* 0C5530 800C4930 03EE7821 */ addu $t7, $ra, $t6 -/* 0C5534 800C4934 AFCF006C */ sw $t7, 0x6c($fp) -/* 0C5538 800C4938 24160030 */ li $s6, 48 -/* 0C553C 800C493C 240D0001 */ li $t5, 1 -/* 0C5540 800C4940 3C020800 */ lui $v0, 0x800 -.L800C4944: -/* 0C5544 800C4944 02760019 */ multu $s3, $s6 -/* 0C5548 800C4948 8FD8006C */ lw $t8, 0x6c($fp) -/* 0C554C 800C494C 32A400FF */ andi $a0, $s5, 0xff -/* 0C5550 800C4950 0000C812 */ mflo $t9 -/* 0C5554 800C4954 03195021 */ addu $t2, $t8, $t9 -/* 0C5558 800C4958 914E0028 */ lbu $t6, 0x28($t2) -/* 0C555C 800C495C 55AE0009 */ bnel $t5, $t6, .L800C4984 -/* 0C5560 800C4960 914F0029 */ lbu $t7, 0x29($t2) -/* 0C5564 800C4964 8D4F0024 */ lw $t7, 0x24($t2) -/* 0C5568 800C4968 01E2C024 */ and $t8, $t7, $v0 -/* 0C556C 800C496C 54580005 */ bnel $v0, $t8, .L800C4984 -/* 0C5570 800C4970 914F0029 */ lbu $t7, 0x29($t2) -/* 0C5574 800C4974 91590029 */ lbu $t9, 0x29($t2) -/* 0C5578 800C4978 272EFFFF */ addiu $t6, $t9, -1 -/* 0C557C 800C497C A14E0029 */ sb $t6, 0x29($t2) -/* 0C5580 800C4980 914F0029 */ lbu $t7, 0x29($t2) -.L800C4984: -/* 0C5584 800C4984 55E00009 */ bnel $t7, $zero, .L800C49AC -/* 0C5588 800C4988 91580028 */ lbu $t8, 0x28($t2) -/* 0C558C 800C498C 0C0311CF */ jal func_800C473C -/* 0C5590 800C4990 326500FF */ andi $a1, $s3, 0xff -/* 0C5594 800C4994 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019 -/* 0C5598 800C4998 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420 -/* 0C559C 800C499C 240D0001 */ li $t5, 1 -/* 0C55A0 800C49A0 100000D0 */ b .L800C4CE4 -/* 0C55A4 800C49A4 3C020800 */ lui $v0, 0x800 -/* 0C55A8 800C49A8 91580028 */ lbu $t8, 0x28($t2) -.L800C49AC: -/* 0C55AC 800C49AC 130000CD */ beqz $t8, .L800C4CE4 -/* 0C55B0 800C49B0 00000000 */ nop -/* 0C55B4 800C49B4 8D420000 */ lw $v0, ($t2) -/* 0C55B8 800C49B8 3C19800F */ lui $t9, %hi(D_800EA1C8) # $t9, 0x800f -/* 0C55BC 800C49BC 2739A1C8 */ addiu $t9, %lo(D_800EA1C8) # addiu $t9, $t9, -0x5e38 -/* 0C55C0 800C49C0 57220005 */ bnel $t9, $v0, .L800C49D8 -/* 0C55C4 800C49C4 8D4E0008 */ lw $t6, 8($t2) -/* 0C55C8 800C49C8 44802000 */ mtc1 $zero, $f4 -/* 0C55CC 800C49CC 10000009 */ b .L800C49F4 -/* 0C55D0 800C49D0 E544001C */ swc1 $f4, 0x1c($t2) -/* 0C55D4 800C49D4 8D4E0008 */ lw $t6, 8($t2) -.L800C49D8: -/* 0C55D8 800C49D8 C4420000 */ lwc1 $f2, ($v0) -/* 0C55DC 800C49DC C5C00000 */ lwc1 $f0, ($t6) -/* 0C55E0 800C49E0 46000182 */ mul.s $f6, $f0, $f0 -/* 0C55E4 800C49E4 00000000 */ nop -/* 0C55E8 800C49E8 46021202 */ mul.s $f8, $f2, $f2 -/* 0C55EC 800C49EC 46083280 */ add.s $f10, $f6, $f8 -/* 0C55F0 800C49F0 E54A001C */ swc1 $f10, 0x1c($t2) -.L800C49F4: -/* 0C55F4 800C49F4 8D420024 */ lw $v0, 0x24($t2) -/* 0C55F8 800C49F8 3043FF00 */ andi $v1, $v0, 0xff00 -/* 0C55FC 800C49FC 00037A02 */ srl $t7, $v1, 8 -/* 0C5600 800C4A00 31F800FF */ andi $t8, $t7, 0xff -/* 0C5604 800C4A04 0002CAC0 */ sll $t9, $v0, 0xb -/* 0C5608 800C4A08 07210010 */ bgez $t9, .L800C4A4C -/* 0C560C 800C4A0C 03001825 */ move $v1, $t8 -/* 0C5610 800C4A10 02F81023 */ subu $v0, $s7, $t8 -/* 0C5614 800C4A14 00420019 */ multu $v0, $v0 -/* 0C5618 800C4A18 C542001C */ lwc1 $f2, 0x1c($t2) -/* 0C561C 800C4A1C 00007012 */ mflo $t6 -/* 0C5620 800C4A20 000E7880 */ sll $t7, $t6, 2 -/* 0C5624 800C4A24 01EE7823 */ subu $t7, $t7, $t6 -/* 0C5628 800C4A28 000F7880 */ sll $t7, $t7, 2 -/* 0C562C 800C4A2C 01EE7823 */ subu $t7, $t7, $t6 -/* 0C5630 800C4A30 000F7880 */ sll $t7, $t7, 2 -/* 0C5634 800C4A34 01EE7821 */ addu $t7, $t7, $t6 -/* 0C5638 800C4A38 000F78C0 */ sll $t7, $t7, 3 -/* 0C563C 800C4A3C 01EE7821 */ addu $t7, $t7, $t6 -/* 0C5640 800C4A40 000F7880 */ sll $t7, $t7, 2 -/* 0C5644 800C4A44 10000041 */ b .L800C4B4C -/* 0C5648 800C4A48 AD4F0020 */ sw $t7, 0x20($t2) -.L800C4A4C: -/* 0C564C 800C4A4C 4458F800 */ cfc1 $t8, $31 -/* 0C5650 800C4A50 24190001 */ li $t9, 1 -/* 0C5654 800C4A54 44D9F800 */ ctc1 $t9, $31 -/* 0C5658 800C4A58 C542001C */ lwc1 $f2, 0x1c($t2) -/* 0C565C 800C4A5C 02E31023 */ subu $v0, $s7, $v1 -/* 0C5660 800C4A60 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C5664 800C4A64 46001424 */ cvt.w.s $f16, $f2 -/* 0C5668 800C4A68 4459F800 */ cfc1 $t9, $31 -/* 0C566C 800C4A6C 00000000 */ nop -/* 0C5670 800C4A70 33390078 */ andi $t9, $t9, 0x78 -/* 0C5674 800C4A74 53200013 */ beql $t9, $zero, .L800C4AC4 -/* 0C5678 800C4A78 44198000 */ mfc1 $t9, $f16 -/* 0C567C 800C4A7C 44818000 */ mtc1 $at, $f16 -/* 0C5680 800C4A80 24190001 */ li $t9, 1 -/* 0C5684 800C4A84 46101401 */ sub.s $f16, $f2, $f16 -/* 0C5688 800C4A88 44D9F800 */ ctc1 $t9, $31 -/* 0C568C 800C4A8C 00000000 */ nop -/* 0C5690 800C4A90 46008424 */ cvt.w.s $f16, $f16 -/* 0C5694 800C4A94 4459F800 */ cfc1 $t9, $31 -/* 0C5698 800C4A98 00000000 */ nop -/* 0C569C 800C4A9C 33390078 */ andi $t9, $t9, 0x78 -/* 0C56A0 800C4AA0 17200005 */ bnez $t9, .L800C4AB8 -/* 0C56A4 800C4AA4 00000000 */ nop -/* 0C56A8 800C4AA8 44198000 */ mfc1 $t9, $f16 -/* 0C56AC 800C4AAC 3C018000 */ lui $at, 0x8000 -/* 0C56B0 800C4AB0 10000007 */ b .L800C4AD0 -/* 0C56B4 800C4AB4 0321C825 */ or $t9, $t9, $at -.L800C4AB8: -/* 0C56B8 800C4AB8 10000005 */ b .L800C4AD0 -/* 0C56BC 800C4ABC 2419FFFF */ li $t9, -1 -/* 0C56C0 800C4AC0 44198000 */ mfc1 $t9, $f16 -.L800C4AC4: -/* 0C56C4 800C4AC4 00000000 */ nop -/* 0C56C8 800C4AC8 0720FFFB */ bltz $t9, .L800C4AB8 -/* 0C56CC 800C4ACC 00000000 */ nop -.L800C4AD0: -/* 0C56D0 800C4AD0 00420019 */ multu $v0, $v0 -/* 0C56D4 800C4AD4 44D8F800 */ ctc1 $t8, $31 -/* 0C56D8 800C4AD8 44809000 */ mtc1 $zero, $f18 -/* 0C56DC 800C4ADC 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 0C56E0 800C4AE0 00007012 */ mflo $t6 -/* 0C56E4 800C4AE4 000E7880 */ sll $t7, $t6, 2 -/* 0C56E8 800C4AE8 01EE7823 */ subu $t7, $t7, $t6 -/* 0C56EC 800C4AEC 000F7880 */ sll $t7, $t7, 2 -/* 0C56F0 800C4AF0 01EE7823 */ subu $t7, $t7, $t6 -/* 0C56F4 800C4AF4 000F7880 */ sll $t7, $t7, 2 -/* 0C56F8 800C4AF8 01EE7821 */ addu $t7, $t7, $t6 -/* 0C56FC 800C4AFC 000F78C0 */ sll $t7, $t7, 3 -/* 0C5700 800C4B00 01EE7821 */ addu $t7, $t7, $t6 -/* 0C5704 800C4B04 8D4E0008 */ lw $t6, 8($t2) -/* 0C5708 800C4B08 000F7880 */ sll $t7, $t7, 2 -/* 0C570C 800C4B0C 032FC021 */ addu $t8, $t9, $t7 -/* 0C5710 800C4B10 AD580020 */ sw $t8, 0x20($t2) -/* 0C5714 800C4B14 C5C00000 */ lwc1 $f0, ($t6) -/* 0C5718 800C4B18 4600903C */ c.lt.s $f18, $f0 -/* 0C571C 800C4B1C 00000000 */ nop -/* 0C5720 800C4B20 4502000B */ bc1fl .L800C4B50 -/* 0C5724 800C4B24 8D430024 */ lw $v1, 0x24($t2) -/* 0C5728 800C4B28 44812000 */ mtc1 $at, $f4 -/* 0C572C 800C4B2C 0300C825 */ move $t9, $t8 -/* 0C5730 800C4B30 C542001C */ lwc1 $f2, 0x1c($t2) -/* 0C5734 800C4B34 46040182 */ mul.s $f6, $f0, $f4 -/* 0C5738 800C4B38 4600320D */ trunc.w.s $f8, $f6 -/* 0C573C 800C4B3C 44184000 */ mfc1 $t8, $f8 -/* 0C5740 800C4B40 00000000 */ nop -/* 0C5744 800C4B44 03387021 */ addu $t6, $t9, $t8 -/* 0C5748 800C4B48 AD4E0020 */ sw $t6, 0x20($t2) -.L800C4B4C: -/* 0C574C 800C4B4C 8D430024 */ lw $v1, 0x24($t2) -.L800C4B50: -/* 0C5750 800C4B50 3C010003 */ lui $at, 3 -/* 0C5754 800C4B54 00617824 */ and $t7, $v1, $at -/* 0C5758 800C4B58 000FCC02 */ srl $t9, $t7, 0x10 -/* 0C575C 800C4B5C 333800FF */ andi $t8, $t9, 0xff -/* 0C5760 800C4B60 1300000A */ beqz $t8, .L800C4B8C -/* 0C5764 800C4B64 3C01800F */ lui $at, %hi(D_800F3670) -/* 0C5768 800C4B68 03180019 */ multu $t8, $t8 -/* 0C576C 800C4B6C 3C01800F */ lui $at, %hi(D_800F366C) # $at, 0x800f -/* 0C5770 800C4B70 C42A366C */ lwc1 $f10, %lo(D_800F366C)($at) -/* 0C5774 800C4B74 00007012 */ mflo $t6 -/* 0C5778 800C4B78 448E8000 */ mtc1 $t6, $f16 -/* 0C577C 800C4B7C 00000000 */ nop -/* 0C5780 800C4B80 468084A0 */ cvt.s.w $f18, $f16 -/* 0C5784 800C4B84 10000002 */ b .L800C4B90 -/* 0C5788 800C4B88 46125003 */ div.s $f0, $f10, $f18 -.L800C4B8C: -/* 0C578C 800C4B8C C4203670 */ lwc1 $f0, %lo(D_800F3670)($at) -.L800C4B90: -/* 0C5790 800C4B90 4602003C */ c.lt.s $f0, $f2 -/* 0C5794 800C4B94 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f -/* 0C5798 800C4B98 4500001C */ bc1f .L800C4C0C -/* 0C579C 800C4B9C 00000000 */ nop -/* 0C57A0 800C4BA0 914F0028 */ lbu $t7, 0x28($t2) -/* 0C57A4 800C4BA4 24010004 */ li $at, 4 -/* 0C57A8 800C4BA8 00002825 */ move $a1, $zero -/* 0C57AC 800C4BAC 55E1004C */ bnel $t7, $at, .L800C4CE0 -/* 0C57B0 800C4BB0 327000FF */ andi $s0, $s3, 0xff -/* 0C57B4 800C4BB4 9159002C */ lbu $t9, 0x2c($t2) -/* 0C57B8 800C4BB8 3C010602 */ lui $at, 0x602 -/* 0C57BC 800C4BBC AFCA0068 */ sw $t2, 0x68($fp) -/* 0C57C0 800C4BC0 0019C200 */ sll $t8, $t9, 8 -/* 0C57C4 800C4BC4 0C032EFA */ jal func_800CBBE8 -/* 0C57C8 800C4BC8 03012025 */ or $a0, $t8, $at -/* 0C57CC 800C4BCC 8FCA0068 */ lw $t2, 0x68($fp) -/* 0C57D0 800C4BD0 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019 -/* 0C57D4 800C4BD4 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420 -/* 0C57D8 800C4BD8 8D4F0024 */ lw $t7, 0x24($t2) -/* 0C57DC 800C4BDC 240D0001 */ li $t5, 1 -/* 0C57E0 800C4BE0 32A400FF */ andi $a0, $s5, 0xff -/* 0C57E4 800C4BE4 000FC900 */ sll $t9, $t7, 4 -/* 0C57E8 800C4BE8 0723003D */ bgezl $t9, .L800C4CE0 -/* 0C57EC 800C4BEC 327000FF */ andi $s0, $s3, 0xff -/* 0C57F0 800C4BF0 0C0311CF */ jal func_800C473C -/* 0C57F4 800C4BF4 326500FF */ andi $a1, $s3, 0xff -/* 0C57F8 800C4BF8 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019 -/* 0C57FC 800C4BFC 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420 -/* 0C5800 800C4C00 240D0001 */ li $t5, 1 -/* 0C5804 800C4C04 10000035 */ b .L800C4CDC -/* 0C5808 800C4C08 321300FF */ andi $s3, $s0, 0xff -.L800C4C0C: -/* 0C580C 800C4C0C 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8) -/* 0C5810 800C4C10 3C0C800F */ lui $t4, %hi(D_800EA188) -/* 0C5814 800C4C14 00005825 */ move $t3, $zero -/* 0C5818 800C4C18 00187080 */ sll $t6, $t8, 2 -/* 0C581C 800C4C1C 01D87023 */ subu $t6, $t6, $t8 -/* 0C5820 800C4C20 000E7040 */ sll $t6, $t6, 1 -/* 0C5824 800C4C24 01D57821 */ addu $t7, $t6, $s5 -/* 0C5828 800C4C28 018F6021 */ addu $t4, $t4, $t7 -/* 0C582C 800C4C2C 918CA188 */ lbu $t4, %lo(D_800EA188)($t4) -/* 0C5830 800C4C30 01804825 */ move $t1, $t4 -/* 0C5834 800C4C34 19200029 */ blez $t1, .L800C4CDC -/* 0C5838 800C4C38 01204025 */ move $t0, $t1 -.L800C4C3C: -/* 0C583C 800C4C3C 000BC8C0 */ sll $t9, $t3, 3 -/* 0C5840 800C4C40 02393821 */ addu $a3, $s1, $t9 -/* 0C5844 800C4C44 8CF80000 */ lw $t8, ($a3) -/* 0C5848 800C4C48 8D430020 */ lw $v1, 0x20($t2) -/* 0C584C 800C4C4C 2502FFFF */ addiu $v0, $t0, -1 -/* 0C5850 800C4C50 304500FF */ andi $a1, $v0, 0xff -/* 0C5854 800C4C54 0303082B */ sltu $at, $t8, $v1 -/* 0C5858 800C4C58 1420001B */ bnez $at, .L800C4CC8 -/* 0C585C 800C4C5C 01603025 */ move $a2, $t3 -/* 0C5860 800C4C60 024C082A */ slt $at, $s2, $t4 -/* 0C5864 800C4C64 10200004 */ beqz $at, .L800C4C78 -/* 0C5868 800C4C68 304400FF */ andi $a0, $v0, 0xff -/* 0C586C 800C4C6C 26520001 */ addiu $s2, $s2, 1 -/* 0C5870 800C4C70 324E00FF */ andi $t6, $s2, 0xff -/* 0C5874 800C4C74 01C09025 */ move $s2, $t6 -.L800C4C78: -/* 0C5878 800C4C78 00C4082A */ slt $at, $a2, $a0 -/* 0C587C 800C4C7C 10200010 */ beqz $at, .L800C4CC0 -/* 0C5880 800C4C80 312B00FF */ andi $t3, $t1, 0xff -/* 0C5884 800C4C84 00A01825 */ move $v1, $a1 -.L800C4C88: -/* 0C5888 800C4C88 0003C8C0 */ sll $t9, $v1, 3 -/* 0C588C 800C4C8C 02391021 */ addu $v0, $s1, $t9 -/* 0C5890 800C4C90 8C58FFF8 */ lw $t8, -8($v0) -/* 0C5894 800C4C94 000578C0 */ sll $t7, $a1, 3 -/* 0C5898 800C4C98 022F2021 */ addu $a0, $s1, $t7 -/* 0C589C 800C4C9C 24A5FFFF */ addiu $a1, $a1, -1 -/* 0C58A0 800C4CA0 AC980000 */ sw $t8, ($a0) -/* 0C58A4 800C4CA4 904EFFFC */ lbu $t6, -4($v0) -/* 0C58A8 800C4CA8 30A300FF */ andi $v1, $a1, 0xff -/* 0C58AC 800C4CAC 00C3082A */ slt $at, $a2, $v1 -/* 0C58B0 800C4CB0 00602825 */ move $a1, $v1 -/* 0C58B4 800C4CB4 1420FFF4 */ bnez $at, .L800C4C88 -/* 0C58B8 800C4CB8 A08E0004 */ sb $t6, 4($a0) -/* 0C58BC 800C4CBC 8D430020 */ lw $v1, 0x20($t2) -.L800C4CC0: -/* 0C58C0 800C4CC0 ACE30000 */ sw $v1, ($a3) -/* 0C58C4 800C4CC4 A0F30004 */ sb $s3, 4($a3) -.L800C4CC8: -/* 0C58C8 800C4CC8 256B0001 */ addiu $t3, $t3, 1 -/* 0C58CC 800C4CCC 317900FF */ andi $t9, $t3, 0xff -/* 0C58D0 800C4CD0 0328082A */ slt $at, $t9, $t0 -/* 0C58D4 800C4CD4 1420FFD9 */ bnez $at, .L800C4C3C -/* 0C58D8 800C4CD8 03205825 */ move $t3, $t9 -.L800C4CDC: -/* 0C58DC 800C4CDC 327000FF */ andi $s0, $s3, 0xff -.L800C4CE0: -/* 0C58E0 800C4CE0 3C020800 */ lui $v0, 0x800 -.L800C4CE4: -/* 0C58E4 800C4CE4 02160019 */ multu $s0, $s6 -/* 0C58E8 800C4CE8 8FD8006C */ lw $t8, 0x6c($fp) -/* 0C58EC 800C4CEC 00007012 */ mflo $t6 -/* 0C58F0 800C4CF0 030E7821 */ addu $t7, $t8, $t6 -/* 0C58F4 800C4CF4 91F3002B */ lbu $s3, 0x2b($t7) -/* 0C58F8 800C4CF8 16F3FF12 */ bne $s7, $s3, .L800C4944 -/* 0C58FC 800C4CFC 00000000 */ nop -.L800C4D00: -/* 0C5900 800C4D00 3C19800F */ lui $t9, %hi(D_800EA1C0) # $t9, 0x800f -/* 0C5904 800C4D04 9339A1C0 */ lbu $t9, %lo(D_800EA1C0)($t9) -/* 0C5908 800C4D08 3C09800F */ lui $t1, %hi(D_800EA188) -/* 0C590C 800C4D0C 240D0001 */ li $t5, 1 -/* 0C5910 800C4D10 0019C080 */ sll $t8, $t9, 2 -/* 0C5914 800C4D14 0319C023 */ subu $t8, $t8, $t9 -/* 0C5918 800C4D18 0018C040 */ sll $t8, $t8, 1 -/* 0C591C 800C4D1C 03157021 */ addu $t6, $t8, $s5 -/* 0C5920 800C4D20 012E4821 */ addu $t1, $t1, $t6 -/* 0C5924 800C4D24 24160030 */ li $s6, 48 -/* 0C5928 800C4D28 9129A188 */ lbu $t1, %lo(D_800EA188)($t1) -/* 0C592C 800C4D2C 00005825 */ move $t3, $zero -/* 0C5930 800C4D30 1A40001E */ blez $s2, .L800C4DAC -/* 0C5934 800C4D34 02403025 */ move $a2, $s2 -/* 0C5938 800C4D38 00157900 */ sll $t7, $s5, 4 -/* 0C593C 800C4D3C 01F57823 */ subu $t7, $t7, $s5 -/* 0C5940 800C4D40 000F7980 */ sll $t7, $t7, 6 -/* 0C5944 800C4D44 03EFC821 */ addu $t9, $ra, $t7 -/* 0C5948 800C4D48 AFD9006C */ sw $t9, 0x6c($fp) -/* 0C594C 800C4D4C 24050003 */ li $a1, 3 -/* 0C5950 800C4D50 24040002 */ li $a0, 2 -.L800C4D54: -/* 0C5954 800C4D54 000B70C0 */ sll $t6, $t3, 3 -/* 0C5958 800C4D58 022E7821 */ addu $t7, $s1, $t6 -/* 0C595C 800C4D5C 91F90004 */ lbu $t9, 4($t7) -/* 0C5960 800C4D60 8FD8006C */ lw $t8, 0x6c($fp) -/* 0C5964 800C4D64 256B0001 */ addiu $t3, $t3, 1 -/* 0C5968 800C4D68 03360019 */ multu $t9, $s6 -/* 0C596C 800C4D6C 316F00FF */ andi $t7, $t3, 0xff -/* 0C5970 800C4D70 24010004 */ li $at, 4 -/* 0C5974 800C4D74 00007012 */ mflo $t6 -/* 0C5978 800C4D78 030E1021 */ addu $v0, $t8, $t6 -/* 0C597C 800C4D7C 90430028 */ lbu $v1, 0x28($v0) -/* 0C5980 800C4D80 15A30003 */ bne $t5, $v1, .L800C4D90 -/* 0C5984 800C4D84 00000000 */ nop -/* 0C5988 800C4D88 10000004 */ b .L800C4D9C -/* 0C598C 800C4D8C A0440028 */ sb $a0, 0x28($v0) -.L800C4D90: -/* 0C5990 800C4D90 54610003 */ bnel $v1, $at, .L800C4DA0 -/* 0C5994 800C4D94 01E6082A */ slt $at, $t7, $a2 -/* 0C5998 800C4D98 A0450028 */ sb $a1, 0x28($v0) -.L800C4D9C: -/* 0C599C 800C4D9C 01E6082A */ slt $at, $t7, $a2 -.L800C4DA0: -/* 0C59A0 800C4DA0 1420FFEC */ bnez $at, .L800C4D54 -/* 0C59A4 800C4DA4 01E05825 */ move $t3, $t7 -/* 0C59A8 800C4DA8 00005825 */ move $t3, $zero -.L800C4DAC: -/* 0C59AC 800C4DAC 19200080 */ blez $t1, .L800C4FB0 -/* 0C59B0 800C4DB0 01204025 */ move $t0, $t1 -/* 0C59B4 800C4DB4 3C188019 */ lui $t8, %hi(D_80192AB8) # $t8, 0x8019 -/* 0C59B8 800C4DB8 27182AB8 */ addiu $t8, %lo(D_80192AB8) # addiu $t8, $t8, 0x2ab8 -/* 0C59BC 800C4DBC 0015C980 */ sll $t9, $s5, 6 -/* 0C59C0 800C4DC0 03383021 */ addu $a2, $t9, $t8 -/* 0C59C4 800C4DC4 240C0003 */ li $t4, 3 -.L800C4DC8: -/* 0C59C8 800C4DC8 000B70C0 */ sll $t6, $t3, 3 -/* 0C59CC 800C4DCC 00CE9821 */ addu $s3, $a2, $t6 -/* 0C59D0 800C4DD0 92650004 */ lbu $a1, 4($s3) -/* 0C59D4 800C4DD4 00001825 */ move $v1, $zero -/* 0C59D8 800C4DD8 16E50003 */ bne $s7, $a1, .L800C4DE8 -/* 0C59DC 800C4DDC 00A01025 */ move $v0, $a1 -/* 0C59E0 800C4DE0 1000003A */ b .L800C4ECC -/* 0C59E4 800C4DE4 24030001 */ li $v1, 1 -.L800C4DE8: -/* 0C59E8 800C4DE8 00B60019 */ multu $a1, $s6 -/* 0C59EC 800C4DEC 00157900 */ sll $t7, $s5, 4 -/* 0C59F0 800C4DF0 01F57823 */ subu $t7, $t7, $s5 -/* 0C59F4 800C4DF4 000F7980 */ sll $t7, $t7, 6 -/* 0C59F8 800C4DF8 03EFC821 */ addu $t9, $ra, $t7 -/* 0C59FC 800C4DFC 24010004 */ li $at, 4 -/* 0C5A00 800C4E00 0000C012 */ mflo $t8 -/* 0C5A04 800C4E04 03382021 */ addu $a0, $t9, $t8 -/* 0C5A08 800C4E08 90870028 */ lbu $a3, 0x28($a0) -/* 0C5A0C 800C4E0C 14E10019 */ bne $a3, $at, .L800C4E74 -/* 0C5A10 800C4E10 00000000 */ nop -/* 0C5A14 800C4E14 8C8E0024 */ lw $t6, 0x24($a0) -/* 0C5A18 800C4E18 24190001 */ li $t9, 1 -/* 0C5A1C 800C4E1C 000E7900 */ sll $t7, $t6, 4 -/* 0C5A20 800C4E20 05E30012 */ bgezl $t7, .L800C4E6C -/* 0C5A24 800C4E24 A0990028 */ sb $t9, 0x28($a0) -/* 0C5A28 800C4E28 32A400FF */ andi $a0, $s5, 0xff -/* 0C5A2C 800C4E2C AFC60070 */ sw $a2, 0x70($fp) -/* 0C5A30 800C4E30 AFC80060 */ sw $t0, 0x60($fp) -/* 0C5A34 800C4E34 A3C900CE */ sb $t1, 0xce($fp) -/* 0C5A38 800C4E38 0C0311CF */ jal func_800C473C -/* 0C5A3C 800C4E3C A3CB00CC */ sb $t3, 0xcc($fp) -/* 0C5A40 800C4E40 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019 -/* 0C5A44 800C4E44 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420 -/* 0C5A48 800C4E48 8FC60070 */ lw $a2, 0x70($fp) -/* 0C5A4C 800C4E4C 8FC80060 */ lw $t0, 0x60($fp) -/* 0C5A50 800C4E50 93C900CE */ lbu $t1, 0xce($fp) -/* 0C5A54 800C4E54 93CB00CC */ lbu $t3, 0xcc($fp) -/* 0C5A58 800C4E58 240C0003 */ li $t4, 3 -/* 0C5A5C 800C4E5C 240D0001 */ li $t5, 1 -/* 0C5A60 800C4E60 1000001A */ b .L800C4ECC -/* 0C5A64 800C4E64 24030001 */ li $v1, 1 -/* 0C5A68 800C4E68 A0990028 */ sb $t9, 0x28($a0) -.L800C4E6C: -/* 0C5A6C 800C4E6C 10000017 */ b .L800C4ECC -/* 0C5A70 800C4E70 24030001 */ li $v1, 1 -.L800C4E74: -/* 0C5A74 800C4E74 14E00004 */ bnez $a3, .L800C4E88 -/* 0C5A78 800C4E78 00000000 */ nop -/* 0C5A7C 800C4E7C A2740004 */ sb $s4, 4($s3) -/* 0C5A80 800C4E80 10000012 */ b .L800C4ECC -/* 0C5A84 800C4E84 24030001 */ li $v1, 1 -.L800C4E88: -/* 0C5A88 800C4E88 1900000D */ blez $t0, .L800C4EC0 -/* 0C5A8C 800C4E8C 00002825 */ move $a1, $zero -.L800C4E90: -/* 0C5A90 800C4E90 0005C0C0 */ sll $t8, $a1, 3 -/* 0C5A94 800C4E94 02382021 */ addu $a0, $s1, $t8 -/* 0C5A98 800C4E98 908E0004 */ lbu $t6, 4($a0) -/* 0C5A9C 800C4E9C 544E0004 */ bnel $v0, $t6, .L800C4EB0 -/* 0C5AA0 800C4EA0 24A50001 */ addiu $a1, $a1, 1 -/* 0C5AA4 800C4EA4 A0940004 */ sb $s4, 4($a0) -/* 0C5AA8 800C4EA8 312500FF */ andi $a1, $t1, 0xff -/* 0C5AAC 800C4EAC 24A50001 */ addiu $a1, $a1, 1 -.L800C4EB0: -/* 0C5AB0 800C4EB0 30AF00FF */ andi $t7, $a1, 0xff -/* 0C5AB4 800C4EB4 01E8082A */ slt $at, $t7, $t0 -/* 0C5AB8 800C4EB8 1420FFF5 */ bnez $at, .L800C4E90 -/* 0C5ABC 800C4EBC 01E02825 */ move $a1, $t7 -.L800C4EC0: -/* 0C5AC0 800C4EC0 2652FFFF */ addiu $s2, $s2, -1 -/* 0C5AC4 800C4EC4 325900FF */ andi $t9, $s2, 0xff -/* 0C5AC8 800C4EC8 03209025 */ move $s2, $t9 -.L800C4ECC: -/* 0C5ACC 800C4ECC 15A30033 */ bne $t5, $v1, .L800C4F9C -/* 0C5AD0 800C4ED0 00605025 */ move $t2, $v1 -/* 0C5AD4 800C4ED4 1900002E */ blez $t0, .L800C4F90 -/* 0C5AD8 800C4ED8 00002825 */ move $a1, $zero -.L800C4EDC: -/* 0C5ADC 800C4EDC 0005C0C0 */ sll $t8, $a1, 3 -/* 0C5AE0 800C4EE0 02382021 */ addu $a0, $s1, $t8 -/* 0C5AE4 800C4EE4 90870004 */ lbu $a3, 4($a0) -/* 0C5AE8 800C4EE8 12E70024 */ beq $s7, $a3, .L800C4F7C -/* 0C5AEC 800C4EEC 00E01025 */ move $v0, $a3 -/* 0C5AF0 800C4EF0 00F60019 */ multu $a3, $s6 -/* 0C5AF4 800C4EF4 00157100 */ sll $t6, $s5, 4 -/* 0C5AF8 800C4EF8 01D57023 */ subu $t6, $t6, $s5 -/* 0C5AFC 800C4EFC 000E7180 */ sll $t6, $t6, 6 -/* 0C5B00 800C4F00 03EE7821 */ addu $t7, $ra, $t6 -/* 0C5B04 800C4F04 0000C812 */ mflo $t9 -/* 0C5B08 800C4F08 01F9C021 */ addu $t8, $t7, $t9 -/* 0C5B0C 800C4F0C 930E0028 */ lbu $t6, 0x28($t8) -/* 0C5B10 800C4F10 518E001B */ beql $t4, $t6, .L800C4F80 -/* 0C5B14 800C4F14 24A50001 */ addiu $a1, $a1, 1 -/* 0C5B18 800C4F18 1900000E */ blez $t0, .L800C4F54 -/* 0C5B1C 800C4F1C 00008025 */ move $s0, $zero -.L800C4F20: -/* 0C5B20 800C4F20 001078C0 */ sll $t7, $s0, 3 -/* 0C5B24 800C4F24 00CFC821 */ addu $t9, $a2, $t7 -/* 0C5B28 800C4F28 93380004 */ lbu $t8, 4($t9) -/* 0C5B2C 800C4F2C 54580004 */ bnel $v0, $t8, .L800C4F40 -/* 0C5B30 800C4F30 26100001 */ addiu $s0, $s0, 1 -/* 0C5B34 800C4F34 00001825 */ move $v1, $zero -/* 0C5B38 800C4F38 313000FF */ andi $s0, $t1, 0xff -/* 0C5B3C 800C4F3C 26100001 */ addiu $s0, $s0, 1 -.L800C4F40: -/* 0C5B40 800C4F40 320E00FF */ andi $t6, $s0, 0xff -/* 0C5B44 800C4F44 01C8082A */ slt $at, $t6, $t0 -/* 0C5B48 800C4F48 1420FFF5 */ bnez $at, .L800C4F20 -/* 0C5B4C 800C4F4C 01C08025 */ move $s0, $t6 -/* 0C5B50 800C4F50 00605025 */ move $t2, $v1 -.L800C4F54: -/* 0C5B54 800C4F54 55AA000A */ bnel $t5, $t2, .L800C4F80 -/* 0C5B58 800C4F58 24A50001 */ addiu $a1, $a1, 1 -/* 0C5B5C 800C4F5C 25050001 */ addiu $a1, $t0, 1 -/* 0C5B60 800C4F60 2652FFFF */ addiu $s2, $s2, -1 -/* 0C5B64 800C4F64 30AF00FF */ andi $t7, $a1, 0xff -/* 0C5B68 800C4F68 325900FF */ andi $t9, $s2, 0xff -/* 0C5B6C 800C4F6C A2670004 */ sb $a3, 4($s3) -/* 0C5B70 800C4F70 A0940004 */ sb $s4, 4($a0) -/* 0C5B74 800C4F74 01E02825 */ move $a1, $t7 -/* 0C5B78 800C4F78 03209025 */ move $s2, $t9 -.L800C4F7C: -/* 0C5B7C 800C4F7C 24A50001 */ addiu $a1, $a1, 1 -.L800C4F80: -/* 0C5B80 800C4F80 30B800FF */ andi $t8, $a1, 0xff -/* 0C5B84 800C4F84 0308082A */ slt $at, $t8, $t0 -/* 0C5B88 800C4F88 1420FFD4 */ bnez $at, .L800C4EDC -/* 0C5B8C 800C4F8C 03002825 */ move $a1, $t8 -.L800C4F90: -/* 0C5B90 800C4F90 55050003 */ bnel $t0, $a1, .L800C4FA0 -/* 0C5B94 800C4F94 256B0001 */ addiu $t3, $t3, 1 -/* 0C5B98 800C4F98 A2740004 */ sb $s4, 4($s3) -.L800C4F9C: -/* 0C5B9C 800C4F9C 256B0001 */ addiu $t3, $t3, 1 -.L800C4FA0: -/* 0C5BA0 800C4FA0 316E00FF */ andi $t6, $t3, 0xff -/* 0C5BA4 800C4FA4 01C8082A */ slt $at, $t6, $t0 -/* 0C5BA8 800C4FA8 1420FF87 */ bnez $at, .L800C4DC8 -/* 0C5BAC 800C4FAC 01C05825 */ move $t3, $t6 -.L800C4FB0: -/* 0C5BB0 800C4FB0 8FDF004C */ lw $ra, 0x4c($fp) -/* 0C5BB4 800C4FB4 03C0E825 */ move $sp, $fp -/* 0C5BB8 800C4FB8 8FD00028 */ lw $s0, 0x28($fp) -/* 0C5BBC 800C4FBC 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C5BC0 800C4FC0 8FD20030 */ lw $s2, 0x30($fp) -/* 0C5BC4 800C4FC4 8FD30034 */ lw $s3, 0x34($fp) -/* 0C5BC8 800C4FC8 8FD40038 */ lw $s4, 0x38($fp) -/* 0C5BCC 800C4FCC 8FD5003C */ lw $s5, 0x3c($fp) -/* 0C5BD0 800C4FD0 8FD60040 */ lw $s6, 0x40($fp) -/* 0C5BD4 800C4FD4 8FD70044 */ lw $s7, 0x44($fp) -/* 0C5BD8 800C4FD8 8FDE0048 */ lw $fp, 0x48($fp) -/* 0C5BDC 800C4FDC 03E00008 */ jr $ra -/* 0C5BE0 800C4FE0 27BD00D0 */ addiu $sp, $sp, 0xd0 - -glabel func_800C4FE4 -/* 0C5BE4 800C4FE4 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f -/* 0C5BE8 800C4FE8 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6) -/* 0C5BEC 800C4FEC 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0C5BF0 800C4FF0 AFB30034 */ sw $s3, 0x34($sp) -/* 0C5BF4 800C4FF4 000E7880 */ sll $t7, $t6, 2 -/* 0C5BF8 800C4FF8 01EE7823 */ subu $t7, $t7, $t6 -/* 0C5BFC 800C4FFC 309300FF */ andi $s3, $a0, 0xff -/* 0C5C00 800C5000 000F7840 */ sll $t7, $t7, 1 -/* 0C5C04 800C5004 01F3C021 */ addu $t8, $t7, $s3 -/* 0C5C08 800C5008 3C03800F */ lui $v1, %hi(D_800EA188) -/* 0C5C0C 800C500C 00781821 */ addu $v1, $v1, $t8 -/* 0C5C10 800C5010 9063A188 */ lbu $v1, %lo(D_800EA188)($v1) -/* 0C5C14 800C5014 AFBE0048 */ sw $fp, 0x48($sp) -/* 0C5C18 800C5018 AFB40038 */ sw $s4, 0x38($sp) -/* 0C5C1C 800C501C 03A0F025 */ move $fp, $sp -/* 0C5C20 800C5020 AFBF004C */ sw $ra, 0x4c($sp) -/* 0C5C24 800C5024 AFB70044 */ sw $s7, 0x44($sp) -/* 0C5C28 800C5028 AFB60040 */ sw $s6, 0x40($sp) -/* 0C5C2C 800C502C AFB5003C */ sw $s5, 0x3c($sp) -/* 0C5C30 800C5030 AFB20030 */ sw $s2, 0x30($sp) -/* 0C5C34 800C5034 AFB1002C */ sw $s1, 0x2c($sp) -/* 0C5C38 800C5038 AFB00028 */ sw $s0, 0x28($sp) -/* 0C5C3C 800C503C AFA40068 */ sw $a0, 0x68($sp) -/* 0C5C40 800C5040 18600080 */ blez $v1, .L800C5244 -/* 0C5C44 800C5044 0000A025 */ move $s4, $zero -/* 0C5C48 800C5048 3C088019 */ lui $t0, %hi(D_80192AB8) # $t0, 0x8019 -/* 0C5C4C 800C504C 25082AB8 */ addiu $t0, %lo(D_80192AB8) # addiu $t0, $t0, 0x2ab8 -/* 0C5C50 800C5050 0013C980 */ sll $t9, $s3, 6 -/* 0C5C54 800C5054 03284821 */ addu $t1, $t9, $t0 -/* 0C5C58 800C5058 3C178019 */ lui $s7, %hi(D_801930D0) # $s7, 0x8019 -/* 0C5C5C 800C505C 3C16800F */ lui $s6, %hi(D_800EA1C4) # $s6, 0x800f -/* 0C5C60 800C5060 3C128019 */ lui $s2, %hi(D_80192C38) # $s2, 0x8019 -/* 0C5C64 800C5064 26522C38 */ addiu $s2, %lo(D_80192C38) # addiu $s2, $s2, 0x2c38 -/* 0C5C68 800C5068 26D6A1C4 */ addiu $s6, %lo(D_800EA1C4) # addiu $s6, $s6, -0x5e3c -/* 0C5C6C 800C506C 26F730D0 */ addiu $s7, %lo(D_801930D0) # addiu $s7, $s7, 0x30d0 -/* 0C5C70 800C5070 AFA90050 */ sw $t1, 0x50($sp) -/* 0C5C74 800C5074 3C150602 */ lui $s5, 0x602 -.L800C5078: -/* 0C5C78 800C5078 8FCA0050 */ lw $t2, 0x50($fp) -/* 0C5C7C 800C507C 001458C0 */ sll $t3, $s4, 3 -/* 0C5C80 800C5080 240100FF */ li $at, 255 -/* 0C5C84 800C5084 014B6021 */ addu $t4, $t2, $t3 -/* 0C5C88 800C5088 91910004 */ lbu $s1, 4($t4) -/* 0C5C8C 800C508C 00137100 */ sll $t6, $s3, 4 -/* 0C5C90 800C5090 3C04803B */ lui $a0, %hi(D_803B17D0) # 0x803b -/* 0C5C94 800C5094 12210063 */ beq $s1, $at, .L800C5224 -/* 0C5C98 800C5098 01D37023 */ subu $t6, $t6, $s3 -/* 0C5C9C 800C509C 00117880 */ sll $t7, $s1, 2 -/* 0C5CA0 800C50A0 01F17823 */ subu $t7, $t7, $s1 -/* 0C5CA4 800C50A4 000F7900 */ sll $t7, $t7, 4 -/* 0C5CA8 800C50A8 000E7180 */ sll $t6, $t6, 6 -/* 0C5CAC 800C50AC 3C198019 */ lui $t9, %hi(D_80191420) # $t9, 0x8019 -/* 0C5CB0 800C50B0 92460000 */ lbu $a2, ($s2) -/* 0C5CB4 800C50B4 27391420 */ addiu $t9, %lo(D_80191420) # addiu $t9, $t9, 0x1420 -/* 0C5CB8 800C50B8 01CFC021 */ addu $t8, $t6, $t7 -/* 0C5CBC 800C50BC 03198021 */ addu $s0, $t8, $t9 -/* 0C5CC0 800C50C0 92020028 */ lbu $v0, 0x28($s0) -/* 0C5CC4 800C50C4 00066880 */ sll $t5, $a2, 2 -/* 0C5CC8 800C50C8 008D2021 */ addu $a0, $a0, $t5 -/* 0C5CCC 800C50CC 24010002 */ li $at, 2 -/* 0C5CD0 800C50D0 1441002D */ bne $v0, $at, .L800C5188 -/* 0C5CD4 800C50D4 8C8417D0 */ lw $a0, %lo(D_803B17D0)($a0) # 0x17d0($a0) -/* 0C5CD8 800C50D8 8E080024 */ lw $t0, 0x24($s0) -/* 0C5CDC 800C50DC A206002C */ sb $a2, 0x2c($s0) -/* 0C5CE0 800C50E0 326400FF */ andi $a0, $s3, 0xff -/* 0C5CE4 800C50E4 00084B00 */ sll $t1, $t0, 0xc -/* 0C5CE8 800C50E8 0521000B */ bgez $t1, .L800C5118 -/* 0C5CEC 800C50EC 322500FF */ andi $a1, $s1, 0xff -/* 0C5CF0 800C50F0 924B0000 */ lbu $t3, ($s2) -/* 0C5CF4 800C50F4 96CA0000 */ lhu $t2, ($s6) -/* 0C5CF8 800C50F8 240C0001 */ li $t4, 1 -/* 0C5CFC 800C50FC 016C6804 */ sllv $t5, $t4, $t3 -/* 0C5D00 800C5100 240F0001 */ li $t7, 1 -/* 0C5D04 800C5104 24180028 */ li $t8, 40 -/* 0C5D08 800C5108 014D7025 */ or $t6, $t2, $t5 -/* 0C5D0C 800C510C A6CE0000 */ sh $t6, ($s6) -/* 0C5D10 800C5110 A2EF0012 */ sb $t7, 0x12($s7) -/* 0C5D14 800C5114 A2F80010 */ sb $t8, 0x10($s7) -.L800C5118: -/* 0C5D18 800C5118 0C030674 */ jal func_800C19D0 -/* 0C5D1C 800C511C 92460000 */ lbu $a2, ($s2) -/* 0C5D20 800C5120 92480000 */ lbu $t0, ($s2) -/* 0C5D24 800C5124 24050001 */ li $a1, 1 -/* 0C5D28 800C5128 00084A00 */ sll $t1, $t0, 8 -/* 0C5D2C 800C512C 0C032EFA */ jal func_800CBBE8 -/* 0C5D30 800C5130 01352025 */ or $a0, $t1, $s5 -/* 0C5D34 800C5134 924B0000 */ lbu $t3, ($s2) -/* 0C5D38 800C5138 8E0F0024 */ lw $t7, 0x24($s0) -/* 0C5D3C 800C513C 000B5200 */ sll $t2, $t3, 8 -/* 0C5D40 800C5140 01552025 */ or $a0, $t2, $s5 -/* 0C5D44 800C5144 348D0004 */ ori $t5, $a0, 4 -/* 0C5D48 800C5148 000FC600 */ sll $t8, $t7, 0x18 -/* 0C5D4C 800C514C 00182E03 */ sra $a1, $t8, 0x18 -/* 0C5D50 800C5150 0C032EFA */ jal func_800CBBE8 -/* 0C5D54 800C5154 01A02025 */ move $a0, $t5 -/* 0C5D58 800C5158 24080004 */ li $t0, 4 -/* 0C5D5C 800C515C A2080028 */ sb $t0, 0x28($s0) -/* 0C5D60 800C5160 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f -/* 0C5D64 800C5164 9129A1C0 */ lbu $t1, %lo(D_800EA1C0)($t1) -/* 0C5D68 800C5168 3C03800F */ lui $v1, %hi(D_800EA188) -/* 0C5D6C 800C516C 00096080 */ sll $t4, $t1, 2 -/* 0C5D70 800C5170 01896023 */ subu $t4, $t4, $t1 -/* 0C5D74 800C5174 000C6040 */ sll $t4, $t4, 1 -/* 0C5D78 800C5178 01935821 */ addu $t3, $t4, $s3 -/* 0C5D7C 800C517C 006B1821 */ addu $v1, $v1, $t3 -/* 0C5D80 800C5180 10000028 */ b .L800C5224 -/* 0C5D84 800C5184 9063A188 */ lbu $v1, %lo(D_800EA188)($v1) -.L800C5188: -/* 0C5D88 800C5188 908A005F */ lbu $t2, 0x5f($a0) -/* 0C5D8C 800C518C 24010080 */ li $at, 128 -/* 0C5D90 800C5190 30CD00FF */ andi $t5, $a2, 0xff -/* 0C5D94 800C5194 15410013 */ bne $t2, $at, .L800C51E4 -/* 0C5D98 800C5198 000D7200 */ sll $t6, $t5, 8 -/* 0C5D9C 800C519C 01D52025 */ or $a0, $t6, $s5 -/* 0C5DA0 800C51A0 348F0007 */ ori $t7, $a0, 7 -/* 0C5DA4 800C51A4 01E02025 */ move $a0, $t7 -/* 0C5DA8 800C51A8 0C032EFA */ jal func_800CBBE8 -/* 0C5DAC 800C51AC 00002825 */ move $a1, $zero -/* 0C5DB0 800C51B0 326400FF */ andi $a0, $s3, 0xff -/* 0C5DB4 800C51B4 0C0311CF */ jal func_800C473C -/* 0C5DB8 800C51B8 322500FF */ andi $a1, $s1, 0xff -/* 0C5DBC 800C51BC 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f -/* 0C5DC0 800C51C0 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8) -/* 0C5DC4 800C51C4 3C03800F */ lui $v1, %hi(D_800EA188) -/* 0C5DC8 800C51C8 0018C880 */ sll $t9, $t8, 2 -/* 0C5DCC 800C51CC 0338C823 */ subu $t9, $t9, $t8 -/* 0C5DD0 800C51D0 0019C840 */ sll $t9, $t9, 1 -/* 0C5DD4 800C51D4 03334021 */ addu $t0, $t9, $s3 -/* 0C5DD8 800C51D8 00681821 */ addu $v1, $v1, $t0 -/* 0C5DDC 800C51DC 10000011 */ b .L800C5224 -/* 0C5DE0 800C51E0 9063A188 */ lbu $v1, %lo(D_800EA188)($v1) -.L800C51E4: -/* 0C5DE4 800C51E4 24010003 */ li $at, 3 -/* 0C5DE8 800C51E8 1441000E */ bne $v0, $at, .L800C5224 -/* 0C5DEC 800C51EC 326400FF */ andi $a0, $s3, 0xff -/* 0C5DF0 800C51F0 0C030674 */ jal func_800C19D0 -/* 0C5DF4 800C51F4 322500FF */ andi $a1, $s1, 0xff -/* 0C5DF8 800C51F8 24090004 */ li $t1, 4 -/* 0C5DFC 800C51FC A2090028 */ sb $t1, 0x28($s0) -/* 0C5E00 800C5200 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f -/* 0C5E04 800C5204 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4) -/* 0C5E08 800C5208 3C03800F */ lui $v1, %hi(D_800EA188) -/* 0C5E0C 800C520C 000C5880 */ sll $t3, $t4, 2 -/* 0C5E10 800C5210 016C5823 */ subu $t3, $t3, $t4 -/* 0C5E14 800C5214 000B5840 */ sll $t3, $t3, 1 -/* 0C5E18 800C5218 01735021 */ addu $t2, $t3, $s3 -/* 0C5E1C 800C521C 006A1821 */ addu $v1, $v1, $t2 -/* 0C5E20 800C5220 9063A188 */ lbu $v1, %lo(D_800EA188)($v1) -.L800C5224: -/* 0C5E24 800C5224 924D0000 */ lbu $t5, ($s2) -/* 0C5E28 800C5228 26940001 */ addiu $s4, $s4, 1 -/* 0C5E2C 800C522C 328F00FF */ andi $t7, $s4, 0xff -/* 0C5E30 800C5230 01E3082A */ slt $at, $t7, $v1 -/* 0C5E34 800C5234 25AE0001 */ addiu $t6, $t5, 1 -/* 0C5E38 800C5238 01E0A025 */ move $s4, $t7 -/* 0C5E3C 800C523C 1420FF8E */ bnez $at, .L800C5078 -/* 0C5E40 800C5240 A24E0000 */ sb $t6, ($s2) -.L800C5244: -/* 0C5E44 800C5244 8FDF004C */ lw $ra, 0x4c($fp) -/* 0C5E48 800C5248 03C0E825 */ move $sp, $fp -/* 0C5E4C 800C524C 8FD00028 */ lw $s0, 0x28($fp) -/* 0C5E50 800C5250 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C5E54 800C5254 8FD20030 */ lw $s2, 0x30($fp) -/* 0C5E58 800C5258 8FD30034 */ lw $s3, 0x34($fp) -/* 0C5E5C 800C525C 8FD40038 */ lw $s4, 0x38($fp) -/* 0C5E60 800C5260 8FD5003C */ lw $s5, 0x3c($fp) -/* 0C5E64 800C5264 8FD60040 */ lw $s6, 0x40($fp) -/* 0C5E68 800C5268 8FD70044 */ lw $s7, 0x44($fp) -/* 0C5E6C 800C526C 8FDE0048 */ lw $fp, 0x48($fp) -/* 0C5E70 800C5270 03E00008 */ jr $ra -/* 0C5E74 800C5274 27BD0068 */ addiu $sp, $sp, 0x68 - -glabel func_800C5278 -/* 0C5E78 800C5278 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 0C5E7C 800C527C AFB70044 */ sw $s7, 0x44($sp) -/* 0C5E80 800C5280 309700FF */ andi $s7, $a0, 0xff -/* 0C5E84 800C5284 00177100 */ sll $t6, $s7, 4 -/* 0C5E88 800C5288 01D77023 */ subu $t6, $t6, $s7 -/* 0C5E8C 800C528C 3C0F8019 */ lui $t7, %hi(D_80191420) # $t7, 0x8019 -/* 0C5E90 800C5290 AFB20030 */ sw $s2, 0x30($sp) -/* 0C5E94 800C5294 25EF1420 */ addiu $t7, %lo(D_80191420) # addiu $t7, $t7, 0x1420 -/* 0C5E98 800C5298 000E7180 */ sll $t6, $t6, 6 -/* 0C5E9C 800C529C AFB1002C */ sw $s1, 0x2c($sp) -/* 0C5EA0 800C52A0 01CF9021 */ addu $s2, $t6, $t7 -/* 0C5EA4 800C52A4 9251002B */ lbu $s1, 0x2b($s2) -/* 0C5EA8 800C52A8 AFB40038 */ sw $s4, 0x38($sp) -/* 0C5EAC 800C52AC 241400FF */ li $s4, 255 -/* 0C5EB0 800C52B0 AFBE0048 */ sw $fp, 0x48($sp) -/* 0C5EB4 800C52B4 03A0F025 */ move $fp, $sp -/* 0C5EB8 800C52B8 AFBF004C */ sw $ra, 0x4c($sp) -/* 0C5EBC 800C52BC AFB60040 */ sw $s6, 0x40($sp) -/* 0C5EC0 800C52C0 AFB5003C */ sw $s5, 0x3c($sp) -/* 0C5EC4 800C52C4 AFB30034 */ sw $s3, 0x34($sp) -/* 0C5EC8 800C52C8 AFB00028 */ sw $s0, 0x28($sp) -/* 0C5ECC 800C52CC 1291001B */ beq $s4, $s1, .L800C533C -/* 0C5ED0 800C52D0 AFA40098 */ sw $a0, 0x98($sp) -/* 0C5ED4 800C52D4 0017C100 */ sll $t8, $s7, 4 -/* 0C5ED8 800C52D8 0317C023 */ subu $t8, $t8, $s7 -/* 0C5EDC 800C52DC 0018C180 */ sll $t8, $t8, 6 -/* 0C5EE0 800C52E0 030F9821 */ addu $s3, $t8, $t7 -/* 0C5EE4 800C52E4 3C160602 */ lui $s6, 0x602 -/* 0C5EE8 800C52E8 24150030 */ li $s5, 48 -.L800C52EC: -/* 0C5EEC 800C52EC 02350019 */ multu $s1, $s5 -/* 0C5EF0 800C52F0 0000C812 */ mflo $t9 -/* 0C5EF4 800C52F4 02798021 */ addu $s0, $s3, $t9 -/* 0C5EF8 800C52F8 92020028 */ lbu $v0, 0x28($s0) -/* 0C5EFC 800C52FC 28410003 */ slti $at, $v0, 3 -/* 0C5F00 800C5300 14200007 */ bnez $at, .L800C5320 -/* 0C5F04 800C5304 00000000 */ nop -/* 0C5F08 800C5308 9209002C */ lbu $t1, 0x2c($s0) -/* 0C5F0C 800C530C 00002825 */ move $a1, $zero -/* 0C5F10 800C5310 00095200 */ sll $t2, $t1, 8 -/* 0C5F14 800C5314 0C032EFA */ jal func_800CBBE8 -/* 0C5F18 800C5318 01562025 */ or $a0, $t2, $s6 -/* 0C5F1C 800C531C 92020028 */ lbu $v0, 0x28($s0) -.L800C5320: -/* 0C5F20 800C5320 10400003 */ beqz $v0, .L800C5330 -/* 0C5F24 800C5324 32E400FF */ andi $a0, $s7, 0xff -/* 0C5F28 800C5328 0C0311CF */ jal func_800C473C -/* 0C5F2C 800C532C 322500FF */ andi $a1, $s1, 0xff -.L800C5330: -/* 0C5F30 800C5330 9251002B */ lbu $s1, 0x2b($s2) -/* 0C5F34 800C5334 1691FFED */ bne $s4, $s1, .L800C52EC -/* 0C5F38 800C5338 00000000 */ nop -.L800C533C: -/* 0C5F3C 800C533C 00175F00 */ sll $t3, $s7, 0x1c -/* 0C5F40 800C5340 AFCB0084 */ sw $t3, 0x84($fp) -/* 0C5F44 800C5344 00002025 */ move $a0, $zero -/* 0C5F48 800C5348 0C031073 */ jal func_800C41CC -/* 0C5F4C 800C534C 27C50060 */ addiu $a1, $fp, 0x60 -/* 0C5F50 800C5350 8FDF004C */ lw $ra, 0x4c($fp) -/* 0C5F54 800C5354 03C0E825 */ move $sp, $fp -/* 0C5F58 800C5358 8FD00028 */ lw $s0, 0x28($fp) -/* 0C5F5C 800C535C 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C5F60 800C5360 8FD20030 */ lw $s2, 0x30($fp) -/* 0C5F64 800C5364 8FD30034 */ lw $s3, 0x34($fp) -/* 0C5F68 800C5368 8FD40038 */ lw $s4, 0x38($fp) -/* 0C5F6C 800C536C 8FD5003C */ lw $s5, 0x3c($fp) -/* 0C5F70 800C5370 8FD60040 */ lw $s6, 0x40($fp) -/* 0C5F74 800C5374 8FD70044 */ lw $s7, 0x44($fp) -/* 0C5F78 800C5378 8FDE0048 */ lw $fp, 0x48($fp) -/* 0C5F7C 800C537C 03E00008 */ jr $ra -/* 0C5F80 800C5380 27BD0098 */ addiu $sp, $sp, 0x98 - -glabel func_800C5384 -/* 0C5F84 800C5384 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0C5F88 800C5388 AFB5003C */ sw $s5, 0x3c($sp) -/* 0C5F8C 800C538C 309500FF */ andi $s5, $a0, 0xff -/* 0C5F90 800C5390 00157100 */ sll $t6, $s5, 4 -/* 0C5F94 800C5394 01D57023 */ subu $t6, $t6, $s5 -/* 0C5F98 800C5398 3C0F8019 */ lui $t7, %hi(D_80191420) # $t7, 0x8019 -/* 0C5F9C 800C539C 25EF1420 */ addiu $t7, %lo(D_80191420) # addiu $t7, $t7, 0x1420 -/* 0C5FA0 800C53A0 000E7180 */ sll $t6, $t6, 6 -/* 0C5FA4 800C53A4 AFBF004C */ sw $ra, 0x4c($sp) -/* 0C5FA8 800C53A8 AFBE0048 */ sw $fp, 0x48($sp) -/* 0C5FAC 800C53AC AFB70044 */ sw $s7, 0x44($sp) -/* 0C5FB0 800C53B0 AFB60040 */ sw $s6, 0x40($sp) -/* 0C5FB4 800C53B4 AFB40038 */ sw $s4, 0x38($sp) -/* 0C5FB8 800C53B8 AFB30034 */ sw $s3, 0x34($sp) -/* 0C5FBC 800C53BC AFB20030 */ sw $s2, 0x30($sp) -/* 0C5FC0 800C53C0 AFB1002C */ sw $s1, 0x2c($sp) -/* 0C5FC4 800C53C4 AFB00028 */ sw $s0, 0x28($sp) -/* 0C5FC8 800C53C8 AFA40050 */ sw $a0, 0x50($sp) -/* 0C5FCC 800C53CC 01CFC021 */ addu $t8, $t6, $t7 -/* 0C5FD0 800C53D0 9311002B */ lbu $s1, 0x2b($t8) -/* 0C5FD4 800C53D4 241700FF */ li $s7, 255 -/* 0C5FD8 800C53D8 00A0B025 */ move $s6, $a1 -/* 0C5FDC 800C53DC 03A0F025 */ move $fp, $sp -/* 0C5FE0 800C53E0 12F10028 */ beq $s7, $s1, .L800C5484 -/* 0C5FE4 800C53E4 00009025 */ move $s2, $zero -/* 0C5FE8 800C53E8 0015C900 */ sll $t9, $s5, 4 -/* 0C5FEC 800C53EC 0335C823 */ subu $t9, $t9, $s5 -/* 0C5FF0 800C53F0 0019C980 */ sll $t9, $t9, 6 -/* 0C5FF4 800C53F4 032F9821 */ addu $s3, $t9, $t7 -/* 0C5FF8 800C53F8 00114080 */ sll $t0, $s1, 2 -.L800C53FC: -/* 0C5FFC 800C53FC 01114023 */ subu $t0, $t0, $s1 -/* 0C6000 800C5400 00084100 */ sll $t0, $t0, 4 -/* 0C6004 800C5404 02688021 */ addu $s0, $s3, $t0 -/* 0C6008 800C5408 8E090000 */ lw $t1, ($s0) -/* 0C600C 800C540C 00125080 */ sll $t2, $s2, 2 -/* 0C6010 800C5410 56C90015 */ bnel $s6, $t1, .L800C5468 -/* 0C6014 800C5414 323200FF */ andi $s2, $s1, 0xff -/* 0C6018 800C5418 92020028 */ lbu $v0, 0x28($s0) -/* 0C601C 800C541C 01525023 */ subu $t2, $t2, $s2 -/* 0C6020 800C5420 000A5100 */ sll $t2, $t2, 4 -/* 0C6024 800C5424 28410003 */ slti $at, $v0, 3 -/* 0C6028 800C5428 14200008 */ bnez $at, .L800C544C -/* 0C602C 800C542C 026AA021 */ addu $s4, $s3, $t2 -/* 0C6030 800C5430 920B002C */ lbu $t3, 0x2c($s0) -/* 0C6034 800C5434 3C010602 */ lui $at, 0x602 -/* 0C6038 800C5438 00002825 */ move $a1, $zero -/* 0C603C 800C543C 000B6200 */ sll $t4, $t3, 8 -/* 0C6040 800C5440 0C032EFA */ jal func_800CBBE8 -/* 0C6044 800C5444 01812025 */ or $a0, $t4, $at -/* 0C6048 800C5448 92020028 */ lbu $v0, 0x28($s0) -.L800C544C: -/* 0C604C 800C544C 10400003 */ beqz $v0, .L800C545C -/* 0C6050 800C5450 32A400FF */ andi $a0, $s5, 0xff -/* 0C6054 800C5454 0C0311CF */ jal func_800C473C -/* 0C6058 800C5458 322500FF */ andi $a1, $s1, 0xff -.L800C545C: -/* 0C605C 800C545C 10000007 */ b .L800C547C -/* 0C6060 800C5460 9291002B */ lbu $s1, 0x2b($s4) -/* 0C6064 800C5464 323200FF */ andi $s2, $s1, 0xff -.L800C5468: -/* 0C6068 800C5468 00127080 */ sll $t6, $s2, 2 -/* 0C606C 800C546C 01D27023 */ subu $t6, $t6, $s2 -/* 0C6070 800C5470 000E7100 */ sll $t6, $t6, 4 -/* 0C6074 800C5474 026EC021 */ addu $t8, $s3, $t6 -/* 0C6078 800C5478 9311002B */ lbu $s1, 0x2b($t8) -.L800C547C: -/* 0C607C 800C547C 56F1FFDF */ bnel $s7, $s1, .L800C53FC -/* 0C6080 800C5480 00114080 */ sll $t0, $s1, 2 -.L800C5484: -/* 0C6084 800C5484 8FDF004C */ lw $ra, 0x4c($fp) -/* 0C6088 800C5488 03C0E825 */ move $sp, $fp -/* 0C608C 800C548C 8FD00028 */ lw $s0, 0x28($fp) -/* 0C6090 800C5490 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C6094 800C5494 8FD20030 */ lw $s2, 0x30($fp) -/* 0C6098 800C5498 8FD30034 */ lw $s3, 0x34($fp) -/* 0C609C 800C549C 8FD40038 */ lw $s4, 0x38($fp) -/* 0C60A0 800C54A0 8FD5003C */ lw $s5, 0x3c($fp) -/* 0C60A4 800C54A4 8FD60040 */ lw $s6, 0x40($fp) -/* 0C60A8 800C54A8 8FD70044 */ lw $s7, 0x44($fp) -/* 0C60AC 800C54AC 8FDE0048 */ lw $fp, 0x48($fp) -/* 0C60B0 800C54B0 03E00008 */ jr $ra -/* 0C60B4 800C54B4 27BD0050 */ addiu $sp, $sp, 0x50 - -/* 0C60B8 800C54B8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0C60BC 800C54BC AFBF002C */ sw $ra, 0x2c($sp) -/* 0C60C0 800C54C0 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C60C4 800C54C4 AFA40060 */ sw $a0, 0x60($sp) -/* 0C60C8 800C54C8 03A0F025 */ move $fp, $sp -/* 0C60CC 800C54CC AFA50064 */ sw $a1, 0x64($sp) -/* 0C60D0 800C54D0 0C0314E1 */ jal func_800C5384 -/* 0C60D4 800C54D4 93A40063 */ lbu $a0, 0x63($sp) -/* 0C60D8 800C54D8 93CE0063 */ lbu $t6, 0x63($fp) -/* 0C60DC 800C54DC 8FD80064 */ lw $t8, 0x64($fp) -/* 0C60E0 800C54E0 24040001 */ li $a0, 1 -/* 0C60E4 800C54E4 000E7F00 */ sll $t7, $t6, 0x1c -/* 0C60E8 800C54E8 AFCF0054 */ sw $t7, 0x54($fp) -/* 0C60EC 800C54EC 27C50030 */ addiu $a1, $fp, 0x30 -/* 0C60F0 800C54F0 0C031073 */ jal func_800C41CC -/* 0C60F4 800C54F4 AFD80030 */ sw $t8, 0x30($fp) -/* 0C60F8 800C54F8 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C60FC 800C54FC 03C0E825 */ move $sp, $fp -/* 0C6100 800C5500 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C6104 800C5504 03E00008 */ jr $ra -/* 0C6108 800C5508 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel func_800C550C -/* 0C610C 800C550C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0C6110 800C5510 AFBE0030 */ sw $fp, 0x30($sp) -/* 0C6114 800C5514 AFB1002C */ sw $s1, 0x2c($sp) -/* 0C6118 800C5518 AFB00028 */ sw $s0, 0x28($sp) -/* 0C611C 800C551C 00808825 */ move $s1, $a0 -/* 0C6120 800C5520 03A0F025 */ move $fp, $sp -/* 0C6124 800C5524 AFBF0034 */ sw $ra, 0x34($sp) -/* 0C6128 800C5528 00008025 */ move $s0, $zero -.L800C552C: -/* 0C612C 800C552C 320400FF */ andi $a0, $s0, 0xff -/* 0C6130 800C5530 0C0314E1 */ jal func_800C5384 -/* 0C6134 800C5534 02202825 */ move $a1, $s1 -/* 0C6138 800C5538 26100001 */ addiu $s0, $s0, 1 -/* 0C613C 800C553C 320E00FF */ andi $t6, $s0, 0xff -/* 0C6140 800C5540 29C10006 */ slti $at, $t6, 6 -/* 0C6144 800C5544 1420FFF9 */ bnez $at, .L800C552C -/* 0C6148 800C5548 01C08025 */ move $s0, $t6 -/* 0C614C 800C554C AFD1003C */ sw $s1, 0x3c($fp) -/* 0C6150 800C5550 24040002 */ li $a0, 2 -/* 0C6154 800C5554 0C031073 */ jal func_800C41CC -/* 0C6158 800C5558 27C5003C */ addiu $a1, $fp, 0x3c -/* 0C615C 800C555C 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C6160 800C5560 03C0E825 */ move $sp, $fp -/* 0C6164 800C5564 8FD00028 */ lw $s0, 0x28($fp) -/* 0C6168 800C5568 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C616C 800C556C 8FDE0030 */ lw $fp, 0x30($fp) -/* 0C6170 800C5570 03E00008 */ jr $ra -/* 0C6174 800C5574 27BD0070 */ addiu $sp, $sp, 0x70 - -glabel func_800C5578 -/* 0C6178 800C5578 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 0C617C 800C557C 3C01F000 */ lui $at, 0xf000 -/* 0C6180 800C5580 00A17024 */ and $t6, $a1, $at -/* 0C6184 800C5584 000E7F02 */ srl $t7, $t6, 0x1c -/* 0C6188 800C5588 31F800FF */ andi $t8, $t7, 0xff -/* 0C618C 800C558C 0018C900 */ sll $t9, $t8, 4 -/* 0C6190 800C5590 0338C823 */ subu $t9, $t9, $t8 -/* 0C6194 800C5594 3C088019 */ lui $t0, %hi(D_80191420) # $t0, 0x8019 -/* 0C6198 800C5598 25081420 */ addiu $t0, %lo(D_80191420) # addiu $t0, $t0, 0x1420 -/* 0C619C 800C559C 0019C980 */ sll $t9, $t9, 6 -/* 0C61A0 800C55A0 AFBF004C */ sw $ra, 0x4c($sp) -/* 0C61A4 800C55A4 AFBE0048 */ sw $fp, 0x48($sp) -/* 0C61A8 800C55A8 AFB70044 */ sw $s7, 0x44($sp) -/* 0C61AC 800C55AC AFB60040 */ sw $s6, 0x40($sp) -/* 0C61B0 800C55B0 AFB5003C */ sw $s5, 0x3c($sp) -/* 0C61B4 800C55B4 AFB40038 */ sw $s4, 0x38($sp) -/* 0C61B8 800C55B8 AFB30034 */ sw $s3, 0x34($sp) -/* 0C61BC 800C55BC AFB20030 */ sw $s2, 0x30($sp) -/* 0C61C0 800C55C0 AFB1002C */ sw $s1, 0x2c($sp) -/* 0C61C4 800C55C4 AFB00028 */ sw $s0, 0x28($sp) -/* 0C61C8 800C55C8 AFA40098 */ sw $a0, 0x98($sp) -/* 0C61CC 800C55CC AFA5009C */ sw $a1, 0x9c($sp) -/* 0C61D0 800C55D0 03284821 */ addu $t1, $t9, $t0 -/* 0C61D4 800C55D4 9131002B */ lbu $s1, 0x2b($t1) -/* 0C61D8 800C55D8 241500FF */ li $s5, 255 -/* 0C61DC 800C55DC 03A0F025 */ move $fp, $sp -/* 0C61E0 800C55E0 0300B025 */ move $s6, $t8 -/* 0C61E4 800C55E4 00009825 */ move $s3, $zero -/* 0C61E8 800C55E8 12B1002D */ beq $s5, $s1, .L800C56A0 -/* 0C61EC 800C55EC 02201025 */ move $v0, $s1 -/* 0C61F0 800C55F0 00185100 */ sll $t2, $t8, 4 -/* 0C61F4 800C55F4 01585023 */ subu $t2, $t2, $t8 -/* 0C61F8 800C55F8 000A5180 */ sll $t2, $t2, 6 -/* 0C61FC 800C55FC 0148A021 */ addu $s4, $t2, $t0 -/* 0C6200 800C5600 3C170602 */ lui $s7, 0x602 -/* 0C6204 800C5604 24120030 */ li $s2, 48 -.L800C5608: -/* 0C6208 800C5608 02320019 */ multu $s1, $s2 -/* 0C620C 800C560C 8FCC0098 */ lw $t4, 0x98($fp) -/* 0C6210 800C5610 00005812 */ mflo $t3 -/* 0C6214 800C5614 028B8021 */ addu $s0, $s4, $t3 -/* 0C6218 800C5618 8E0D0000 */ lw $t5, ($s0) -/* 0C621C 800C561C 558D0017 */ bnel $t4, $t5, .L800C567C -/* 0C6220 800C5620 323300FF */ andi $s3, $s1, 0xff -/* 0C6224 800C5624 8FCE009C */ lw $t6, 0x9c($fp) -/* 0C6228 800C5628 8E0F0024 */ lw $t7, 0x24($s0) -/* 0C622C 800C562C 55CF0013 */ bnel $t6, $t7, .L800C567C -/* 0C6230 800C5630 323300FF */ andi $s3, $s1, 0xff -/* 0C6234 800C5634 92020028 */ lbu $v0, 0x28($s0) -/* 0C6238 800C5638 28410003 */ slti $at, $v0, 3 -/* 0C623C 800C563C 14200007 */ bnez $at, .L800C565C -/* 0C6240 800C5640 00000000 */ nop -/* 0C6244 800C5644 9219002C */ lbu $t9, 0x2c($s0) -/* 0C6248 800C5648 00002825 */ move $a1, $zero -/* 0C624C 800C564C 00194A00 */ sll $t1, $t9, 8 -/* 0C6250 800C5650 0C032EFA */ jal func_800CBBE8 -/* 0C6254 800C5654 01372025 */ or $a0, $t1, $s7 -/* 0C6258 800C5658 92020028 */ lbu $v0, 0x28($s0) -.L800C565C: -/* 0C625C 800C565C 10400003 */ beqz $v0, .L800C566C -/* 0C6260 800C5660 32C400FF */ andi $a0, $s6, 0xff -/* 0C6264 800C5664 0C0311CF */ jal func_800C473C -/* 0C6268 800C5668 322500FF */ andi $a1, $s1, 0xff -.L800C566C: -/* 0C626C 800C566C 241100FF */ li $s1, 255 -/* 0C6270 800C5670 10000002 */ b .L800C567C -/* 0C6274 800C5674 240200FF */ li $v0, 255 -/* 0C6278 800C5678 323300FF */ andi $s3, $s1, 0xff -.L800C567C: -/* 0C627C 800C567C 12A20006 */ beq $s5, $v0, .L800C5698 -/* 0C6280 800C5680 00000000 */ nop -/* 0C6284 800C5684 02720019 */ multu $s3, $s2 -/* 0C6288 800C5688 00005012 */ mflo $t2 -/* 0C628C 800C568C 028A4021 */ addu $t0, $s4, $t2 -/* 0C6290 800C5690 9111002B */ lbu $s1, 0x2b($t0) -/* 0C6294 800C5694 02201025 */ move $v0, $s1 -.L800C5698: -/* 0C6298 800C5698 16A2FFDB */ bne $s5, $v0, .L800C5608 -/* 0C629C 800C569C 00000000 */ nop -.L800C56A0: -/* 0C62A0 800C56A0 8FCB0098 */ lw $t3, 0x98($fp) -/* 0C62A4 800C56A4 8FCC009C */ lw $t4, 0x9c($fp) -/* 0C62A8 800C56A8 24040003 */ li $a0, 3 -/* 0C62AC 800C56AC 27C50060 */ addiu $a1, $fp, 0x60 -/* 0C62B0 800C56B0 AFCB0060 */ sw $t3, 0x60($fp) -/* 0C62B4 800C56B4 0C031073 */ jal func_800C41CC -/* 0C62B8 800C56B8 AFCC0084 */ sw $t4, 0x84($fp) -/* 0C62BC 800C56BC 8FDF004C */ lw $ra, 0x4c($fp) -/* 0C62C0 800C56C0 03C0E825 */ move $sp, $fp -/* 0C62C4 800C56C4 8FD00028 */ lw $s0, 0x28($fp) -/* 0C62C8 800C56C8 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C62CC 800C56CC 8FD20030 */ lw $s2, 0x30($fp) -/* 0C62D0 800C56D0 8FD30034 */ lw $s3, 0x34($fp) -/* 0C62D4 800C56D4 8FD40038 */ lw $s4, 0x38($fp) -/* 0C62D8 800C56D8 8FD5003C */ lw $s5, 0x3c($fp) -/* 0C62DC 800C56DC 8FD60040 */ lw $s6, 0x40($fp) -/* 0C62E0 800C56E0 8FD70044 */ lw $s7, 0x44($fp) -/* 0C62E4 800C56E4 8FDE0048 */ lw $fp, 0x48($fp) -/* 0C62E8 800C56E8 03E00008 */ jr $ra -/* 0C62EC 800C56EC 27BD0098 */ addiu $sp, $sp, 0x98 - -glabel func_800C56F0 -/* 0C62F0 800C56F0 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 0C62F4 800C56F4 3C01F000 */ lui $at, 0xf000 -/* 0C62F8 800C56F8 00817024 */ and $t6, $a0, $at -/* 0C62FC 800C56FC 000E7F02 */ srl $t7, $t6, 0x1c -/* 0C6300 800C5700 31F800FF */ andi $t8, $t7, 0xff -/* 0C6304 800C5704 0018C900 */ sll $t9, $t8, 4 -/* 0C6308 800C5708 0338C823 */ subu $t9, $t9, $t8 -/* 0C630C 800C570C 3C088019 */ lui $t0, %hi(D_80191420) # $t0, 0x8019 -/* 0C6310 800C5710 25081420 */ addiu $t0, %lo(D_80191420) # addiu $t0, $t0, 0x1420 -/* 0C6314 800C5714 0019C980 */ sll $t9, $t9, 6 -/* 0C6318 800C5718 AFBF004C */ sw $ra, 0x4c($sp) -/* 0C631C 800C571C AFBE0048 */ sw $fp, 0x48($sp) -/* 0C6320 800C5720 AFB70044 */ sw $s7, 0x44($sp) -/* 0C6324 800C5724 AFB60040 */ sw $s6, 0x40($sp) -/* 0C6328 800C5728 AFB5003C */ sw $s5, 0x3c($sp) -/* 0C632C 800C572C AFB40038 */ sw $s4, 0x38($sp) -/* 0C6330 800C5730 AFB30034 */ sw $s3, 0x34($sp) -/* 0C6334 800C5734 AFB20030 */ sw $s2, 0x30($sp) -/* 0C6338 800C5738 AFB1002C */ sw $s1, 0x2c($sp) -/* 0C633C 800C573C AFB00028 */ sw $s0, 0x28($sp) -/* 0C6340 800C5740 AFA400A0 */ sw $a0, 0xa0($sp) -/* 0C6344 800C5744 03284821 */ addu $t1, $t9, $t0 -/* 0C6348 800C5748 9131002B */ lbu $s1, 0x2b($t1) -/* 0C634C 800C574C 241600FF */ li $s6, 255 -/* 0C6350 800C5750 03A0F025 */ move $fp, $sp -/* 0C6354 800C5754 0300A825 */ move $s5, $t8 -/* 0C6358 800C5758 12D10029 */ beq $s6, $s1, .L800C5800 -/* 0C635C 800C575C 00009025 */ move $s2, $zero -/* 0C6360 800C5760 00185100 */ sll $t2, $t8, 4 -/* 0C6364 800C5764 01585023 */ subu $t2, $t2, $t8 -/* 0C6368 800C5768 000A5180 */ sll $t2, $t2, 6 -/* 0C636C 800C576C 01489821 */ addu $s3, $t2, $t0 -/* 0C6370 800C5770 24170030 */ li $s7, 48 -.L800C5774: -/* 0C6374 800C5774 02370019 */ multu $s1, $s7 -/* 0C6378 800C5778 8FCC00A0 */ lw $t4, 0xa0($fp) -/* 0C637C 800C577C 00127080 */ sll $t6, $s2, 2 -/* 0C6380 800C5780 00005812 */ mflo $t3 -/* 0C6384 800C5784 026B8021 */ addu $s0, $s3, $t3 -/* 0C6388 800C5788 8E0D0024 */ lw $t5, 0x24($s0) -/* 0C638C 800C578C 558D0015 */ bnel $t4, $t5, .L800C57E4 -/* 0C6390 800C5790 323200FF */ andi $s2, $s1, 0xff -/* 0C6394 800C5794 92020028 */ lbu $v0, 0x28($s0) -/* 0C6398 800C5798 01D27023 */ subu $t6, $t6, $s2 -/* 0C639C 800C579C 000E7100 */ sll $t6, $t6, 4 -/* 0C63A0 800C57A0 28410003 */ slti $at, $v0, 3 -/* 0C63A4 800C57A4 14200008 */ bnez $at, .L800C57C8 -/* 0C63A8 800C57A8 026EA021 */ addu $s4, $s3, $t6 -/* 0C63AC 800C57AC 920F002C */ lbu $t7, 0x2c($s0) -/* 0C63B0 800C57B0 3C010602 */ lui $at, 0x602 -/* 0C63B4 800C57B4 00002825 */ move $a1, $zero -/* 0C63B8 800C57B8 000FC200 */ sll $t8, $t7, 8 -/* 0C63BC 800C57BC 0C032EFA */ jal func_800CBBE8 -/* 0C63C0 800C57C0 03012025 */ or $a0, $t8, $at -/* 0C63C4 800C57C4 92020028 */ lbu $v0, 0x28($s0) -.L800C57C8: -/* 0C63C8 800C57C8 10400003 */ beqz $v0, .L800C57D8 -/* 0C63CC 800C57CC 32A400FF */ andi $a0, $s5, 0xff -/* 0C63D0 800C57D0 0C0311CF */ jal func_800C473C -/* 0C63D4 800C57D4 322500FF */ andi $a1, $s1, 0xff -.L800C57D8: -/* 0C63D8 800C57D8 10000007 */ b .L800C57F8 -/* 0C63DC 800C57DC 9291002B */ lbu $s1, 0x2b($s4) -/* 0C63E0 800C57E0 323200FF */ andi $s2, $s1, 0xff -.L800C57E4: -/* 0C63E4 800C57E4 00124880 */ sll $t1, $s2, 2 -/* 0C63E8 800C57E8 01324823 */ subu $t1, $t1, $s2 -/* 0C63EC 800C57EC 00094900 */ sll $t1, $t1, 4 -/* 0C63F0 800C57F0 02695021 */ addu $t2, $s3, $t1 -/* 0C63F4 800C57F4 9151002B */ lbu $s1, 0x2b($t2) -.L800C57F8: -/* 0C63F8 800C57F8 16D1FFDE */ bne $s6, $s1, .L800C5774 -/* 0C63FC 800C57FC 00000000 */ nop -.L800C5800: -/* 0C6400 800C5800 8FC800A0 */ lw $t0, 0xa0($fp) -/* 0C6404 800C5804 24040005 */ li $a0, 5 -/* 0C6408 800C5808 27C50068 */ addiu $a1, $fp, 0x68 -/* 0C640C 800C580C 0C031073 */ jal func_800C41CC -/* 0C6410 800C5810 AFC8008C */ sw $t0, 0x8c($fp) -/* 0C6414 800C5814 8FDF004C */ lw $ra, 0x4c($fp) -/* 0C6418 800C5818 03C0E825 */ move $sp, $fp -/* 0C641C 800C581C 8FD00028 */ lw $s0, 0x28($fp) -/* 0C6420 800C5820 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C6424 800C5824 8FD20030 */ lw $s2, 0x30($fp) -/* 0C6428 800C5828 8FD30034 */ lw $s3, 0x34($fp) -/* 0C642C 800C582C 8FD40038 */ lw $s4, 0x38($fp) -/* 0C6430 800C5830 8FD5003C */ lw $s5, 0x3c($fp) -/* 0C6434 800C5834 8FD60040 */ lw $s6, 0x40($fp) -/* 0C6438 800C5838 8FD70044 */ lw $s7, 0x44($fp) -/* 0C643C 800C583C 8FDE0048 */ lw $fp, 0x48($fp) -/* 0C6440 800C5840 03E00008 */ jr $ra -/* 0C6444 800C5844 27BD00A0 */ addiu $sp, $sp, 0xa0 - -glabel func_800C5848 -/* 0C6448 800C5848 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C644C 800C584C AFB1002C */ sw $s1, 0x2c($sp) -/* 0C6450 800C5850 AFB00028 */ sw $s0, 0x28($sp) -/* 0C6454 800C5854 3C10800F */ lui $s0, %hi(D_800EA1BC) # $s0, 0x800f -/* 0C6458 800C5858 3C11800F */ lui $s1, %hi(D_800EA1B8) # $s1, 0x800f -/* 0C645C 800C585C 2631A1B8 */ addiu $s1, %lo(D_800EA1B8) # addiu $s1, $s1, -0x5e48 -/* 0C6460 800C5860 2610A1BC */ addiu $s0, %lo(D_800EA1BC) # addiu $s0, $s0, -0x5e44 -/* 0C6464 800C5864 920E0000 */ lbu $t6, ($s0) -/* 0C6468 800C5868 922F0000 */ lbu $t7, ($s1) -/* 0C646C 800C586C AFBE0030 */ sw $fp, 0x30($sp) -/* 0C6470 800C5870 03A0F025 */ move $fp, $sp -/* 0C6474 800C5874 11CF0009 */ beq $t6, $t7, .L800C589C -/* 0C6478 800C5878 AFBF0034 */ sw $ra, 0x34($sp) -.L800C587C: -/* 0C647C 800C587C 0C0310E6 */ jal func_800C4398 -/* 0C6480 800C5880 00000000 */ nop -/* 0C6484 800C5884 92180000 */ lbu $t8, ($s0) -/* 0C6488 800C5888 92290000 */ lbu $t1, ($s1) -/* 0C648C 800C588C 27190001 */ addiu $t9, $t8, 1 -/* 0C6490 800C5890 332800FF */ andi $t0, $t9, 0xff -/* 0C6494 800C5894 1509FFF9 */ bne $t0, $t1, .L800C587C -/* 0C6498 800C5898 A2190000 */ sb $t9, ($s0) -.L800C589C: -/* 0C649C 800C589C 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C64A0 800C58A0 03C0E825 */ move $sp, $fp -/* 0C64A4 800C58A4 8FD00028 */ lw $s0, 0x28($fp) -/* 0C64A8 800C58A8 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C64AC 800C58AC 8FDE0030 */ lw $fp, 0x30($fp) -/* 0C64B0 800C58B0 03E00008 */ jr $ra -/* 0C64B4 800C58B4 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800C58B8 -/* 0C64B8 800C58B8 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C64BC 800C58BC ADA40010 */ sw $a0, 0x10($t5) -/* 0C64C0 800C58C0 ADA50014 */ sw $a1, 0x14($t5) -/* 0C64C4 800C58C4 ADA60018 */ sw $a2, 0x18($t5) -/* 0C64C8 800C58C8 308E00FF */ andi $t6, $a0, 0xff -/* 0C64CC 800C58CC 30AF00FF */ andi $t7, $a1, 0xff -/* 0C64D0 800C58D0 30D8FFFF */ andi $t8, $a2, 0xffff -/* 0C64D4 800C58D4 03003025 */ move $a2, $t8 -/* 0C64D8 800C58D8 01E02825 */ move $a1, $t7 -/* 0C64DC 800C58DC 17000004 */ bnez $t8, .L800C58F0 -/* 0C64E0 800C58E0 01C02025 */ move $a0, $t6 -/* 0C64E4 800C58E4 27060001 */ addiu $a2, $t8, 1 -/* 0C64E8 800C58E8 30D9FFFF */ andi $t9, $a2, 0xffff -/* 0C64EC 800C58EC 03203025 */ move $a2, $t9 -.L800C58F0: -/* 0C64F0 800C58F0 44852000 */ mtc1 $a1, $f4 -/* 0C64F4 800C58F4 3C098019 */ lui $t1, %hi(D_80192C48) # $t1, 0x8019 -/* 0C64F8 800C58F8 25292C48 */ addiu $t1, %lo(D_80192C48) # addiu $t1, $t1, 0x2c48 -/* 0C64FC 800C58FC 00044100 */ sll $t0, $a0, 4 -/* 0C6500 800C5900 01091021 */ addu $v0, $t0, $t1 -/* 0C6504 800C5904 04A10005 */ bgez $a1, .L800C591C -/* 0C6508 800C5908 468021A0 */ cvt.s.w $f6, $f4 -/* 0C650C 800C590C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C6510 800C5910 44814000 */ mtc1 $at, $f8 -/* 0C6514 800C5914 00000000 */ nop -/* 0C6518 800C5918 46083180 */ add.s $f6, $f6, $f8 -.L800C591C: -/* 0C651C 800C591C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C6520 800C5920 44815000 */ mtc1 $at, $f10 -/* 0C6524 800C5924 C4500000 */ lwc1 $f16, ($v0) -/* 0C6528 800C5928 44862000 */ mtc1 $a2, $f4 -/* 0C652C 800C592C 460A3003 */ div.s $f0, $f6, $f10 -/* 0C6530 800C5930 A446000C */ sh $a2, 0xc($v0) -/* 0C6534 800C5934 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C6538 800C5938 46802220 */ cvt.s.w $f8, $f4 -/* 0C653C 800C593C E4400004 */ swc1 $f0, 4($v0) -/* 0C6540 800C5940 04C10004 */ bgez $a2, .L800C5954 -/* 0C6544 800C5944 46008481 */ sub.s $f18, $f16, $f0 -/* 0C6548 800C5948 44813000 */ mtc1 $at, $f6 -/* 0C654C 800C594C 00000000 */ nop -/* 0C6550 800C5950 46064200 */ add.s $f8, $f8, $f6 -.L800C5954: -/* 0C6554 800C5954 46089283 */ div.s $f10, $f18, $f8 -/* 0C6558 800C5958 01A0E825 */ move $sp, $t5 -/* 0C655C 800C595C 25BD0010 */ addiu $sp, $t5, 0x10 -/* 0C6560 800C5960 03E00008 */ jr $ra -/* 0C6564 800C5964 E44A0008 */ swc1 $f10, 8($v0) - -glabel func_800C5968 -/* 0C6568 800C5968 308E00FF */ andi $t6, $a0, 0xff -/* 0C656C 800C596C 3C188019 */ lui $t8, %hi(D_80192C48) # $t8, 0x8019 -/* 0C6570 800C5970 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C6574 800C5974 27182C48 */ addiu $t8, %lo(D_80192C48) # addiu $t8, $t8, 0x2c48 -/* 0C6578 800C5978 000E7900 */ sll $t7, $t6, 4 -/* 0C657C 800C597C ADA40010 */ sw $a0, 0x10($t5) -/* 0C6580 800C5980 01F81021 */ addu $v0, $t7, $t8 -/* 0C6584 800C5984 9443000C */ lhu $v1, 0xc($v0) -/* 0C6588 800C5988 01A0E825 */ move $sp, $t5 -/* 0C658C 800C598C 1060000B */ beqz $v1, .L800C59BC -/* 0C6590 800C5990 2479FFFF */ addiu $t9, $v1, -1 -/* 0C6594 800C5994 3328FFFF */ andi $t0, $t9, 0xffff -/* 0C6598 800C5998 11000006 */ beqz $t0, .L800C59B4 -/* 0C659C 800C599C A459000C */ sh $t9, 0xc($v0) -/* 0C65A0 800C59A0 C4440000 */ lwc1 $f4, ($v0) -/* 0C65A4 800C59A4 C4460008 */ lwc1 $f6, 8($v0) -/* 0C65A8 800C59A8 46062201 */ sub.s $f8, $f4, $f6 -/* 0C65AC 800C59AC 10000003 */ b .L800C59BC -/* 0C65B0 800C59B0 E4480000 */ swc1 $f8, ($v0) -.L800C59B4: -/* 0C65B4 800C59B4 C44A0004 */ lwc1 $f10, 4($v0) -/* 0C65B8 800C59B8 E44A0000 */ swc1 $f10, ($v0) -.L800C59BC: -/* 0C65BC 800C59BC 03E00008 */ jr $ra -/* 0C65C0 800C59C0 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C59C4 -/* 0C65C4 800C59C4 3C0F803B */ lui $t7, %hi(D_803B17D0) # $t7, 0x803b -/* 0C65C8 800C59C8 8DEF17D0 */ lw $t7, %lo(D_803B17D0)($t7) -/* 0C65CC 800C59CC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C65D0 800C59D0 3C0E803B */ lui $t6, %hi(D_803B5EF0) # $t6, 0x803b -/* 0C65D4 800C59D4 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C65D8 800C59D8 25CE5EF0 */ addiu $t6, %lo(D_803B5EF0) # addiu $t6, $t6, 0x5ef0 -/* 0C65DC 800C59DC 03A0F025 */ move $fp, $sp -/* 0C65E0 800C59E0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C65E4 800C59E4 11CF000F */ beq $t6, $t7, .L800C5A24 -/* 0C65E8 800C59E8 AFB00024 */ sw $s0, 0x24($sp) -/* 0C65EC 800C59EC 3C018019 */ lui $at, %hi(D_80192C38) # $at, 0x8019 -/* 0C65F0 800C59F0 A0202C38 */ sb $zero, %lo(D_80192C38)($at) -/* 0C65F4 800C59F4 00008025 */ move $s0, $zero -.L800C59F8: -/* 0C65F8 800C59F8 0C031222 */ jal func_800C4888 -/* 0C65FC 800C59FC 320400FF */ andi $a0, $s0, 0xff -/* 0C6600 800C5A00 0C0313F9 */ jal func_800C4FE4 -/* 0C6604 800C5A04 320400FF */ andi $a0, $s0, 0xff -/* 0C6608 800C5A08 0C03165A */ jal func_800C5968 -/* 0C660C 800C5A0C 320400FF */ andi $a0, $s0, 0xff -/* 0C6610 800C5A10 26100001 */ addiu $s0, $s0, 1 -/* 0C6614 800C5A14 321800FF */ andi $t8, $s0, 0xff -/* 0C6618 800C5A18 2B010006 */ slti $at, $t8, 6 -/* 0C661C 800C5A1C 1420FFF6 */ bnez $at, .L800C59F8 -/* 0C6620 800C5A20 03008025 */ move $s0, $t8 -.L800C5A24: -/* 0C6624 800C5A24 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C6628 800C5A28 03C0E825 */ move $sp, $fp -/* 0C662C 800C5A2C 8FD00024 */ lw $s0, 0x24($fp) -/* 0C6630 800C5A30 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C6634 800C5A34 03E00008 */ jr $ra -/* 0C6638 800C5A38 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C5A3C -/* 0C663C 800C5A3C 3C01800F */ lui $at, %hi(D_800EA1B8) # $at, 0x800f -/* 0C6640 800C5A40 A020A1B8 */ sb $zero, %lo(D_800EA1B8)($at) -/* 0C6644 800C5A44 3C01800F */ lui $at, %hi(D_800EA1BC) # $at, 0x800f -/* 0C6648 800C5A48 A020A1BC */ sb $zero, %lo(D_800EA1BC)($at) -/* 0C664C 800C5A4C 3C01800F */ lui $at, %hi(D_800EA1C4) # $at, 0x800f -/* 0C6650 800C5A50 A420A1C4 */ sh $zero, %lo(D_800EA1C4)($at) -/* 0C6654 800C5A54 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C6658 800C5A58 3C098019 */ lui $t1, %hi(D_80192C48) # $t1, 0x8019 -/* 0C665C 800C5A5C 3C088019 */ lui $t0, %hi(D_80192C3C) # $t0, 0x8019 -/* 0C6660 800C5A60 3C078019 */ lui $a3, %hi(D_80192AB0) # $a3, 0x8019 -/* 0C6664 800C5A64 3C058019 */ lui $a1, %hi(D_80192AA8) # $a1, 0x8019 -/* 0C6668 800C5A68 3C048019 */ lui $a0, %hi(D_80192AA0) # $a0, 0x8019 -/* 0C666C 800C5A6C 44810000 */ mtc1 $at, $f0 -/* 0C6670 800C5A70 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C6674 800C5A74 24842AA0 */ addiu $a0, %lo(D_80192AA0) # addiu $a0, $a0, 0x2aa0 -/* 0C6678 800C5A78 24A52AA8 */ addiu $a1, %lo(D_80192AA8) # addiu $a1, $a1, 0x2aa8 -/* 0C667C 800C5A7C 24E72AB0 */ addiu $a3, %lo(D_80192AB0) # addiu $a3, $a3, 0x2ab0 -/* 0C6680 800C5A80 25082C3C */ addiu $t0, %lo(D_80192C3C) # addiu $t0, $t0, 0x2c3c -/* 0C6684 800C5A84 25292C48 */ addiu $t1, %lo(D_80192C48) # addiu $t1, $t1, 0x2c48 -/* 0C6688 800C5A88 00001025 */ move $v0, $zero -/* 0C668C 800C5A8C 24060001 */ li $a2, 1 -.L800C5A90: -/* 0C6690 800C5A90 00827021 */ addu $t6, $a0, $v0 -/* 0C6694 800C5A94 00A27821 */ addu $t7, $a1, $v0 -/* 0C6698 800C5A98 A1C00000 */ sb $zero, ($t6) -/* 0C669C 800C5A9C 00E2C021 */ addu $t8, $a3, $v0 -/* 0C66A0 800C5AA0 0102C821 */ addu $t9, $t0, $v0 -/* 0C66A4 800C5AA4 00025900 */ sll $t3, $v0, 4 -/* 0C66A8 800C5AA8 24420001 */ addiu $v0, $v0, 1 -/* 0C66AC 800C5AAC A1E60000 */ sb $a2, ($t7) -/* 0C66B0 800C5AB0 304C00FF */ andi $t4, $v0, 0xff -/* 0C66B4 800C5AB4 A3000000 */ sb $zero, ($t8) -/* 0C66B8 800C5AB8 29810006 */ slti $at, $t4, 6 -/* 0C66BC 800C5ABC A3200000 */ sb $zero, ($t9) -/* 0C66C0 800C5AC0 012B1821 */ addu $v1, $t1, $t3 -/* 0C66C4 800C5AC4 01801025 */ move $v0, $t4 -/* 0C66C8 800C5AC8 E4600000 */ swc1 $f0, ($v1) -/* 0C66CC 800C5ACC 1420FFF0 */ bnez $at, .L800C5A90 -/* 0C66D0 800C5AD0 A460000C */ sh $zero, 0xc($v1) -/* 0C66D4 800C5AD4 00001025 */ move $v0, $zero -/* 0C66D8 800C5AD8 240700FF */ li $a3, 255 -.L800C5ADC: -/* 0C66DC 800C5ADC 3C0F8019 */ lui $t7, %hi(D_80192AB8) # $t7, 0x8019 -/* 0C66E0 800C5AE0 25EF2AB8 */ addiu $t7, %lo(D_80192AB8) # addiu $t7, $t7, 0x2ab8 -/* 0C66E4 800C5AE4 00027180 */ sll $t6, $v0, 6 -/* 0C66E8 800C5AE8 01CF2021 */ addu $a0, $t6, $t7 -/* 0C66EC 800C5AEC 00001825 */ move $v1, $zero -.L800C5AF0: -/* 0C66F0 800C5AF0 0003C0C0 */ sll $t8, $v1, 3 -/* 0C66F4 800C5AF4 24630001 */ addiu $v1, $v1, 1 -/* 0C66F8 800C5AF8 306B00FF */ andi $t3, $v1, 0xff -/* 0C66FC 800C5AFC 29610008 */ slti $at, $t3, 8 -/* 0C6700 800C5B00 0098C821 */ addu $t9, $a0, $t8 -/* 0C6704 800C5B04 01601825 */ move $v1, $t3 -/* 0C6708 800C5B08 1420FFF9 */ bnez $at, .L800C5AF0 -/* 0C670C 800C5B0C A3270004 */ sb $a3, 4($t9) -/* 0C6710 800C5B10 24420001 */ addiu $v0, $v0, 1 -/* 0C6714 800C5B14 304C00FF */ andi $t4, $v0, 0xff -/* 0C6718 800C5B18 29810006 */ slti $at, $t4, 6 -/* 0C671C 800C5B1C 1420FFEF */ bnez $at, .L800C5ADC -/* 0C6720 800C5B20 01801025 */ move $v0, $t4 -/* 0C6724 800C5B24 3C088019 */ lui $t0, %hi(D_80191420) # $t0, 0x8019 -/* 0C6728 800C5B28 25081420 */ addiu $t0, %lo(D_80191420) # addiu $t0, $t0, 0x1420 -/* 0C672C 800C5B2C 00001025 */ move $v0, $zero -/* 0C6730 800C5B30 240A0030 */ li $t2, 48 -/* 0C6734 800C5B34 240903C0 */ li $t1, 960 -.L800C5B38: -/* 0C6738 800C5B38 00490019 */ multu $v0, $t1 -/* 0C673C 800C5B3C 00027900 */ sll $t7, $v0, 4 -/* 0C6740 800C5B40 01E27823 */ subu $t7, $t7, $v0 -/* 0C6744 800C5B44 000F7980 */ sll $t7, $t7, 6 -/* 0C6748 800C5B48 010F3021 */ addu $a2, $t0, $t7 -/* 0C674C 800C5B4C 24030001 */ li $v1, 1 -/* 0C6750 800C5B50 24040001 */ li $a0, 1 -/* 0C6754 800C5B54 00007012 */ mflo $t6 -/* 0C6758 800C5B58 010E2821 */ addu $a1, $t0, $t6 -/* 0C675C 800C5B5C A0A7002A */ sb $a3, 0x2a($a1) -/* 0C6760 800C5B60 A0A7002B */ sb $a3, 0x2b($a1) -.L800C5B64: -/* 0C6764 800C5B64 006A0019 */ multu $v1, $t2 -/* 0C6768 800C5B68 24630001 */ addiu $v1, $v1, 1 -/* 0C676C 800C5B6C 306C00FF */ andi $t4, $v1, 0xff -/* 0C6770 800C5B70 29810013 */ slti $at, $t4, 0x13 -/* 0C6774 800C5B74 2499FFFF */ addiu $t9, $a0, -1 -/* 0C6778 800C5B78 248B0001 */ addiu $t3, $a0, 1 -/* 0C677C 800C5B7C 01802025 */ move $a0, $t4 -/* 0C6780 800C5B80 01801825 */ move $v1, $t4 -/* 0C6784 800C5B84 0000C012 */ mflo $t8 -/* 0C6788 800C5B88 00D82821 */ addu $a1, $a2, $t8 -/* 0C678C 800C5B8C A0B9002A */ sb $t9, 0x2a($a1) -/* 0C6790 800C5B90 1420FFF4 */ bnez $at, .L800C5B64 -/* 0C6794 800C5B94 A0AB002B */ sb $t3, 0x2b($a1) -/* 0C6798 800C5B98 018A0019 */ multu $t4, $t2 -/* 0C679C 800C5B9C 24420001 */ addiu $v0, $v0, 1 -/* 0C67A0 800C5BA0 305800FF */ andi $t8, $v0, 0xff -/* 0C67A4 800C5BA4 2B010006 */ slti $at, $t8, 6 -/* 0C67A8 800C5BA8 258FFFFF */ addiu $t7, $t4, -1 -/* 0C67AC 800C5BAC 03001025 */ move $v0, $t8 -/* 0C67B0 800C5BB0 00007012 */ mflo $t6 -/* 0C67B4 800C5BB4 00CE2821 */ addu $a1, $a2, $t6 -/* 0C67B8 800C5BB8 A0AF002A */ sb $t7, 0x2a($a1) -/* 0C67BC 800C5BBC 1420FFDE */ bnez $at, .L800C5B38 -/* 0C67C0 800C5BC0 A0A7002B */ sb $a3, 0x2b($a1) -/* 0C67C4 800C5BC4 01A0E825 */ move $sp, $t5 -/* 0C67C8 800C5BC8 03E00008 */ jr $ra -/* 0C67CC 800C5BCC 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C5BD0 -/* 0C67D0 800C5BD0 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f -/* 0C67D4 800C5BD4 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6) -/* 0C67D8 800C5BD8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C67DC 800C5BDC AFBE0028 */ sw $fp, 0x28($sp) -/* 0C67E0 800C5BE0 03A0F025 */ move $fp, $sp -/* 0C67E4 800C5BE4 15C0000D */ bnez $t6, .L800C5C1C -/* 0C67E8 800C5BE8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C67EC 800C5BEC 3C0F800F */ lui $t7, %hi(gPlayers+0x254) # $t7, 0x800f -/* 0C67F0 800C5BF0 95EF6BE4 */ lhu $t7, %lo(gPlayers+0x254)($t7) -/* 0C67F4 800C5BF4 3C04800F */ lui $a0, %hi(D_800EA154) -/* 0C67F8 800C5BF8 3C01F300 */ lui $at, 0xf300 -/* 0C67FC 800C5BFC 008F2021 */ addu $a0, $a0, $t7 -/* 0C6800 800C5C00 9098A154 */ lbu $t8, %lo(D_800EA154)($a0) -/* 0C6804 800C5C04 00002825 */ move $a1, $zero -/* 0C6808 800C5C08 0018CA00 */ sll $t9, $t8, 8 -/* 0C680C 800C5C0C 0C032EFA */ jal func_800CBBE8 -/* 0C6810 800C5C10 03212025 */ or $a0, $t9, $at -/* 0C6814 800C5C14 10000006 */ b .L800C5C30 -/* 0C6818 800C5C18 8FDF002C */ lw $ra, 0x2c($fp) -.L800C5C1C: -/* 0C681C 800C5C1C 3C04F300 */ lui $a0, (0xF3004D00 >> 16) # lui $a0, 0xf300 -/* 0C6820 800C5C20 34844D00 */ ori $a0, (0xF3004D00 & 0xFFFF) # ori $a0, $a0, 0x4d00 -/* 0C6824 800C5C24 0C032EFA */ jal func_800CBBE8 -/* 0C6828 800C5C28 00002825 */ move $a1, $zero -/* 0C682C 800C5C2C 8FDF002C */ lw $ra, 0x2c($fp) -.L800C5C30: -/* 0C6830 800C5C30 03C0E825 */ move $sp, $fp -/* 0C6834 800C5C34 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C6838 800C5C38 03E00008 */ jr $ra -/* 0C683C 800C5C3C 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C5C40 -/* 0C6840 800C5C40 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C6844 800C5C44 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C6848 800C5C48 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C684C 800C5C4C 0C03091D */ jal func_800C2474 -/* 0C6850 800C5C50 03A0F025 */ move $fp, $sp -/* 0C6854 800C5C54 3C03800F */ lui $v1, %hi(D_800E9DA0) # $v1, 0x800f -/* 0C6858 800C5C58 24639DA0 */ addiu $v1, %lo(D_800E9DA0) # addiu $v1, $v1, -0x6260 -/* 0C685C 800C5C5C 90620000 */ lbu $v0, ($v1) -/* 0C6860 800C5C60 10400005 */ beqz $v0, .L800C5C78 -/* 0C6864 800C5C64 244E0001 */ addiu $t6, $v0, 1 -/* 0C6868 800C5C68 0C031003 */ jal func_800C400C -/* 0C686C 800C5C6C 00000000 */ nop -/* 0C6870 800C5C70 10000003 */ b .L800C5C80 -/* 0C6874 800C5C74 00000000 */ nop -.L800C5C78: -/* 0C6878 800C5C78 0C030FDC */ jal func_800C3F70 -/* 0C687C 800C5C7C A06E0000 */ sb $t6, ($v1) -.L800C5C80: -/* 0C6880 800C5C80 0C03168F */ jal func_800C5A3C -/* 0C6884 800C5C84 00000000 */ nop -/* 0C6888 800C5C88 24040002 */ li $a0, 2 -/* 0C688C 800C5C8C 00002825 */ move $a1, $zero -/* 0C6890 800C5C90 240600FF */ li $a2, 255 -/* 0C6894 800C5C94 0C030A13 */ jal func_800C284C -/* 0C6898 800C5C98 24070001 */ li $a3, 1 -/* 0C689C 800C5C9C 0C0316F4 */ jal func_800C5BD0 -/* 0C68A0 800C5CA0 00000000 */ nop -/* 0C68A4 800C5CA4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C68A8 800C5CA8 03C0E825 */ move $sp, $fp -/* 0C68AC 800C5CAC 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C68B0 800C5CB0 03E00008 */ jr $ra -/* 0C68B4 800C5CB4 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C5CB8 -/* 0C68B8 800C5CB8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C68BC 800C5CBC AFBF002C */ sw $ra, 0x2c($sp) -/* 0C68C0 800C5CC0 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C68C4 800C5CC4 0C03091D */ jal func_800C2474 -/* 0C68C8 800C5CC8 03A0F025 */ move $fp, $sp -/* 0C68CC 800C5CCC 0C030FDC */ jal func_800C3F70 -/* 0C68D0 800C5CD0 00000000 */ nop -/* 0C68D4 800C5CD4 0C03168F */ jal func_800C5A3C -/* 0C68D8 800C5CD8 00000000 */ nop -/* 0C68DC 800C5CDC 24040002 */ li $a0, 2 -/* 0C68E0 800C5CE0 00002825 */ move $a1, $zero -/* 0C68E4 800C5CE4 240600FF */ li $a2, 255 -/* 0C68E8 800C5CE8 0C030A13 */ jal func_800C284C -/* 0C68EC 800C5CEC 24070001 */ li $a3, 1 -/* 0C68F0 800C5CF0 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C68F4 800C5CF4 03C0E825 */ move $sp, $fp -/* 0C68F8 800C5CF8 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C68FC 800C5CFC 03E00008 */ jr $ra -/* 0C6900 800C5D00 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C5D04 -/* 0C6904 800C5D04 308500FF */ andi $a1, $a0, 0xff -/* 0C6908 800C5D08 000570C0 */ sll $t6, $a1, 3 -/* 0C690C 800C5D0C 01C57023 */ subu $t6, $t6, $a1 -/* 0C6910 800C5D10 000E7100 */ sll $t6, $t6, 4 -/* 0C6914 800C5D14 01C57023 */ subu $t6, $t6, $a1 -/* 0C6918 800C5D18 000E7080 */ sll $t6, $t6, 2 -/* 0C691C 800C5D1C 01C57023 */ subu $t6, $t6, $a1 -/* 0C6920 800C5D20 000E70C0 */ sll $t6, $t6, 3 -/* 0C6924 800C5D24 3C0F800F */ lui $t7, %hi(gPlayers+0x44) -/* 0C6928 800C5D28 01EE7821 */ addu $t7, $t7, $t6 -/* 0C692C 800C5D2C 85EF69D4 */ lh $t7, %lo(gPlayers+0x44)($t7) -/* 0C6930 800C5D30 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C6934 800C5D34 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C6938 800C5D38 24010020 */ li $at, 32 -/* 0C693C 800C5D3C 31F80020 */ andi $t8, $t7, 0x20 -/* 0C6940 800C5D40 03A0F025 */ move $fp, $sp -/* 0C6944 800C5D44 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C6948 800C5D48 17010025 */ bne $t8, $at, .L800C5DE0 -/* 0C694C 800C5D4C AFA40030 */ sw $a0, 0x30($sp) -/* 0C6950 800C5D50 00051080 */ sll $v0, $a1, 2 -/* 0C6954 800C5D54 3C01800F */ lui $at, %hi(D_800E9E34) -/* 0C6958 800C5D58 3C19800F */ lui $t9, %hi(D_800E9E24) # $t9, 0x800f -/* 0C695C 800C5D5C 00220821 */ addu $at, $at, $v0 -/* 0C6960 800C5D60 27399E24 */ addiu $t9, %lo(D_800E9E24) # addiu $t9, $t9, -0x61dc -/* 0C6964 800C5D64 AC209E34 */ sw $zero, %lo(D_800E9E34)($at) -/* 0C6968 800C5D68 00592021 */ addu $a0, $v0, $t9 -/* 0C696C 800C5D6C 8C830000 */ lw $v1, ($a0) -/* 0C6970 800C5D70 3C0A800F */ lui $t2, %hi(D_800EA0EC) # $t2, 0x800f -/* 0C6974 800C5D74 3C08800F */ lui $t0, %hi(D_800EA16C) # $t0, 0x800f -/* 0C6978 800C5D78 28614E20 */ slti $at, $v1, 0x4e20 -/* 0C697C 800C5D7C 10200007 */ beqz $at, .L800C5D9C -/* 0C6980 800C5D80 254AA0EC */ addiu $t2, %lo(D_800EA0EC) # addiu $t2, $t2, -0x5f14 -/* 0C6984 800C5D84 9108A16C */ lbu $t0, %lo(D_800EA16C)($t0) -/* 0C6988 800C5D88 24690001 */ addiu $t1, $v1, 1 -/* 0C698C 800C5D8C 55000004 */ bnel $t0, $zero, .L800C5DA0 -/* 0C6990 800C5D90 24010001 */ li $at, 1 -/* 0C6994 800C5D94 AC890000 */ sw $t1, ($a0) -/* 0C6998 800C5D98 01201825 */ move $v1, $t1 -.L800C5D9C: -/* 0C699C 800C5D9C 24010001 */ li $at, 1 -.L800C5DA0: -/* 0C69A0 800C5DA0 14610020 */ bne $v1, $at, .L800C5E24 -/* 0C69A4 800C5DA4 00AA1821 */ addu $v1, $a1, $t2 -/* 0C69A8 800C5DA8 90620000 */ lbu $v0, ($v1) -/* 0C69AC 800C5DAC 24010002 */ li $at, 2 -/* 0C69B0 800C5DB0 30A400FF */ andi $a0, $a1, 0xff -/* 0C69B4 800C5DB4 10400004 */ beqz $v0, .L800C5DC8 -/* 0C69B8 800C5DB8 00000000 */ nop -/* 0C69BC 800C5DBC 14410019 */ bne $v0, $at, .L800C5E24 -/* 0C69C0 800C5DC0 240B0001 */ li $t3, 1 -/* 0C69C4 800C5DC4 A06B0000 */ sb $t3, ($v1) -.L800C5DC8: -/* 0C69C8 800C5DC8 0C0325F1 */ jal func_800C97C4 -/* 0C69CC 800C5DCC A3C50033 */ sb $a1, 0x33($fp) -/* 0C69D0 800C5DD0 0C032529 */ jal func_800C94A4 -/* 0C69D4 800C5DD4 93C40033 */ lbu $a0, 0x33($fp) -/* 0C69D8 800C5DD8 10000013 */ b .L800C5E28 -/* 0C69DC 800C5DDC 8FDF002C */ lw $ra, 0x2c($fp) -.L800C5DE0: -/* 0C69E0 800C5DE0 00051080 */ sll $v0, $a1, 2 -/* 0C69E4 800C5DE4 3C01800F */ lui $at, %hi(D_800E9E24) -/* 0C69E8 800C5DE8 3C0C800F */ lui $t4, %hi(D_800E9E34) # $t4, 0x800f -/* 0C69EC 800C5DEC 00220821 */ addu $at, $at, $v0 -/* 0C69F0 800C5DF0 258C9E34 */ addiu $t4, %lo(D_800E9E34) # addiu $t4, $t4, -0x61cc -/* 0C69F4 800C5DF4 AC209E24 */ sw $zero, %lo(D_800E9E24)($at) -/* 0C69F8 800C5DF8 004C1821 */ addu $v1, $v0, $t4 -/* 0C69FC 800C5DFC 8C640000 */ lw $a0, ($v1) -/* 0C6A00 800C5E00 3C0D800F */ lui $t5, %hi(D_800EA16C) # $t5, 0x800f -/* 0C6A04 800C5E04 28814E20 */ slti $at, $a0, 0x4e20 -/* 0C6A08 800C5E08 50200007 */ beql $at, $zero, .L800C5E28 -/* 0C6A0C 800C5E0C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C6A10 800C5E10 91ADA16C */ lbu $t5, %lo(D_800EA16C)($t5) -/* 0C6A14 800C5E14 248E0001 */ addiu $t6, $a0, 1 -/* 0C6A18 800C5E18 55A00003 */ bnel $t5, $zero, .L800C5E28 -/* 0C6A1C 800C5E1C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C6A20 800C5E20 AC6E0000 */ sw $t6, ($v1) -.L800C5E24: -/* 0C6A24 800C5E24 8FDF002C */ lw $ra, 0x2c($fp) -.L800C5E28: -/* 0C6A28 800C5E28 03C0E825 */ move $sp, $fp -/* 0C6A2C 800C5E2C 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C6A30 800C5E30 03E00008 */ jr $ra -/* 0C6A34 800C5E34 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C5E38 -/* 0C6A38 800C5E38 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0C6A3C 800C5E3C 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0C6A40 800C5E40 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0C6A44 800C5E44 AFBE0030 */ sw $fp, 0x30($sp) -/* 0C6A48 800C5E48 03A0F025 */ move $fp, $sp -/* 0C6A4C 800C5E4C AFBF0034 */ sw $ra, 0x34($sp) -/* 0C6A50 800C5E50 AFA40048 */ sw $a0, 0x48($sp) -/* 0C6A54 800C5E54 15C000A7 */ bnez $t6, .L800C60F4 -/* 0C6A58 800C5E58 308600FF */ andi $a2, $a0, 0xff -/* 0C6A5C 800C5E5C 000678C0 */ sll $t7, $a2, 3 -/* 0C6A60 800C5E60 01E67823 */ subu $t7, $t7, $a2 -/* 0C6A64 800C5E64 000F7900 */ sll $t7, $t7, 4 -/* 0C6A68 800C5E68 01E67823 */ subu $t7, $t7, $a2 -/* 0C6A6C 800C5E6C 000F7880 */ sll $t7, $t7, 2 -/* 0C6A70 800C5E70 01E67823 */ subu $t7, $t7, $a2 -/* 0C6A74 800C5E74 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 0C6A78 800C5E78 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 0C6A7C 800C5E7C 000F78C0 */ sll $t7, $t7, 3 -/* 0C6A80 800C5E80 01F83821 */ addu $a3, $t7, $t8 -/* 0C6A84 800C5E84 84F90044 */ lh $t9, 0x44($a3) -/* 0C6A88 800C5E88 24010020 */ li $at, 32 -/* 0C6A8C 800C5E8C 00061080 */ sll $v0, $a2, 2 -/* 0C6A90 800C5E90 33290020 */ andi $t1, $t9, 0x20 -/* 0C6A94 800C5E94 1121005C */ beq $t1, $at, .L800C6008 -/* 0C6A98 800C5E98 3C19800F */ lui $t9, %hi(D_800E9E24) -/* 0C6A9C 800C5E9C 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 0C6AA0 800C5EA0 44812000 */ mtc1 $at, $f4 -/* 0C6AA4 800C5EA4 C4E60098 */ lwc1 $f6, 0x98($a3) -/* 0C6AA8 800C5EA8 3C0A800F */ lui $t2, %hi(D_800EA0EC) # $t2, 0x800f -/* 0C6AAC 800C5EAC 254AA0EC */ addiu $t2, %lo(D_800EA0EC) # addiu $t2, $t2, -0x5f14 -/* 0C6AB0 800C5EB0 4606203C */ c.lt.s $f4, $f6 -/* 0C6AB4 800C5EB4 24040001 */ li $a0, 1 -/* 0C6AB8 800C5EB8 3C01800F */ lui $at, %hi(D_800E9E14) -/* 0C6ABC 800C5EBC 00CA4021 */ addu $t0, $a2, $t2 -/* 0C6AC0 800C5EC0 45000051 */ bc1f .L800C6008 -/* 0C6AC4 800C5EC4 00066100 */ sll $t4, $a2, 4 -/* 0C6AC8 800C5EC8 00061080 */ sll $v0, $a2, 2 -/* 0C6ACC 800C5ECC 00220821 */ addu $at, $at, $v0 -/* 0C6AD0 800C5ED0 AC249E14 */ sw $a0, %lo(D_800E9E14)($at) -/* 0C6AD4 800C5ED4 91030000 */ lbu $v1, ($t0) -/* 0C6AD8 800C5ED8 01866023 */ subu $t4, $t4, $a2 -/* 0C6ADC 800C5EDC 000C6080 */ sll $t4, $t4, 2 -/* 0C6AE0 800C5EE0 1460000D */ bnez $v1, .L800C5F18 -/* 0C6AE4 800C5EE4 3C0D800F */ lui $t5, %hi(D_800E9F7C) # $t5, 0x800f -/* 0C6AE8 800C5EE8 3C01800F */ lui $at, %hi(D_800F3674) # $at, 0x800f -/* 0C6AEC 800C5EEC C4283674 */ lwc1 $f8, %lo(D_800F3674)($at) -/* 0C6AF0 800C5EF0 3C01800F */ lui $at, %hi(D_800E9F54) -/* 0C6AF4 800C5EF4 00220821 */ addu $at, $at, $v0 -/* 0C6AF8 800C5EF8 C42A9F54 */ lwc1 $f10, %lo(D_800E9F54)($at) -/* 0C6AFC 800C5EFC 00065900 */ sll $t3, $a2, 4 -/* 0C6B00 800C5F00 01665823 */ subu $t3, $t3, $a2 -/* 0C6B04 800C5F04 460A4401 */ sub.s $f16, $f8, $f10 -/* 0C6B08 800C5F08 000B5880 */ sll $t3, $t3, 2 -/* 0C6B0C 800C5F0C 3C01800F */ lui $at, %hi(D_800E9F8C) -/* 0C6B10 800C5F10 002B0821 */ addu $at, $at, $t3 -/* 0C6B14 800C5F14 E4309F8C */ swc1 $f16, %lo(D_800E9F8C)($at) -.L800C5F18: -/* 0C6B18 800C5F18 25AD9F7C */ addiu $t5, %lo(D_800E9F7C) # addiu $t5, $t5, -0x6084 -/* 0C6B1C 800C5F1C 018D2821 */ addu $a1, $t4, $t5 -/* 0C6B20 800C5F20 C4B20030 */ lwc1 $f18, 0x30($a1) -/* 0C6B24 800C5F24 3C01800F */ lui $at, %hi(D_800E9DC4) -/* 0C6B28 800C5F28 00220821 */ addu $at, $at, $v0 -/* 0C6B2C 800C5F2C 3C0E800F */ lui $t6, %hi(D_800E9E34) -/* 0C6B30 800C5F30 01C27021 */ addu $t6, $t6, $v0 -/* 0C6B34 800C5F34 E4329DC4 */ swc1 $f18, %lo(D_800E9DC4)($at) -/* 0C6B38 800C5F38 8DCE9E34 */ lw $t6, %lo(D_800E9E34)($t6) -/* 0C6B3C 800C5F3C C4A40024 */ lwc1 $f4, 0x24($a1) -/* 0C6B40 800C5F40 3C01800F */ lui $at, %hi(D_800E9DD4) -/* 0C6B44 800C5F44 00220821 */ addu $at, $at, $v0 -/* 0C6B48 800C5F48 148E006A */ bne $a0, $t6, .L800C60F4 -/* 0C6B4C 800C5F4C E4249DD4 */ swc1 $f4, %lo(D_800E9DD4)($at) -/* 0C6B50 800C5F50 3C0F800F */ lui $t7, %hi(D_800EA16C) # $t7, 0x800f -/* 0C6B54 800C5F54 91EFA16C */ lbu $t7, %lo(D_800EA16C)($t7) -/* 0C6B58 800C5F58 55E00067 */ bnel $t7, $zero, .L800C60F8 -/* 0C6B5C 800C5F5C 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C6B60 800C5F60 10600004 */ beqz $v1, .L800C5F74 -/* 0C6B64 800C5F64 24010002 */ li $at, 2 -/* 0C6B68 800C5F68 14610062 */ bne $v1, $at, .L800C60F4 -/* 0C6B6C 800C5F6C 24180001 */ li $t8, 1 -/* 0C6B70 800C5F70 A1180000 */ sb $t8, ($t0) -.L800C5F74: -/* 0C6B74 800C5F74 3C19800F */ lui $t9, %hi(D_800E9F74) -/* 0C6B78 800C5F78 0326C821 */ addu $t9, $t9, $a2 -/* 0C6B7C 800C5F7C 93399F74 */ lbu $t9, %lo(D_800E9F74)($t9) -/* 0C6B80 800C5F80 5720005D */ bnel $t9, $zero, .L800C60F8 -/* 0C6B84 800C5F84 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C6B88 800C5F88 94E90254 */ lhu $t1, 0x254($a3) -/* 0C6B8C 800C5F8C 24010003 */ li $at, 3 -/* 0C6B90 800C5F90 3C0A800F */ lui $t2, %hi(D_800EA1C0) # $t2, 0x800f -/* 0C6B94 800C5F94 51210058 */ beql $t1, $at, .L800C60F8 -/* 0C6B98 800C5F98 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C6B9C 800C5F9C 914AA1C0 */ lbu $t2, %lo(D_800EA1C0)($t2) -/* 0C6BA0 800C5FA0 3C040100 */ lui $a0, (0x01008026 >> 16) # lui $a0, 0x100 -/* 0C6BA4 800C5FA4 34848026 */ ori $a0, (0x01008026 & 0xFFFF) # ori $a0, $a0, 0x8026 -/* 0C6BA8 800C5FA8 29410002 */ slti $at, $t2, 2 -/* 0C6BAC 800C5FAC 1020000D */ beqz $at, .L800C5FE4 -/* 0C6BB0 800C5FB0 24A70038 */ addiu $a3, $a1, 0x38 -/* 0C6BB4 800C5FB4 3C0B800F */ lui $t3, %hi(D_800E9F04) # $t3, 0x800f -/* 0C6BB8 800C5FB8 256B9F04 */ addiu $t3, %lo(D_800E9F04) # addiu $t3, $t3, -0x60fc -/* 0C6BBC 800C5FBC 004B6021 */ addu $t4, $v0, $t3 -/* 0C6BC0 800C5FC0 3C040100 */ lui $a0, (0x0100F926 >> 16) # lui $a0, 0x100 -/* 0C6BC4 800C5FC4 24AD0014 */ addiu $t5, $a1, 0x14 -/* 0C6BC8 800C5FC8 AFAD0014 */ sw $t5, 0x14($sp) -/* 0C6BCC 800C5FCC 3484F926 */ ori $a0, (0x0100F926 & 0xFFFF) # ori $a0, $a0, 0xf926 -/* 0C6BD0 800C5FD0 AFAC0010 */ sw $t4, 0x10($sp) -/* 0C6BD4 800C5FD4 0C031052 */ jal play_sound -/* 0C6BD8 800C5FD8 24A70038 */ addiu $a3, $a1, 0x38 -/* 0C6BDC 800C5FDC 10000046 */ b .L800C60F8 -/* 0C6BE0 800C5FE0 8FDF0034 */ lw $ra, 0x34($fp) -.L800C5FE4: -/* 0C6BE4 800C5FE4 3C0E800F */ lui $t6, %hi(D_800E9F04) # $t6, 0x800f -/* 0C6BE8 800C5FE8 25CE9F04 */ addiu $t6, %lo(D_800E9F04) # addiu $t6, $t6, -0x60fc -/* 0C6BEC 800C5FEC 004E7821 */ addu $t7, $v0, $t6 -/* 0C6BF0 800C5FF0 24B80014 */ addiu $t8, $a1, 0x14 -/* 0C6BF4 800C5FF4 AFB80014 */ sw $t8, 0x14($sp) -/* 0C6BF8 800C5FF8 0C031052 */ jal play_sound -/* 0C6BFC 800C5FFC AFAF0010 */ sw $t7, 0x10($sp) -/* 0C6C00 800C6000 1000003D */ b .L800C60F8 -/* 0C6C04 800C6004 8FDF0034 */ lw $ra, 0x34($fp) -.L800C6008: -/* 0C6C08 800C6008 0322C821 */ addu $t9, $t9, $v0 -/* 0C6C0C 800C600C 8F399E24 */ lw $t9, %lo(D_800E9E24)($t9) -/* 0C6C10 800C6010 2401000A */ li $at, 10 -/* 0C6C14 800C6014 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f -/* 0C6C18 800C6018 17210015 */ bne $t9, $at, .L800C6070 -/* 0C6C1C 800C601C 00000000 */ nop -/* 0C6C20 800C6020 9129A1C0 */ lbu $t1, %lo(D_800EA1C0)($t1) -/* 0C6C24 800C6024 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100 -/* 0C6C28 800C6028 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026 -/* 0C6C2C 800C602C 29210002 */ slti $at, $t1, 2 -/* 0C6C30 800C6030 1020000A */ beqz $at, .L800C605C -/* 0C6C34 800C6034 30C400FF */ andi $a0, $a2, 0xff -/* 0C6C38 800C6038 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100 -/* 0C6C3C 800C603C 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926 -/* 0C6C40 800C6040 30C400FF */ andi $a0, $a2, 0xff -/* 0C6C44 800C6044 AFC2003C */ sw $v0, 0x3c($fp) -/* 0C6C48 800C6048 0C032406 */ jal func_800C9018 -/* 0C6C4C 800C604C A3C6004B */ sb $a2, 0x4b($fp) -/* 0C6C50 800C6050 8FC2003C */ lw $v0, 0x3c($fp) -/* 0C6C54 800C6054 10000006 */ b .L800C6070 -/* 0C6C58 800C6058 93C6004B */ lbu $a2, 0x4b($fp) -.L800C605C: -/* 0C6C5C 800C605C AFC2003C */ sw $v0, 0x3c($fp) -/* 0C6C60 800C6060 0C032406 */ jal func_800C9018 -/* 0C6C64 800C6064 A3C6004B */ sb $a2, 0x4b($fp) -/* 0C6C68 800C6068 8FC2003C */ lw $v0, 0x3c($fp) -/* 0C6C6C 800C606C 93C6004B */ lbu $a2, 0x4b($fp) -.L800C6070: -/* 0C6C70 800C6070 3C01800F */ lui $at, %hi(D_800E9E14) -/* 0C6C74 800C6074 00220821 */ addu $at, $at, $v0 -/* 0C6C78 800C6078 AC209E14 */ sw $zero, %lo(D_800E9E14)($at) -/* 0C6C7C 800C607C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C6C80 800C6080 44813000 */ mtc1 $at, $f6 -/* 0C6C84 800C6084 3C01800F */ lui $at, %hi(D_800E9F54) -/* 0C6C88 800C6088 00220821 */ addu $at, $at, $v0 -/* 0C6C8C 800C608C C4289F54 */ lwc1 $f8, %lo(D_800E9F54)($at) -/* 0C6C90 800C6090 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C6C94 800C6094 00220821 */ addu $at, $at, $v0 -/* 0C6C98 800C6098 46083001 */ sub.s $f0, $f6, $f8 -/* 0C6C9C 800C609C C422A130 */ lwc1 $f2, %lo(D_800EA130)($at) -/* 0C6CA0 800C60A0 00065100 */ sll $t2, $a2, 4 -/* 0C6CA4 800C60A4 01465023 */ subu $t2, $t2, $a2 -/* 0C6CA8 800C60A8 4602003C */ c.lt.s $f0, $f2 -/* 0C6CAC 800C60AC 3C0B800F */ lui $t3, %hi(D_800E9F7C) # $t3, 0x800f -/* 0C6CB0 800C60B0 46020281 */ sub.s $f10, $f0, $f2 -/* 0C6CB4 800C60B4 256B9F7C */ addiu $t3, %lo(D_800E9F7C) # addiu $t3, $t3, -0x6084 -/* 0C6CB8 800C60B8 000A5080 */ sll $t2, $t2, 2 -/* 0C6CBC 800C60BC 014B2821 */ addu $a1, $t2, $t3 -/* 0C6CC0 800C60C0 45000004 */ bc1f .L800C60D4 -/* 0C6CC4 800C60C4 E4AA0010 */ swc1 $f10, 0x10($a1) -/* 0C6CC8 800C60C8 44808000 */ mtc1 $zero, $f16 -/* 0C6CCC 800C60CC 00000000 */ nop -/* 0C6CD0 800C60D0 E4B00010 */ swc1 $f16, 0x10($a1) -.L800C60D4: -/* 0C6CD4 800C60D4 C4B2002C */ lwc1 $f18, 0x2c($a1) -/* 0C6CD8 800C60D8 3C01800F */ lui $at, %hi(D_800E9DC4) -/* 0C6CDC 800C60DC 00220821 */ addu $at, $at, $v0 -/* 0C6CE0 800C60E0 E4329DC4 */ swc1 $f18, %lo(D_800E9DC4)($at) -/* 0C6CE4 800C60E4 C4A40020 */ lwc1 $f4, 0x20($a1) -/* 0C6CE8 800C60E8 3C01800F */ lui $at, %hi(D_800E9DD4) -/* 0C6CEC 800C60EC 00220821 */ addu $at, $at, $v0 -/* 0C6CF0 800C60F0 E4249DD4 */ swc1 $f4, %lo(D_800E9DD4)($at) -.L800C60F4: -/* 0C6CF4 800C60F4 8FDF0034 */ lw $ra, 0x34($fp) -.L800C60F8: -/* 0C6CF8 800C60F8 03C0E825 */ move $sp, $fp -/* 0C6CFC 800C60FC 8FDE0030 */ lw $fp, 0x30($fp) -/* 0C6D00 800C6100 03E00008 */ jr $ra -/* 0C6D04 800C6104 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_800C6108 -/* 0C6D08 800C6108 308600FF */ andi $a2, $a0, 0xff -/* 0C6D0C 800C610C 000678C0 */ sll $t7, $a2, 3 -/* 0C6D10 800C6110 01E67823 */ subu $t7, $t7, $a2 -/* 0C6D14 800C6114 000F7900 */ sll $t7, $t7, 4 -/* 0C6D18 800C6118 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C6D1C 800C611C 01E67823 */ subu $t7, $t7, $a2 -/* 0C6D20 800C6120 00061080 */ sll $v0, $a2, 2 -/* 0C6D24 800C6124 3C01800F */ lui $at, %hi(D_800E9DD4) -/* 0C6D28 800C6128 ADA40010 */ sw $a0, 0x10($t5) -/* 0C6D2C 800C612C 00220821 */ addu $at, $at, $v0 -/* 0C6D30 800C6130 000F7880 */ sll $t7, $t7, 2 -/* 0C6D34 800C6134 C4249DD4 */ lwc1 $f4, %lo(D_800E9DD4)($at) -/* 0C6D38 800C6138 01E67823 */ subu $t7, $t7, $a2 -/* 0C6D3C 800C613C 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 0C6D40 800C6140 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 0C6D44 800C6144 000F78C0 */ sll $t7, $t7, 3 -/* 0C6D48 800C6148 3C01800F */ lui $at, %hi(D_800E9DC4) -/* 0C6D4C 800C614C 00220821 */ addu $at, $at, $v0 -/* 0C6D50 800C6150 01F81821 */ addu $v1, $t7, $t8 -/* 0C6D54 800C6154 C4600098 */ lwc1 $f0, 0x98($v1) -/* 0C6D58 800C6158 C4269DC4 */ lwc1 $f6, %lo(D_800E9DC4)($at) -/* 0C6D5C 800C615C 3C0144E1 */ li $at, 0x44E10000 # 1800.000000 -/* 0C6D60 800C6160 44818000 */ mtc1 $at, $f16 -/* 0C6D64 800C6164 46060203 */ div.s $f8, $f0, $f6 -/* 0C6D68 800C6168 3C0E800F */ lui $t6, %hi(D_800E9E64) # $t6, 0x800f -/* 0C6D6C 800C616C 25CE9E64 */ addiu $t6, %lo(D_800E9E64) # addiu $t6, $t6, -0x619c -/* 0C6D70 800C6170 004E3821 */ addu $a3, $v0, $t6 -/* 0C6D74 800C6174 4610003C */ c.lt.s $f0, $f16 -/* 0C6D78 800C6178 46082280 */ add.s $f10, $f4, $f8 -/* 0C6D7C 800C617C 45000010 */ bc1f .L800C61C0 -/* 0C6D80 800C6180 E4EA0000 */ swc1 $f10, ($a3) -/* 0C6D84 800C6184 84790044 */ lh $t9, 0x44($v1) -/* 0C6D88 800C6188 24010020 */ li $at, 32 -/* 0C6D8C 800C618C 00066100 */ sll $t4, $a2, 4 -/* 0C6D90 800C6190 332B0020 */ andi $t3, $t9, 0x20 -/* 0C6D94 800C6194 1161000A */ beq $t3, $at, .L800C61C0 -/* 0C6D98 800C6198 01866023 */ subu $t4, $t4, $a2 -/* 0C6D9C 800C619C 3C0E800F */ lui $t6, %hi(D_800E9F7C) # $t6, 0x800f -/* 0C6DA0 800C61A0 25CE9F7C */ addiu $t6, %lo(D_800E9F7C) # addiu $t6, $t6, -0x6084 -/* 0C6DA4 800C61A4 000C6080 */ sll $t4, $t4, 2 -/* 0C6DA8 800C61A8 018E2821 */ addu $a1, $t4, $t6 -/* 0C6DAC 800C61AC C4A60034 */ lwc1 $f6, 0x34($a1) -/* 0C6DB0 800C61B0 C4B20028 */ lwc1 $f18, 0x28($a1) -/* 0C6DB4 800C61B4 46060103 */ div.s $f4, $f0, $f6 -/* 0C6DB8 800C61B8 46049200 */ add.s $f8, $f18, $f4 -/* 0C6DBC 800C61BC E4E80000 */ swc1 $f8, ($a3) -.L800C61C0: -/* 0C6DC0 800C61C0 3C014098 */ li $at, 0x40980000 # 4.750000 -/* 0C6DC4 800C61C4 44815000 */ mtc1 $at, $f10 -/* 0C6DC8 800C61C8 C4700094 */ lwc1 $f16, 0x94($v1) -/* 0C6DCC 800C61CC 00067900 */ sll $t7, $a2, 4 -/* 0C6DD0 800C61D0 01E67823 */ subu $t7, $t7, $a2 -/* 0C6DD4 800C61D4 4610503C */ c.lt.s $f10, $f16 -/* 0C6DD8 800C61D8 3C18800F */ lui $t8, %hi(D_800E9F7C) # $t8, 0x800f -/* 0C6DDC 800C61DC 27189F7C */ addiu $t8, %lo(D_800E9F7C) # addiu $t8, $t8, -0x6084 -/* 0C6DE0 800C61E0 000F7880 */ sll $t7, $t7, 2 -/* 0C6DE4 800C61E4 45000017 */ bc1f .L800C6244 -/* 0C6DE8 800C61E8 01F82821 */ addu $a1, $t7, $t8 -/* 0C6DEC 800C61EC 3C01800F */ lui $at, %hi(D_800F3678) # $at, 0x800f -/* 0C6DF0 800C61F0 C4243678 */ lwc1 $f4, %lo(D_800F3678)($at) -/* 0C6DF4 800C61F4 C4B20018 */ lwc1 $f18, 0x18($a1) -/* 0C6DF8 800C61F8 3C19800F */ lui $t9, %hi(D_800E9EB4) # $t9, 0x800f -/* 0C6DFC 800C61FC 27399EB4 */ addiu $t9, %lo(D_800E9EB4) # addiu $t9, $t9, -0x614c -/* 0C6E00 800C6200 46049200 */ add.s $f8, $f18, $f4 -/* 0C6E04 800C6204 00592021 */ addu $a0, $v0, $t9 -/* 0C6E08 800C6208 C4860000 */ lwc1 $f6, ($a0) -/* 0C6E0C 800C620C 3C0B800F */ lui $t3, %hi(D_800E9DE4) # $t3, 0x800f -/* 0C6E10 800C6210 256B9DE4 */ addiu $t3, %lo(D_800E9DE4) # addiu $t3, $t3, -0x621c -/* 0C6E14 800C6214 4608303C */ c.lt.s $f6, $f8 -/* 0C6E18 800C6218 3C0C800F */ lui $t4, %hi(D_800E9DE4) # $t4, 0x800f -/* 0C6E1C 800C621C 258C9DE4 */ addiu $t4, %lo(D_800E9DE4) # addiu $t4, $t4, -0x621c -/* 0C6E20 800C6220 004B4021 */ addu $t0, $v0, $t3 -/* 0C6E24 800C6224 45000005 */ bc1f .L800C623C -/* 0C6E28 800C6228 3C01800F */ lui $at, %hi(D_800F367C) # $at, 0x800f -/* 0C6E2C 800C622C C50A0000 */ lwc1 $f10, ($t0) -/* 0C6E30 800C6230 C430367C */ lwc1 $f16, %lo(D_800F367C)($at) -/* 0C6E34 800C6234 46105480 */ add.s $f18, $f10, $f16 -/* 0C6E38 800C6238 E5120000 */ swc1 $f18, ($t0) -.L800C623C: -/* 0C6E3C 800C623C 10000009 */ b .L800C6264 -/* 0C6E40 800C6240 004C4021 */ addu $t0, $v0, $t4 -.L800C6244: -/* 0C6E44 800C6244 44802000 */ mtc1 $zero, $f4 -/* 0C6E48 800C6248 3C0E800F */ lui $t6, %hi(D_800E9DE4) # $t6, 0x800f -/* 0C6E4C 800C624C 25CE9DE4 */ addiu $t6, %lo(D_800E9DE4) # addiu $t6, $t6, -0x621c -/* 0C6E50 800C6250 3C0F800F */ lui $t7, %hi(D_800E9EB4) # $t7, 0x800f -/* 0C6E54 800C6254 25EF9EB4 */ addiu $t7, %lo(D_800E9EB4) # addiu $t7, $t7, -0x614c -/* 0C6E58 800C6258 004E4021 */ addu $t0, $v0, $t6 -/* 0C6E5C 800C625C 004F2021 */ addu $a0, $v0, $t7 -/* 0C6E60 800C6260 E5040000 */ swc1 $f4, ($t0) -.L800C6264: -/* 0C6E64 800C6264 846900C0 */ lh $t1, 0xc0($v1) -/* 0C6E68 800C6268 3C0F800F */ lui $t7, %hi(D_800E9F78) -/* 0C6E6C 800C626C 01E67821 */ addu $t7, $t7, $a2 -/* 0C6E70 800C6270 19200008 */ blez $t1, .L800C6294 -/* 0C6E74 800C6274 00095823 */ negu $t3, $t1 -/* 0C6E78 800C6278 44893000 */ mtc1 $t1, $f6 -/* 0C6E7C 800C627C 3C18800F */ lui $t8, %hi(D_800E9E54) # $t8, 0x800f -/* 0C6E80 800C6280 27189E54 */ addiu $t8, %lo(D_800E9E54) # addiu $t8, $t8, -0x61ac -/* 0C6E84 800C6284 46803220 */ cvt.s.w $f8, $f6 -/* 0C6E88 800C6288 00585021 */ addu $t2, $v0, $t8 -/* 0C6E8C 800C628C 10000007 */ b .L800C62AC -/* 0C6E90 800C6290 E5480000 */ swc1 $f8, ($t2) -.L800C6294: -/* 0C6E94 800C6294 448B5000 */ mtc1 $t3, $f10 -/* 0C6E98 800C6298 3C19800F */ lui $t9, %hi(D_800E9E54) # $t9, 0x800f -/* 0C6E9C 800C629C 27399E54 */ addiu $t9, %lo(D_800E9E54) # addiu $t9, $t9, -0x61ac -/* 0C6EA0 800C62A0 46805420 */ cvt.s.w $f16, $f10 -/* 0C6EA4 800C62A4 00595021 */ addu $t2, $v0, $t9 -/* 0C6EA8 800C62A8 E5500000 */ swc1 $f16, ($t2) -.L800C62AC: -/* 0C6EAC 800C62AC 8C6C00BC */ lw $t4, 0xbc($v1) -/* 0C6EB0 800C62B0 24010010 */ li $at, 16 -/* 0C6EB4 800C62B4 3C03800F */ lui $v1, %hi(D_800E9F74) -/* 0C6EB8 800C62B8 318E0010 */ andi $t6, $t4, 0x10 -/* 0C6EBC 800C62BC 15C10006 */ bne $t6, $at, .L800C62D8 -/* 0C6EC0 800C62C0 00661821 */ addu $v1, $v1, $a2 -/* 0C6EC4 800C62C4 C5120000 */ lwc1 $f18, ($t0) -/* 0C6EC8 800C62C8 C4E40000 */ lwc1 $f4, ($a3) -/* 0C6ECC 800C62CC 46049180 */ add.s $f6, $f18, $f4 -/* 0C6ED0 800C62D0 10000010 */ b .L800C6314 -/* 0C6ED4 800C62D4 E4860000 */ swc1 $f6, ($a0) -.L800C62D8: -/* 0C6ED8 800C62D8 3C01800F */ lui $at, %hi(D_800F3680) # $at, 0x800f -/* 0C6EDC 800C62DC C4223680 */ lwc1 $f2, %lo(D_800F3680)($at) -/* 0C6EE0 800C62E0 3C01800F */ lui $at, %hi(D_800F3684) # $at, 0x800f -/* 0C6EE4 800C62E4 C4243684 */ lwc1 $f4, %lo(D_800F3684)($at) -/* 0C6EE8 800C62E8 C5520000 */ lwc1 $f18, ($t2) -/* 0C6EEC 800C62EC C4E80000 */ lwc1 $f8, ($a3) -/* 0C6EF0 800C62F0 C50A0000 */ lwc1 $f10, ($t0) -/* 0C6EF4 800C62F4 46049183 */ div.s $f6, $f18, $f4 -/* 0C6EF8 800C62F8 460A4400 */ add.s $f16, $f8, $f10 -/* 0C6EFC 800C62FC 46068001 */ sub.s $f0, $f16, $f6 -/* 0C6F00 800C6300 4602003C */ c.lt.s $f0, $f2 -/* 0C6F04 800C6304 E4800000 */ swc1 $f0, ($a0) -/* 0C6F08 800C6308 45000002 */ bc1f .L800C6314 -/* 0C6F0C 800C630C 00000000 */ nop -/* 0C6F10 800C6310 E4820000 */ swc1 $f2, ($a0) -.L800C6314: -/* 0C6F14 800C6314 90639F74 */ lbu $v1, %lo(D_800E9F74)($v1) -/* 0C6F18 800C6318 3C18800F */ lui $t8, %hi(D_800E9F78) # $t8, 0x800f -/* 0C6F1C 800C631C 27189F78 */ addiu $t8, %lo(D_800E9F78) # addiu $t8, $t8, -0x6088 -/* 0C6F20 800C6320 14600004 */ bnez $v1, .L800C6334 -/* 0C6F24 800C6324 00D83821 */ addu $a3, $a2, $t8 -/* 0C6F28 800C6328 91EF9F78 */ lbu $t7, %lo(D_800E9F78)($t7) -/* 0C6F2C 800C632C 11E00021 */ beqz $t7, .L800C63B4 -/* 0C6F30 800C6330 00000000 */ nop -.L800C6334: -/* 0C6F34 800C6334 1060000E */ beqz $v1, .L800C6370 -/* 0C6F38 800C6338 90E80000 */ lbu $t0, ($a3) -/* 0C6F3C 800C633C 2901000F */ slti $at, $t0, 0xf -/* 0C6F40 800C6340 10200016 */ beqz $at, .L800C639C -/* 0C6F44 800C6344 25190001 */ addiu $t9, $t0, 1 -/* 0C6F48 800C6348 3C0B800F */ lui $t3, %hi(D_800E9DF4) # $t3, 0x800f -/* 0C6F4C 800C634C 256B9DF4 */ addiu $t3, %lo(D_800E9DF4) # addiu $t3, $t3, -0x620c -/* 0C6F50 800C6350 A0F90000 */ sb $t9, ($a3) -/* 0C6F54 800C6354 004B1821 */ addu $v1, $v0, $t3 -/* 0C6F58 800C6358 3C01800F */ lui $at, %hi(D_800F3688) # $at, 0x800f -/* 0C6F5C 800C635C C42A3688 */ lwc1 $f10, %lo(D_800F3688)($at) -/* 0C6F60 800C6360 C4680000 */ lwc1 $f8, ($v1) -/* 0C6F64 800C6364 460A4480 */ add.s $f18, $f8, $f10 -/* 0C6F68 800C6368 1000000C */ b .L800C639C -/* 0C6F6C 800C636C E4720000 */ swc1 $f18, ($v1) -.L800C6370: -/* 0C6F70 800C6370 1100000A */ beqz $t0, .L800C639C -/* 0C6F74 800C6374 250CFFFF */ addiu $t4, $t0, -1 -/* 0C6F78 800C6378 3C0E800F */ lui $t6, %hi(D_800E9DF4) # $t6, 0x800f -/* 0C6F7C 800C637C 25CE9DF4 */ addiu $t6, %lo(D_800E9DF4) # addiu $t6, $t6, -0x620c -/* 0C6F80 800C6380 A0EC0000 */ sb $t4, ($a3) -/* 0C6F84 800C6384 004E1821 */ addu $v1, $v0, $t6 -/* 0C6F88 800C6388 3C01800F */ lui $at, %hi(D_800F368C) # $at, 0x800f -/* 0C6F8C 800C638C C430368C */ lwc1 $f16, %lo(D_800F368C)($at) -/* 0C6F90 800C6390 C4640000 */ lwc1 $f4, ($v1) -/* 0C6F94 800C6394 46102181 */ sub.s $f6, $f4, $f16 -/* 0C6F98 800C6398 E4660000 */ swc1 $f6, ($v1) -.L800C639C: -/* 0C6F9C 800C639C 3C01800F */ lui $at, %hi(D_800E9DF4) -/* 0C6FA0 800C63A0 00220821 */ addu $at, $at, $v0 -/* 0C6FA4 800C63A4 C42A9DF4 */ lwc1 $f10, %lo(D_800E9DF4)($at) -/* 0C6FA8 800C63A8 C4880000 */ lwc1 $f8, ($a0) -/* 0C6FAC 800C63AC 460A4481 */ sub.s $f18, $f8, $f10 -/* 0C6FB0 800C63B0 E4920000 */ swc1 $f18, ($a0) -.L800C63B4: -/* 0C6FB4 800C63B4 3C18800F */ lui $t8, %hi(D_800E9EC4) # $t8, 0x800f -/* 0C6FB8 800C63B8 27189EC4 */ addiu $t8, %lo(D_800E9EC4) # addiu $t8, $t8, -0x613c -/* 0C6FBC 800C63BC 00583021 */ addu $a2, $v0, $t8 -/* 0C6FC0 800C63C0 C4C20000 */ lwc1 $f2, ($a2) -/* 0C6FC4 800C63C4 C4800000 */ lwc1 $f0, ($a0) -/* 0C6FC8 800C63C8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C6FCC 800C63CC 44817000 */ mtc1 $at, $f14 -/* 0C6FD0 800C63D0 46020301 */ sub.s $f12, $f0, $f2 -/* 0C6FD4 800C63D4 3C0F800F */ lui $t7, %hi(D_800E9EE4) # $t7, 0x800f -/* 0C6FD8 800C63D8 25EF9EE4 */ addiu $t7, %lo(D_800E9EE4) # addiu $t7, $t7, -0x611c -/* 0C6FDC 800C63DC 004F1821 */ addu $v1, $v0, $t7 -/* 0C6FE0 800C63E0 460C703C */ c.lt.s $f14, $f12 -/* 0C6FE4 800C63E4 E46C0000 */ swc1 $f12, ($v1) -/* 0C6FE8 800C63E8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0C6FEC 800C63EC 45030007 */ bc1tl .L800C640C -/* 0C6FF0 800C63F0 C4700000 */ lwc1 $f16, ($v1) -/* 0C6FF4 800C63F4 C4640000 */ lwc1 $f4, ($v1) -/* 0C6FF8 800C63F8 460E203C */ c.lt.s $f4, $f14 -/* 0C6FFC 800C63FC 00000000 */ nop -/* 0C7000 800C6400 4500000E */ bc1f .L800C643C -/* 0C7004 800C6404 00000000 */ nop -/* 0C7008 800C6408 C4700000 */ lwc1 $f16, ($v1) -.L800C640C: -/* 0C700C 800C640C 44813000 */ mtc1 $at, $f6 -/* 0C7010 800C6410 3C01800F */ lui $at, %hi(D_800E9ED4) -/* 0C7014 800C6414 00220821 */ addu $at, $at, $v0 -/* 0C7018 800C6418 46068002 */ mul.s $f0, $f16, $f6 -/* 0C701C 800C641C E4209ED4 */ swc1 $f0, %lo(D_800E9ED4)($at) -/* 0C7020 800C6420 3C01800F */ lui $at, %hi(D_800E9F34) -/* 0C7024 800C6424 46001280 */ add.s $f10, $f2, $f0 -/* 0C7028 800C6428 00220821 */ addu $at, $at, $v0 -/* 0C702C 800C642C C4289F34 */ lwc1 $f8, %lo(D_800E9F34)($at) -/* 0C7030 800C6430 460A4480 */ add.s $f18, $f8, $f10 -/* 0C7034 800C6434 10000006 */ b .L800C6450 -/* 0C7038 800C6438 E4B2000C */ swc1 $f18, 0xc($a1) -.L800C643C: -/* 0C703C 800C643C 3C01800F */ lui $at, %hi(D_800E9F34) -/* 0C7040 800C6440 00220821 */ addu $at, $at, $v0 -/* 0C7044 800C6444 C4249F34 */ lwc1 $f4, %lo(D_800E9F34)($at) -/* 0C7048 800C6448 46002400 */ add.s $f16, $f4, $f0 -/* 0C704C 800C644C E4B0000C */ swc1 $f16, 0xc($a1) -.L800C6450: -/* 0C7050 800C6450 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0C7054 800C6454 44811000 */ mtc1 $at, $f2 -/* 0C7058 800C6458 C4A0000C */ lwc1 $f0, 0xc($a1) -/* 0C705C 800C645C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 0C7060 800C6460 44813000 */ mtc1 $at, $f6 -/* 0C7064 800C6464 4600103C */ c.lt.s $f2, $f0 -/* 0C7068 800C6468 00000000 */ nop -/* 0C706C 800C646C 45020004 */ bc1fl .L800C6480 -/* 0C7070 800C6470 46060203 */ div.s $f8, $f0, $f6 -/* 0C7074 800C6474 E4A2000C */ swc1 $f2, 0xc($a1) -/* 0C7078 800C6478 C4A0000C */ lwc1 $f0, 0xc($a1) -/* 0C707C 800C647C 46060203 */ div.s $f8, $f0, $f6 -.L800C6480: -/* 0C7080 800C6480 E4C00000 */ swc1 $f0, ($a2) -/* 0C7084 800C6484 3C01800F */ lui $at, %hi(D_800F3690) # $at, 0x800f -/* 0C7088 800C6488 C42A3690 */ lwc1 $f10, %lo(D_800F3690)($at) -/* 0C708C 800C648C 01A0E825 */ move $sp, $t5 -/* 0C7090 800C6490 25BD0010 */ addiu $sp, $t5, 0x10 -/* 0C7094 800C6494 460A4480 */ add.s $f18, $f8, $f10 -/* 0C7098 800C6498 03E00008 */ jr $ra -/* 0C709C 800C649C E4B20038 */ swc1 $f18, 0x38($a1) - -glabel func_800C64A0 -/* 0C70A0 800C64A0 308E00FF */ andi $t6, $a0, 0xff -/* 0C70A4 800C64A4 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C70A8 800C64A8 000E1080 */ sll $v0, $t6, 2 -/* 0C70AC 800C64AC 3C0F800F */ lui $t7, %hi(D_800E9E74) -/* 0C70B0 800C64B0 ADA40010 */ sw $a0, 0x10($t5) -/* 0C70B4 800C64B4 01E27821 */ addu $t7, $t7, $v0 -/* 0C70B8 800C64B8 8DEF9E74 */ lw $t7, %lo(D_800E9E74)($t7) -/* 0C70BC 800C64BC 01C02025 */ move $a0, $t6 -/* 0C70C0 800C64C0 25F8FFFF */ addiu $t8, $t7, -1 -/* 0C70C4 800C64C4 2F01001F */ sltiu $at, $t8, 0x1f -/* 0C70C8 800C64C8 10200053 */ beqz $at, .L800C6618 -/* 0C70CC 800C64CC 0018C080 */ sll $t8, $t8, 2 -/* 0C70D0 800C64D0 3C01800F */ lui $at, %hi(D_800F3694) -/* 0C70D4 800C64D4 00380821 */ addu $at, $at, $t8 -/* 0C70D8 800C64D8 8C383694 */ lw $t8, %lo(D_800F3694)($at) -/* 0C70DC 800C64DC 03000008 */ jr $t8 -/* 0C70E0 800C64E0 00000000 */ nop -glabel L800C64E4 -/* 0C70E4 800C64E4 000440C0 */ sll $t0, $a0, 3 -/* 0C70E8 800C64E8 01044023 */ subu $t0, $t0, $a0 -/* 0C70EC 800C64EC 00084100 */ sll $t0, $t0, 4 -/* 0C70F0 800C64F0 01044023 */ subu $t0, $t0, $a0 -/* 0C70F4 800C64F4 00084080 */ sll $t0, $t0, 2 -/* 0C70F8 800C64F8 01044023 */ subu $t0, $t0, $a0 -/* 0C70FC 800C64FC 3C09800F */ lui $t1, %hi(gPlayers) # $t1, 0x800f -/* 0C7100 800C6500 25296990 */ addiu $t1, %lo(gPlayers) # addiu $t1, $t1, 0x6990 -/* 0C7104 800C6504 000840C0 */ sll $t0, $t0, 3 -/* 0C7108 800C6508 01092821 */ addu $a1, $t0, $t1 -/* 0C710C 800C650C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C7110 800C6510 44813000 */ mtc1 $at, $f6 -/* 0C7114 800C6514 C4A40094 */ lwc1 $f4, 0x94($a1) -/* 0C7118 800C6518 3C01800F */ lui $at, %hi(D_800F3710) # $at, 0x800f -/* 0C711C 800C651C C42A3710 */ lwc1 $f10, %lo(D_800F3710)($at) -/* 0C7120 800C6520 46062203 */ div.s $f8, $f4, $f6 -/* 0C7124 800C6524 3C19800F */ lui $t9, %hi(D_800E9EF4) # $t9, 0x800f -/* 0C7128 800C6528 27399EF4 */ addiu $t9, %lo(D_800E9EF4) # addiu $t9, $t9, -0x610c -/* 0C712C 800C652C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7130 800C6530 00591821 */ addu $v1, $v0, $t9 -/* 0C7134 800C6534 44811000 */ mtc1 $at, $f2 -/* 0C7138 800C6538 460A4400 */ add.s $f16, $f8, $f10 -/* 0C713C 800C653C 10000046 */ b .L800C6658 -/* 0C7140 800C6540 E4700000 */ swc1 $f16, ($v1) -glabel L800C6544 -/* 0C7144 800C6544 3C01800F */ lui $at, %hi(D_800E9E54) -/* 0C7148 800C6548 00220821 */ addu $at, $at, $v0 -/* 0C714C 800C654C C4329E54 */ lwc1 $f18, %lo(D_800E9E54)($at) -/* 0C7150 800C6550 3C01800F */ lui $at, %hi(D_800F3714) # $at, 0x800f -/* 0C7154 800C6554 C4243714 */ lwc1 $f4, %lo(D_800F3714)($at) -/* 0C7158 800C6558 3C01800F */ lui $at, %hi(D_800F3718) # $at, 0x800f -/* 0C715C 800C655C C4283718 */ lwc1 $f8, %lo(D_800F3718)($at) -/* 0C7160 800C6560 46049181 */ sub.s $f6, $f18, $f4 -/* 0C7164 800C6564 3C01800F */ lui $at, %hi(D_800F371C) # $at, 0x800f -/* 0C7168 800C6568 000458C0 */ sll $t3, $a0, 3 -/* 0C716C 800C656C C430371C */ lwc1 $f16, %lo(D_800F371C)($at) -/* 0C7170 800C6570 46083283 */ div.s $f10, $f6, $f8 -/* 0C7174 800C6574 01645823 */ subu $t3, $t3, $a0 -/* 0C7178 800C6578 000B5900 */ sll $t3, $t3, 4 -/* 0C717C 800C657C 01645823 */ subu $t3, $t3, $a0 -/* 0C7180 800C6580 3C0A800F */ lui $t2, %hi(D_800E9EF4) # $t2, 0x800f -/* 0C7184 800C6584 000B5880 */ sll $t3, $t3, 2 -/* 0C7188 800C6588 254A9EF4 */ addiu $t2, %lo(D_800E9EF4) # addiu $t2, $t2, -0x610c -/* 0C718C 800C658C 01645823 */ subu $t3, $t3, $a0 -/* 0C7190 800C6590 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7194 800C6594 3C0C800F */ lui $t4, %hi(gPlayers) # $t4, 0x800f -/* 0C7198 800C6598 004A1821 */ addu $v1, $v0, $t2 -/* 0C719C 800C659C 258C6990 */ addiu $t4, %lo(gPlayers) # addiu $t4, $t4, 0x6990 -/* 0C71A0 800C65A0 44811000 */ mtc1 $at, $f2 -/* 0C71A4 800C65A4 000B58C0 */ sll $t3, $t3, 3 -/* 0C71A8 800C65A8 016C2821 */ addu $a1, $t3, $t4 -/* 0C71AC 800C65AC 46105480 */ add.s $f18, $f10, $f16 -/* 0C71B0 800C65B0 10000029 */ b .L800C6658 -/* 0C71B4 800C65B4 E4720000 */ swc1 $f18, ($v1) -glabel L800C65B8 -/* 0C71B8 800C65B8 000478C0 */ sll $t7, $a0, 3 -/* 0C71BC 800C65BC 01E47823 */ subu $t7, $t7, $a0 -/* 0C71C0 800C65C0 000F7900 */ sll $t7, $t7, 4 -/* 0C71C4 800C65C4 01E47823 */ subu $t7, $t7, $a0 -/* 0C71C8 800C65C8 000F7880 */ sll $t7, $t7, 2 -/* 0C71CC 800C65CC 01E47823 */ subu $t7, $t7, $a0 -/* 0C71D0 800C65D0 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 0C71D4 800C65D4 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 0C71D8 800C65D8 000F78C0 */ sll $t7, $t7, 3 -/* 0C71DC 800C65DC 01F82821 */ addu $a1, $t7, $t8 -/* 0C71E0 800C65E0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C71E4 800C65E4 44813000 */ mtc1 $at, $f6 -/* 0C71E8 800C65E8 C4A40094 */ lwc1 $f4, 0x94($a1) -/* 0C71EC 800C65EC 3C01800F */ lui $at, %hi(D_800F3720) # $at, 0x800f -/* 0C71F0 800C65F0 C42A3720 */ lwc1 $f10, %lo(D_800F3720)($at) -/* 0C71F4 800C65F4 46062203 */ div.s $f8, $f4, $f6 -/* 0C71F8 800C65F8 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f -/* 0C71FC 800C65FC 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c -/* 0C7200 800C6600 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7204 800C6604 004E1821 */ addu $v1, $v0, $t6 -/* 0C7208 800C6608 44811000 */ mtc1 $at, $f2 -/* 0C720C 800C660C 460A4400 */ add.s $f16, $f8, $f10 -/* 0C7210 800C6610 10000011 */ b .L800C6658 -/* 0C7214 800C6614 E4700000 */ swc1 $f16, ($v1) -.L800C6618: -glabel L800C6618 -/* 0C7218 800C6618 000440C0 */ sll $t0, $a0, 3 -/* 0C721C 800C661C 01044023 */ subu $t0, $t0, $a0 -/* 0C7220 800C6620 00084100 */ sll $t0, $t0, 4 -/* 0C7224 800C6624 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C7228 800C6628 01044023 */ subu $t0, $t0, $a0 -/* 0C722C 800C662C 44811000 */ mtc1 $at, $f2 -/* 0C7230 800C6630 3C19800F */ lui $t9, %hi(D_800E9EF4) # $t9, 0x800f -/* 0C7234 800C6634 00084080 */ sll $t0, $t0, 2 -/* 0C7238 800C6638 27399EF4 */ addiu $t9, %lo(D_800E9EF4) # addiu $t9, $t9, -0x610c -/* 0C723C 800C663C 01044023 */ subu $t0, $t0, $a0 -/* 0C7240 800C6640 3C09800F */ lui $t1, %hi(gPlayers) # $t1, 0x800f -/* 0C7244 800C6644 00591821 */ addu $v1, $v0, $t9 -/* 0C7248 800C6648 25296990 */ addiu $t1, %lo(gPlayers) # addiu $t1, $t1, 0x6990 -/* 0C724C 800C664C 000840C0 */ sll $t0, $t0, 3 -/* 0C7250 800C6650 01092821 */ addu $a1, $t0, $t1 -/* 0C7254 800C6654 E4620000 */ swc1 $f2, ($v1) -.L800C6658: -/* 0C7258 800C6658 C4600000 */ lwc1 $f0, ($v1) -/* 0C725C 800C665C 3C18800F */ lui $t8, %hi(D_800E9E34) -/* 0C7260 800C6660 3C19800F */ lui $t9, %hi(D_800E9F24) -/* 0C7264 800C6664 4600103C */ c.lt.s $f2, $f0 -/* 0C7268 800C6668 3C0E800F */ lui $t6, %hi(D_800E9E24) -/* 0C726C 800C666C 0302C021 */ addu $t8, $t8, $v0 -/* 0C7270 800C6670 0324C821 */ addu $t9, $t9, $a0 -/* 0C7274 800C6674 45000003 */ bc1f .L800C6684 -/* 0C7278 800C6678 01A0E825 */ move $sp, $t5 -/* 0C727C 800C667C E4620000 */ swc1 $f2, ($v1) -/* 0C7280 800C6680 C4600000 */ lwc1 $f0, ($v1) -.L800C6684: -/* 0C7284 800C6684 44801000 */ mtc1 $zero, $f2 -/* 0C7288 800C6688 01C27021 */ addu $t6, $t6, $v0 -/* 0C728C 800C668C 4602003C */ c.lt.s $f0, $f2 -/* 0C7290 800C6690 00000000 */ nop -/* 0C7294 800C6694 45020003 */ bc1fl .L800C66A4 -/* 0C7298 800C6698 84AA0044 */ lh $t2, 0x44($a1) -/* 0C729C 800C669C E4620000 */ swc1 $f2, ($v1) -/* 0C72A0 800C66A0 84AA0044 */ lh $t2, 0x44($a1) -.L800C66A4: -/* 0C72A4 800C66A4 24010020 */ li $at, 32 -/* 0C72A8 800C66A8 314B0020 */ andi $t3, $t2, 0x20 -/* 0C72AC 800C66AC 1561000F */ bne $t3, $at, .L800C66EC -/* 0C72B0 800C66B0 00000000 */ nop -/* 0C72B4 800C66B4 8DCE9E24 */ lw $t6, %lo(D_800E9E24)($t6) -/* 0C72B8 800C66B8 3C01800F */ lui $at, %hi(D_800F3724) # $at, 0x800f -/* 0C72BC 800C66BC C4263724 */ lwc1 $f6, %lo(D_800F3724)($at) -/* 0C72C0 800C66C0 448E9000 */ mtc1 $t6, $f18 -/* 0C72C4 800C66C4 3C01800F */ lui $at, %hi(D_800F3728) # $at, 0x800f -/* 0C72C8 800C66C8 C42A3728 */ lwc1 $f10, %lo(D_800F3728)($at) -/* 0C72CC 800C66CC 46809120 */ cvt.s.w $f4, $f18 -/* 0C72D0 800C66D0 3C0C800F */ lui $t4, %hi(D_800E9F04) # $t4, 0x800f -/* 0C72D4 800C66D4 258C9F04 */ addiu $t4, %lo(D_800E9F04) # addiu $t4, $t4, -0x60fc -/* 0C72D8 800C66D8 004C1821 */ addu $v1, $v0, $t4 -/* 0C72DC 800C66DC 46062202 */ mul.s $f8, $f4, $f6 -/* 0C72E0 800C66E0 46085401 */ sub.s $f16, $f10, $f8 -/* 0C72E4 800C66E4 1000000E */ b .L800C6720 -/* 0C72E8 800C66E8 E4700000 */ swc1 $f16, ($v1) -.L800C66EC: -/* 0C72EC 800C66EC 8F189E34 */ lw $t8, %lo(D_800E9E34)($t8) -/* 0C72F0 800C66F0 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 0C72F4 800C66F4 44813000 */ mtc1 $at, $f6 -/* 0C72F8 800C66F8 44989000 */ mtc1 $t8, $f18 -/* 0C72FC 800C66FC 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 0C7300 800C6700 44814000 */ mtc1 $at, $f8 -/* 0C7304 800C6704 46809120 */ cvt.s.w $f4, $f18 -/* 0C7308 800C6708 3C0F800F */ lui $t7, %hi(D_800E9F04) # $t7, 0x800f -/* 0C730C 800C670C 25EF9F04 */ addiu $t7, %lo(D_800E9F04) # addiu $t7, $t7, -0x60fc -/* 0C7310 800C6710 004F1821 */ addu $v1, $v0, $t7 -/* 0C7314 800C6714 46062283 */ div.s $f10, $f4, $f6 -/* 0C7318 800C6718 46085400 */ add.s $f16, $f10, $f8 -/* 0C731C 800C671C E4700000 */ swc1 $f16, ($v1) -.L800C6720: -/* 0C7320 800C6720 93399F24 */ lbu $t9, %lo(D_800E9F24)($t9) -/* 0C7324 800C6724 3C01800F */ lui $at, %hi(D_800F372C) # $at, 0x800f -/* 0C7328 800C6728 13200002 */ beqz $t9, .L800C6734 -/* 0C732C 800C672C 00000000 */ nop -/* 0C7330 800C6730 E4620000 */ swc1 $f2, ($v1) -.L800C6734: -/* 0C7334 800C6734 C420372C */ lwc1 $f0, %lo(D_800F372C)($at) -/* 0C7338 800C6738 C4720000 */ lwc1 $f18, ($v1) -/* 0C733C 800C673C 4612003C */ c.lt.s $f0, $f18 -/* 0C7340 800C6740 00000000 */ nop -/* 0C7344 800C6744 45000002 */ bc1f .L800C6750 -/* 0C7348 800C6748 00000000 */ nop -/* 0C734C 800C674C E4600000 */ swc1 $f0, ($v1) -.L800C6750: -/* 0C7350 800C6750 03E00008 */ jr $ra -/* 0C7354 800C6754 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C6758 -/* 0C7358 800C6758 308E00FF */ andi $t6, $a0, 0xff -/* 0C735C 800C675C 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C7360 800C6760 000E1880 */ sll $v1, $t6, 2 -/* 0C7364 800C6764 3C02800F */ lui $v0, %hi(D_800E9E74) -/* 0C7368 800C6768 ADA40010 */ sw $a0, 0x10($t5) -/* 0C736C 800C676C 00431021 */ addu $v0, $v0, $v1 -/* 0C7370 800C6770 8C429E74 */ lw $v0, %lo(D_800E9E74)($v0) -/* 0C7374 800C6774 24010002 */ li $at, 2 -/* 0C7378 800C6778 01C02025 */ move $a0, $t6 -/* 0C737C 800C677C 10410021 */ beq $v0, $at, .L800C6804 -/* 0C7380 800C6780 01A0E825 */ move $sp, $t5 -/* 0C7384 800C6784 24010003 */ li $at, 3 -/* 0C7388 800C6788 1041000B */ beq $v0, $at, .L800C67B8 -/* 0C738C 800C678C 000478C0 */ sll $t7, $a0, 3 -/* 0C7390 800C6790 2401000D */ li $at, 13 -/* 0C7394 800C6794 1041001B */ beq $v0, $at, .L800C6804 -/* 0C7398 800C6798 24010011 */ li $at, 17 -/* 0C739C 800C679C 10410019 */ beq $v0, $at, .L800C6804 -/* 0C73A0 800C67A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C73A4 800C67A4 44812000 */ mtc1 $at, $f4 -/* 0C73A8 800C67A8 3C01800F */ lui $at, %hi(D_800E9F14) -/* 0C73AC 800C67AC 00230821 */ addu $at, $at, $v1 -/* 0C73B0 800C67B0 10000020 */ b .L800C6834 -/* 0C73B4 800C67B4 E4249F14 */ swc1 $f4, %lo(D_800E9F14)($at) -.L800C67B8: -/* 0C73B8 800C67B8 01E47823 */ subu $t7, $t7, $a0 -/* 0C73BC 800C67BC 000F7900 */ sll $t7, $t7, 4 -/* 0C73C0 800C67C0 01E47823 */ subu $t7, $t7, $a0 -/* 0C73C4 800C67C4 000F7880 */ sll $t7, $t7, 2 -/* 0C73C8 800C67C8 01E47823 */ subu $t7, $t7, $a0 -/* 0C73CC 800C67CC 000F78C0 */ sll $t7, $t7, 3 -/* 0C73D0 800C67D0 3C01800F */ lui $at, %hi(gPlayers+0x94) -/* 0C73D4 800C67D4 002F0821 */ addu $at, $at, $t7 -/* 0C73D8 800C67D8 C4266A24 */ lwc1 $f6, %lo(gPlayers+0x94)($at) -/* 0C73DC 800C67DC 3C014110 */ li $at, 0x41100000 # 9.000000 -/* 0C73E0 800C67E0 44814000 */ mtc1 $at, $f8 -/* 0C73E4 800C67E4 3C01800F */ lui $at, %hi(D_800F3730) # $at, 0x800f -/* 0C73E8 800C67E8 C4303730 */ lwc1 $f16, %lo(D_800F3730)($at) -/* 0C73EC 800C67EC 46083283 */ div.s $f10, $f6, $f8 -/* 0C73F0 800C67F0 3C01800F */ lui $at, %hi(D_800E9F14) -/* 0C73F4 800C67F4 00230821 */ addu $at, $at, $v1 -/* 0C73F8 800C67F8 46105480 */ add.s $f18, $f10, $f16 -/* 0C73FC 800C67FC 1000000D */ b .L800C6834 -/* 0C7400 800C6800 E4329F14 */ swc1 $f18, %lo(D_800E9F14)($at) -.L800C6804: -/* 0C7404 800C6804 3C01800F */ lui $at, %hi(D_800E9E54) -/* 0C7408 800C6808 00230821 */ addu $at, $at, $v1 -/* 0C740C 800C680C C4249E54 */ lwc1 $f4, %lo(D_800E9E54)($at) -/* 0C7410 800C6810 3C01800F */ lui $at, %hi(D_800F3734) # $at, 0x800f -/* 0C7414 800C6814 C4263734 */ lwc1 $f6, %lo(D_800F3734)($at) -/* 0C7418 800C6818 3C01800F */ lui $at, %hi(D_800F3738) # $at, 0x800f -/* 0C741C 800C681C C42A3738 */ lwc1 $f10, %lo(D_800F3738)($at) -/* 0C7420 800C6820 46062203 */ div.s $f8, $f4, $f6 -/* 0C7424 800C6824 3C01800F */ lui $at, %hi(D_800E9F14) -/* 0C7428 800C6828 00230821 */ addu $at, $at, $v1 -/* 0C742C 800C682C 460A4400 */ add.s $f16, $f8, $f10 -/* 0C7430 800C6830 E4309F14 */ swc1 $f16, %lo(D_800E9F14)($at) -.L800C6834: -/* 0C7434 800C6834 03E00008 */ jr $ra -/* 0C7438 800C6838 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C683C -/* 0C743C 800C683C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0C7440 800C6840 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0C7444 800C6844 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0C7448 800C6848 AFBE0038 */ sw $fp, 0x38($sp) -/* 0C744C 800C684C 03A0F025 */ move $fp, $sp -/* 0C7450 800C6850 AFBF003C */ sw $ra, 0x3c($sp) -/* 0C7454 800C6854 AFB20034 */ sw $s2, 0x34($sp) -/* 0C7458 800C6858 AFB10030 */ sw $s1, 0x30($sp) -/* 0C745C 800C685C AFB0002C */ sw $s0, 0x2c($sp) -/* 0C7460 800C6860 AFA40050 */ sw $a0, 0x50($sp) -/* 0C7464 800C6864 15C00208 */ bnez $t6, .L800C7088 -/* 0C7468 800C6868 308600FF */ andi $a2, $a0, 0xff -/* 0C746C 800C686C 3C0F800F */ lui $t7, %hi(D_800EA0EC) -/* 0C7470 800C6870 01E67821 */ addu $t7, $t7, $a2 -/* 0C7474 800C6874 91EFA0EC */ lbu $t7, %lo(D_800EA0EC)($t7) -/* 0C7478 800C6878 3C18800F */ lui $t8, %hi(D_800E9E74) # $t8, 0x800f -/* 0C747C 800C687C 27189E74 */ addiu $t8, %lo(D_800E9E74) # addiu $t8, $t8, -0x618c -/* 0C7480 800C6880 15E00201 */ bnez $t7, .L800C7088 -/* 0C7484 800C6884 00061080 */ sll $v0, $a2, 2 -/* 0C7488 800C6888 3C19800F */ lui $t9, %hi(D_800E9E84) # $t9, 0x800f -/* 0C748C 800C688C 27399E84 */ addiu $t9, %lo(D_800E9E84) # addiu $t9, $t9, -0x617c -/* 0C7490 800C6890 00594021 */ addu $t0, $v0, $t9 -/* 0C7494 800C6894 AFA80040 */ sw $t0, 0x40($sp) -/* 0C7498 800C6898 00589021 */ addu $s2, $v0, $t8 -/* 0C749C 800C689C 8E430000 */ lw $v1, ($s2) -/* 0C74A0 800C68A0 8D0A0000 */ lw $t2, ($t0) -/* 0C74A4 800C68A4 00065900 */ sll $t3, $a2, 4 -/* 0C74A8 800C68A8 01665823 */ subu $t3, $t3, $a2 -/* 0C74AC 800C68AC 106A01F4 */ beq $v1, $t2, .L800C7080 -/* 0C74B0 800C68B0 000B5880 */ sll $t3, $t3, 2 -/* 0C74B4 800C68B4 3C0C800F */ lui $t4, %hi(D_800E9F7C) # $t4, 0x800f -/* 0C74B8 800C68B8 3C0D800F */ lui $t5, %hi(D_800E9E94) # $t5, 0x800f -/* 0C74BC 800C68BC 25AD9E94 */ addiu $t5, %lo(D_800E9E94) # addiu $t5, $t5, -0x616c -/* 0C74C0 800C68C0 258C9F7C */ addiu $t4, %lo(D_800E9F7C) # addiu $t4, $t4, -0x6084 -/* 0C74C4 800C68C4 016C8021 */ addu $s0, $t3, $t4 -/* 0C74C8 800C68C8 004D8821 */ addu $s1, $v0, $t5 -/* 0C74CC 800C68CC 8E250000 */ lw $a1, ($s1) -/* 0C74D0 800C68D0 02002025 */ move $a0, $s0 -/* 0C74D4 800C68D4 AFA2004C */ sw $v0, 0x4c($sp) -/* 0C74D8 800C68D8 0C03155E */ jal func_800C5578 -/* 0C74DC 800C68DC A3A60053 */ sb $a2, 0x53($sp) -/* 0C74E0 800C68E0 8E4E0000 */ lw $t6, ($s2) -/* 0C74E4 800C68E4 8FC2004C */ lw $v0, 0x4c($fp) -/* 0C74E8 800C68E8 93C60053 */ lbu $a2, 0x53($fp) -/* 0C74EC 800C68EC 25CFFFFF */ addiu $t7, $t6, -1 -/* 0C74F0 800C68F0 2DE1001F */ sltiu $at, $t7, 0x1f -/* 0C74F4 800C68F4 102001DE */ beqz $at, .L800C7070 -/* 0C74F8 800C68F8 000F7880 */ sll $t7, $t7, 2 -/* 0C74FC 800C68FC 3C01800F */ lui $at, %hi(D_800F373C) -/* 0C7500 800C6900 002F0821 */ addu $at, $at, $t7 -/* 0C7504 800C6904 8C2F373C */ lw $t7, %lo(D_800F373C)($at) -/* 0C7508 800C6908 01E00008 */ jr $t7 -/* 0C750C 800C690C 00000000 */ nop -glabel L800C6910 -/* 0C7510 800C6910 3C19800F */ lui $t9, %hi(D_800E9EF4) # $t9, 0x800f -/* 0C7514 800C6914 27399EF4 */ addiu $t9, %lo(D_800E9EF4) # addiu $t9, $t9, -0x610c -/* 0C7518 800C6918 3C18800F */ lui $t8, %hi(D_800E9F14) # $t8, 0x800f -/* 0C751C 800C691C 27189F14 */ addiu $t8, %lo(D_800E9F14) # addiu $t8, $t8, -0x60ec -/* 0C7520 800C6920 00594021 */ addu $t0, $v0, $t9 -/* 0C7524 800C6924 3C040100 */ lui $a0, (0x0100F908 >> 16) # lui $a0, 0x100 -/* 0C7528 800C6928 26090014 */ addiu $t1, $s0, 0x14 -/* 0C752C 800C692C AFA90014 */ sw $t1, 0x14($sp) -/* 0C7530 800C6930 3484F908 */ ori $a0, (0x0100F908 & 0xFFFF) # ori $a0, $a0, 0xf908 -/* 0C7534 800C6934 AFA80010 */ sw $t0, 0x10($sp) -/* 0C7538 800C6938 00583821 */ addu $a3, $v0, $t8 -/* 0C753C 800C693C 0C031052 */ jal play_sound -/* 0C7540 800C6940 02002825 */ move $a1, $s0 -/* 0C7544 800C6944 3C0A0100 */ lui $t2, (0x0100F908 >> 16) # lui $t2, 0x100 -/* 0C7548 800C6948 354AF908 */ ori $t2, (0x0100F908 & 0xFFFF) # ori $t2, $t2, 0xf908 -/* 0C754C 800C694C AE2A0000 */ sw $t2, ($s1) -/* 0C7550 800C6950 100001CB */ b .L800C7080 -/* 0C7554 800C6954 8E430000 */ lw $v1, ($s2) -glabel L800C6958 -/* 0C7558 800C6958 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C755C 800C695C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7560 800C6960 3C040100 */ lui $a0, (0x0100F81D >> 16) # lui $a0, 0x100 -/* 0C7564 800C6964 260B0014 */ addiu $t3, $s0, 0x14 -/* 0C7568 800C6968 AFAB0014 */ sw $t3, 0x14($sp) -/* 0C756C 800C696C 3484F81D */ ori $a0, (0x0100F81D & 0xFFFF) # ori $a0, $a0, 0xf81d -/* 0C7570 800C6970 AFA70010 */ sw $a3, 0x10($sp) -/* 0C7574 800C6974 0C031052 */ jal play_sound -/* 0C7578 800C6978 02002825 */ move $a1, $s0 -/* 0C757C 800C697C 3C0C0100 */ lui $t4, (0x0100F81D >> 16) # lui $t4, 0x100 -/* 0C7580 800C6980 358CF81D */ ori $t4, (0x0100F81D & 0xFFFF) # ori $t4, $t4, 0xf81d -/* 0C7584 800C6984 AE2C0000 */ sw $t4, ($s1) -/* 0C7588 800C6988 100001BD */ b .L800C7080 -/* 0C758C 800C698C 8E430000 */ lw $v1, ($s2) -glabel L800C6990 -/* 0C7590 800C6990 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7594 800C6994 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7598 800C6998 3C040100 */ lui $a0, (0x0100F822 >> 16) # lui $a0, 0x100 -/* 0C759C 800C699C 260D0014 */ addiu $t5, $s0, 0x14 -/* 0C75A0 800C69A0 AFAD0014 */ sw $t5, 0x14($sp) -/* 0C75A4 800C69A4 3484F822 */ ori $a0, (0x0100F822 & 0xFFFF) # ori $a0, $a0, 0xf822 -/* 0C75A8 800C69A8 AFA70010 */ sw $a3, 0x10($sp) -/* 0C75AC 800C69AC 0C031052 */ jal play_sound -/* 0C75B0 800C69B0 02002825 */ move $a1, $s0 -/* 0C75B4 800C69B4 3C0E0100 */ lui $t6, (0x0100F822 >> 16) # lui $t6, 0x100 -/* 0C75B8 800C69B8 35CEF822 */ ori $t6, (0x0100F822 & 0xFFFF) # ori $t6, $t6, 0xf822 -/* 0C75BC 800C69BC AE2E0000 */ sw $t6, ($s1) -/* 0C75C0 800C69C0 100001AF */ b .L800C7080 -/* 0C75C4 800C69C4 8E430000 */ lw $v1, ($s2) -glabel L800C69C8 -/* 0C75C8 800C69C8 3C0F800F */ lui $t7, %hi(D_800E9EF4) # $t7, 0x800f -/* 0C75CC 800C69CC 25EF9EF4 */ addiu $t7, %lo(D_800E9EF4) # addiu $t7, $t7, -0x610c -/* 0C75D0 800C69D0 004FC021 */ addu $t8, $v0, $t7 -/* 0C75D4 800C69D4 3C040100 */ lui $a0, (0x0100F009 >> 16) # lui $a0, 0x100 -/* 0C75D8 800C69D8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C75DC 800C69DC 26190014 */ addiu $t9, $s0, 0x14 -/* 0C75E0 800C69E0 AFB90014 */ sw $t9, 0x14($sp) -/* 0C75E4 800C69E4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C75E8 800C69E8 3484F009 */ ori $a0, (0x0100F009 & 0xFFFF) # ori $a0, $a0, 0xf009 -/* 0C75EC 800C69EC AFB80010 */ sw $t8, 0x10($sp) -/* 0C75F0 800C69F0 0C031052 */ jal play_sound -/* 0C75F4 800C69F4 02002825 */ move $a1, $s0 -/* 0C75F8 800C69F8 3C080100 */ lui $t0, (0x0100F009 >> 16) # lui $t0, 0x100 -/* 0C75FC 800C69FC 3508F009 */ ori $t0, (0x0100F009 & 0xFFFF) # ori $t0, $t0, 0xf009 -/* 0C7600 800C6A00 AE280000 */ sw $t0, ($s1) -/* 0C7604 800C6A04 1000019E */ b .L800C7080 -/* 0C7608 800C6A08 8E430000 */ lw $v1, ($s2) -glabel L800C6A0C -/* 0C760C 800C6A0C 3C09800F */ lui $t1, %hi(D_800E9F14) # $t1, 0x800f -/* 0C7610 800C6A10 3C0A800F */ lui $t2, %hi(D_800EA1D4) # $t2, 0x800f -/* 0C7614 800C6A14 254AA1D4 */ addiu $t2, %lo(D_800EA1D4) # addiu $t2, $t2, -0x5e2c -/* 0C7618 800C6A18 25299F14 */ addiu $t1, %lo(D_800E9F14) # addiu $t1, $t1, -0x60ec -/* 0C761C 800C6A1C 3C040100 */ lui $a0, (0x0100F40A >> 16) # lui $a0, 0x100 -/* 0C7620 800C6A20 260B0014 */ addiu $t3, $s0, 0x14 -/* 0C7624 800C6A24 AFAB0014 */ sw $t3, 0x14($sp) -/* 0C7628 800C6A28 3484F40A */ ori $a0, (0x0100F40A & 0xFFFF) # ori $a0, $a0, 0xf40a -/* 0C762C 800C6A2C 00493821 */ addu $a3, $v0, $t1 -/* 0C7630 800C6A30 AFAA0010 */ sw $t2, 0x10($sp) -/* 0C7634 800C6A34 0C031052 */ jal play_sound -/* 0C7638 800C6A38 02002825 */ move $a1, $s0 -/* 0C763C 800C6A3C 3C0C0100 */ lui $t4, (0x0100F40A >> 16) # lui $t4, 0x100 -/* 0C7640 800C6A40 358CF40A */ ori $t4, (0x0100F40A & 0xFFFF) # ori $t4, $t4, 0xf40a -/* 0C7644 800C6A44 AE2C0000 */ sw $t4, ($s1) -/* 0C7648 800C6A48 1000018D */ b .L800C7080 -/* 0C764C 800C6A4C 8E430000 */ lw $v1, ($s2) -glabel L800C6A50 -/* 0C7650 800C6A50 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f -/* 0C7654 800C6A54 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c -/* 0C7658 800C6A58 3C0D800F */ lui $t5, %hi(D_800E9F14) # $t5, 0x800f -/* 0C765C 800C6A5C 25AD9F14 */ addiu $t5, %lo(D_800E9F14) # addiu $t5, $t5, -0x60ec -/* 0C7660 800C6A60 004E7821 */ addu $t7, $v0, $t6 -/* 0C7664 800C6A64 3C040100 */ lui $a0, (0x0100F01E >> 16) # lui $a0, 0x100 -/* 0C7668 800C6A68 26180014 */ addiu $t8, $s0, 0x14 -/* 0C766C 800C6A6C AFB80014 */ sw $t8, 0x14($sp) -/* 0C7670 800C6A70 3484F01E */ ori $a0, (0x0100F01E & 0xFFFF) # ori $a0, $a0, 0xf01e -/* 0C7674 800C6A74 AFAF0010 */ sw $t7, 0x10($sp) -/* 0C7678 800C6A78 004D3821 */ addu $a3, $v0, $t5 -/* 0C767C 800C6A7C 0C031052 */ jal play_sound -/* 0C7680 800C6A80 02002825 */ move $a1, $s0 -/* 0C7684 800C6A84 3C190100 */ lui $t9, (0x0100F01E >> 16) # lui $t9, 0x100 -/* 0C7688 800C6A88 3739F01E */ ori $t9, (0x0100F01E & 0xFFFF) # ori $t9, $t9, 0xf01e -/* 0C768C 800C6A8C AE390000 */ sw $t9, ($s1) -/* 0C7690 800C6A90 1000017B */ b .L800C7080 -/* 0C7694 800C6A94 8E430000 */ lw $v1, ($s2) -glabel L800C6A98 -/* 0C7698 800C6A98 3C08800F */ lui $t0, %hi(D_800E9F14) # $t0, 0x800f -/* 0C769C 800C6A9C 3C09800F */ lui $t1, %hi(D_800EA1D4) # $t1, 0x800f -/* 0C76A0 800C6AA0 2529A1D4 */ addiu $t1, %lo(D_800EA1D4) # addiu $t1, $t1, -0x5e2c -/* 0C76A4 800C6AA4 25089F14 */ addiu $t0, %lo(D_800E9F14) # addiu $t0, $t0, -0x60ec -/* 0C76A8 800C6AA8 3C040100 */ lui $a0, (0x0100F01F >> 16) # lui $a0, 0x100 -/* 0C76AC 800C6AAC 260A0014 */ addiu $t2, $s0, 0x14 -/* 0C76B0 800C6AB0 AFAA0014 */ sw $t2, 0x14($sp) -/* 0C76B4 800C6AB4 3484F01F */ ori $a0, (0x0100F01F & 0xFFFF) # ori $a0, $a0, 0xf01f -/* 0C76B8 800C6AB8 00483821 */ addu $a3, $v0, $t0 -/* 0C76BC 800C6ABC AFA90010 */ sw $t1, 0x10($sp) -/* 0C76C0 800C6AC0 0C031052 */ jal play_sound -/* 0C76C4 800C6AC4 02002825 */ move $a1, $s0 -/* 0C76C8 800C6AC8 3C0B0100 */ lui $t3, (0x0100F01F >> 16) # lui $t3, 0x100 -/* 0C76CC 800C6ACC 356BF01F */ ori $t3, (0x0100F01F & 0xFFFF) # ori $t3, $t3, 0xf01f -/* 0C76D0 800C6AD0 AE2B0000 */ sw $t3, ($s1) -/* 0C76D4 800C6AD4 1000016A */ b .L800C7080 -/* 0C76D8 800C6AD8 8E430000 */ lw $v1, ($s2) -glabel L800C6ADC -/* 0C76DC 800C6ADC 3C0C800F */ lui $t4, %hi(D_800E9F14) # $t4, 0x800f -/* 0C76E0 800C6AE0 3C0D800F */ lui $t5, %hi(D_800EA1D4) # $t5, 0x800f -/* 0C76E4 800C6AE4 25ADA1D4 */ addiu $t5, %lo(D_800EA1D4) # addiu $t5, $t5, -0x5e2c -/* 0C76E8 800C6AE8 258C9F14 */ addiu $t4, %lo(D_800E9F14) # addiu $t4, $t4, -0x60ec -/* 0C76EC 800C6AEC 3C040100 */ lui $a0, (0x0100F021 >> 16) # lui $a0, 0x100 -/* 0C76F0 800C6AF0 260E0014 */ addiu $t6, $s0, 0x14 -/* 0C76F4 800C6AF4 AFAE0014 */ sw $t6, 0x14($sp) -/* 0C76F8 800C6AF8 3484F021 */ ori $a0, (0x0100F021 & 0xFFFF) # ori $a0, $a0, 0xf021 -/* 0C76FC 800C6AFC 004C3821 */ addu $a3, $v0, $t4 -/* 0C7700 800C6B00 AFAD0010 */ sw $t5, 0x10($sp) -/* 0C7704 800C6B04 0C031052 */ jal play_sound -/* 0C7708 800C6B08 02002825 */ move $a1, $s0 -/* 0C770C 800C6B0C 3C0F0100 */ lui $t7, (0x0100F021 >> 16) # lui $t7, 0x100 -/* 0C7710 800C6B10 35EFF021 */ ori $t7, (0x0100F021 & 0xFFFF) # ori $t7, $t7, 0xf021 -/* 0C7714 800C6B14 AE2F0000 */ sw $t7, ($s1) -/* 0C7718 800C6B18 10000159 */ b .L800C7080 -/* 0C771C 800C6B1C 8E430000 */ lw $v1, ($s2) -glabel L800C6B20 -/* 0C7720 800C6B20 3C18800F */ lui $t8, %hi(D_800E9F14) # $t8, 0x800f -/* 0C7724 800C6B24 3C19800F */ lui $t9, %hi(D_800EA1D4) # $t9, 0x800f -/* 0C7728 800C6B28 2739A1D4 */ addiu $t9, %lo(D_800EA1D4) # addiu $t9, $t9, -0x5e2c -/* 0C772C 800C6B2C 27189F14 */ addiu $t8, %lo(D_800E9F14) # addiu $t8, $t8, -0x60ec -/* 0C7730 800C6B30 3C040100 */ lui $a0, (0x0100F027 >> 16) # lui $a0, 0x100 -/* 0C7734 800C6B34 26080014 */ addiu $t0, $s0, 0x14 -/* 0C7738 800C6B38 AFA80014 */ sw $t0, 0x14($sp) -/* 0C773C 800C6B3C 3484F027 */ ori $a0, (0x0100F027 & 0xFFFF) # ori $a0, $a0, 0xf027 -/* 0C7740 800C6B40 00583821 */ addu $a3, $v0, $t8 -/* 0C7744 800C6B44 AFB90010 */ sw $t9, 0x10($sp) -/* 0C7748 800C6B48 0C031052 */ jal play_sound -/* 0C774C 800C6B4C 02002825 */ move $a1, $s0 -/* 0C7750 800C6B50 3C090100 */ lui $t1, (0x0100F027 >> 16) # lui $t1, 0x100 -/* 0C7754 800C6B54 3529F027 */ ori $t1, (0x0100F027 & 0xFFFF) # ori $t1, $t1, 0xf027 -/* 0C7758 800C6B58 AE290000 */ sw $t1, ($s1) -/* 0C775C 800C6B5C 10000148 */ b .L800C7080 -/* 0C7760 800C6B60 8E430000 */ lw $v1, ($s2) -glabel L800C6B64 -/* 0C7764 800C6B64 3C0A800F */ lui $t2, %hi(D_800E9F14) # $t2, 0x800f -/* 0C7768 800C6B68 3C0B800F */ lui $t3, %hi(D_800EA1D4) # $t3, 0x800f -/* 0C776C 800C6B6C 256BA1D4 */ addiu $t3, %lo(D_800EA1D4) # addiu $t3, $t3, -0x5e2c -/* 0C7770 800C6B70 254A9F14 */ addiu $t2, %lo(D_800E9F14) # addiu $t2, $t2, -0x60ec -/* 0C7774 800C6B74 3C040100 */ lui $a0, (0x0100F020 >> 16) # lui $a0, 0x100 -/* 0C7778 800C6B78 260C0014 */ addiu $t4, $s0, 0x14 -/* 0C777C 800C6B7C AFAC0014 */ sw $t4, 0x14($sp) -/* 0C7780 800C6B80 3484F020 */ ori $a0, (0x0100F020 & 0xFFFF) # ori $a0, $a0, 0xf020 -/* 0C7784 800C6B84 004A3821 */ addu $a3, $v0, $t2 -/* 0C7788 800C6B88 AFAB0010 */ sw $t3, 0x10($sp) -/* 0C778C 800C6B8C 0C031052 */ jal play_sound -/* 0C7790 800C6B90 02002825 */ move $a1, $s0 -/* 0C7794 800C6B94 3C0D0100 */ lui $t5, (0x0100F020 >> 16) # lui $t5, 0x100 -/* 0C7798 800C6B98 35ADF020 */ ori $t5, (0x0100F020 & 0xFFFF) # ori $t5, $t5, 0xf020 -/* 0C779C 800C6B9C AE2D0000 */ sw $t5, ($s1) -/* 0C77A0 800C6BA0 10000137 */ b .L800C7080 -/* 0C77A4 800C6BA4 8E430000 */ lw $v1, ($s2) -glabel L800C6BA8 -/* 0C77A8 800C6BA8 3C0E800F */ lui $t6, %hi(D_800E9F14) # $t6, 0x800f -/* 0C77AC 800C6BAC 3C0F800F */ lui $t7, %hi(D_800EA1D4) # $t7, 0x800f -/* 0C77B0 800C6BB0 25EFA1D4 */ addiu $t7, %lo(D_800EA1D4) # addiu $t7, $t7, -0x5e2c -/* 0C77B4 800C6BB4 25CE9F14 */ addiu $t6, %lo(D_800E9F14) # addiu $t6, $t6, -0x60ec -/* 0C77B8 800C6BB8 3C040100 */ lui $a0, (0x0100F023 >> 16) # lui $a0, 0x100 -/* 0C77BC 800C6BBC 26180014 */ addiu $t8, $s0, 0x14 -/* 0C77C0 800C6BC0 AFB80014 */ sw $t8, 0x14($sp) -/* 0C77C4 800C6BC4 3484F023 */ ori $a0, (0x0100F023 & 0xFFFF) # ori $a0, $a0, 0xf023 -/* 0C77C8 800C6BC8 004E3821 */ addu $a3, $v0, $t6 -/* 0C77CC 800C6BCC AFAF0010 */ sw $t7, 0x10($sp) -/* 0C77D0 800C6BD0 0C031052 */ jal play_sound -/* 0C77D4 800C6BD4 02002825 */ move $a1, $s0 -/* 0C77D8 800C6BD8 3C190100 */ lui $t9, (0x0100F023 >> 16) # lui $t9, 0x100 -/* 0C77DC 800C6BDC 3739F023 */ ori $t9, (0x0100F023 & 0xFFFF) # ori $t9, $t9, 0xf023 -/* 0C77E0 800C6BE0 AE390000 */ sw $t9, ($s1) -/* 0C77E4 800C6BE4 10000126 */ b .L800C7080 -/* 0C77E8 800C6BE8 8E430000 */ lw $v1, ($s2) -glabel L800C6BEC -/* 0C77EC 800C6BEC 3C08800F */ lui $t0, %hi(D_800E9F14) # $t0, 0x800f -/* 0C77F0 800C6BF0 3C09800F */ lui $t1, %hi(D_800EA1D4) # $t1, 0x800f -/* 0C77F4 800C6BF4 2529A1D4 */ addiu $t1, %lo(D_800EA1D4) # addiu $t1, $t1, -0x5e2c -/* 0C77F8 800C6BF8 25089F14 */ addiu $t0, %lo(D_800E9F14) # addiu $t0, $t0, -0x60ec -/* 0C77FC 800C6BFC 3C040100 */ lui $a0, (0x01008046 >> 16) # lui $a0, 0x100 -/* 0C7800 800C6C00 260A0014 */ addiu $t2, $s0, 0x14 -/* 0C7804 800C6C04 AFAA0014 */ sw $t2, 0x14($sp) -/* 0C7808 800C6C08 34848046 */ ori $a0, (0x01008046 & 0xFFFF) # ori $a0, $a0, 0x8046 -/* 0C780C 800C6C0C 00483821 */ addu $a3, $v0, $t0 -/* 0C7810 800C6C10 AFA90010 */ sw $t1, 0x10($sp) -/* 0C7814 800C6C14 0C031052 */ jal play_sound -/* 0C7818 800C6C18 02002825 */ move $a1, $s0 -/* 0C781C 800C6C1C 3C0B0100 */ lui $t3, (0x01008046 >> 16) # lui $t3, 0x100 -/* 0C7820 800C6C20 356B8046 */ ori $t3, (0x01008046 & 0xFFFF) # ori $t3, $t3, 0x8046 -/* 0C7824 800C6C24 AE2B0000 */ sw $t3, ($s1) -/* 0C7828 800C6C28 10000115 */ b .L800C7080 -/* 0C782C 800C6C2C 8E430000 */ lw $v1, ($s2) -glabel L800C6C30 -/* 0C7830 800C6C30 3C0C800F */ lui $t4, %hi(D_800E9F14) # $t4, 0x800f -/* 0C7834 800C6C34 3C0D800F */ lui $t5, %hi(D_800EA1D4) # $t5, 0x800f -/* 0C7838 800C6C38 25ADA1D4 */ addiu $t5, %lo(D_800EA1D4) # addiu $t5, $t5, -0x5e2c -/* 0C783C 800C6C3C 258C9F14 */ addiu $t4, %lo(D_800E9F14) # addiu $t4, $t4, -0x60ec -/* 0C7840 800C6C40 3C040100 */ lui $a0, (0x0100F025 >> 16) # lui $a0, 0x100 -/* 0C7844 800C6C44 260E0014 */ addiu $t6, $s0, 0x14 -/* 0C7848 800C6C48 AFAE0014 */ sw $t6, 0x14($sp) -/* 0C784C 800C6C4C 3484F025 */ ori $a0, (0x0100F025 & 0xFFFF) # ori $a0, $a0, 0xf025 -/* 0C7850 800C6C50 004C3821 */ addu $a3, $v0, $t4 -/* 0C7854 800C6C54 AFAD0010 */ sw $t5, 0x10($sp) -/* 0C7858 800C6C58 0C031052 */ jal play_sound -/* 0C785C 800C6C5C 02002825 */ move $a1, $s0 -/* 0C7860 800C6C60 3C0F0100 */ lui $t7, (0x0100F025 >> 16) # lui $t7, 0x100 -/* 0C7864 800C6C64 35EFF025 */ ori $t7, (0x0100F025 & 0xFFFF) # ori $t7, $t7, 0xf025 -/* 0C7868 800C6C68 AE2F0000 */ sw $t7, ($s1) -/* 0C786C 800C6C6C 10000104 */ b .L800C7080 -/* 0C7870 800C6C70 8E430000 */ lw $v1, ($s2) -glabel L800C6C74 -/* 0C7874 800C6C74 3C18800F */ lui $t8, %hi(D_800E9EF4) # $t8, 0x800f -/* 0C7878 800C6C78 27189EF4 */ addiu $t8, %lo(D_800E9EF4) # addiu $t8, $t8, -0x610c -/* 0C787C 800C6C7C 0058C821 */ addu $t9, $v0, $t8 -/* 0C7880 800C6C80 3C040100 */ lui $a0, (0x0100F00B >> 16) # lui $a0, 0x100 -/* 0C7884 800C6C84 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7888 800C6C88 26080014 */ addiu $t0, $s0, 0x14 -/* 0C788C 800C6C8C AFA80014 */ sw $t0, 0x14($sp) -/* 0C7890 800C6C90 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7894 800C6C94 3484F00B */ ori $a0, (0x0100F00B & 0xFFFF) # ori $a0, $a0, 0xf00b -/* 0C7898 800C6C98 AFB90010 */ sw $t9, 0x10($sp) -/* 0C789C 800C6C9C 0C031052 */ jal play_sound -/* 0C78A0 800C6CA0 02002825 */ move $a1, $s0 -/* 0C78A4 800C6CA4 3C090100 */ lui $t1, (0x0100F00B >> 16) # lui $t1, 0x100 -/* 0C78A8 800C6CA8 3529F00B */ ori $t1, (0x0100F00B & 0xFFFF) # ori $t1, $t1, 0xf00b -/* 0C78AC 800C6CAC AE290000 */ sw $t1, ($s1) -/* 0C78B0 800C6CB0 100000F3 */ b .L800C7080 -/* 0C78B4 800C6CB4 8E430000 */ lw $v1, ($s2) -glabel L800C6CB8 -/* 0C78B8 800C6CB8 3C0A800F */ lui $t2, %hi(D_800E9EF4) # $t2, 0x800f -/* 0C78BC 800C6CBC 254A9EF4 */ addiu $t2, %lo(D_800E9EF4) # addiu $t2, $t2, -0x610c -/* 0C78C0 800C6CC0 004A5821 */ addu $t3, $v0, $t2 -/* 0C78C4 800C6CC4 3C040100 */ lui $a0, (0x0100F00C >> 16) # lui $a0, 0x100 -/* 0C78C8 800C6CC8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C78CC 800C6CCC 260C0014 */ addiu $t4, $s0, 0x14 -/* 0C78D0 800C6CD0 AFAC0014 */ sw $t4, 0x14($sp) -/* 0C78D4 800C6CD4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C78D8 800C6CD8 3484F00C */ ori $a0, (0x0100F00C & 0xFFFF) # ori $a0, $a0, 0xf00c -/* 0C78DC 800C6CDC AFAB0010 */ sw $t3, 0x10($sp) -/* 0C78E0 800C6CE0 0C031052 */ jal play_sound -/* 0C78E4 800C6CE4 02002825 */ move $a1, $s0 -/* 0C78E8 800C6CE8 3C0D0100 */ lui $t5, (0x0100F00C >> 16) # lui $t5, 0x100 -/* 0C78EC 800C6CEC 35ADF00C */ ori $t5, (0x0100F00C & 0xFFFF) # ori $t5, $t5, 0xf00c -/* 0C78F0 800C6CF0 AE2D0000 */ sw $t5, ($s1) -/* 0C78F4 800C6CF4 100000E2 */ b .L800C7080 -/* 0C78F8 800C6CF8 8E430000 */ lw $v1, ($s2) -glabel L800C6CFC -/* 0C78FC 800C6CFC 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f -/* 0C7900 800C6D00 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c -/* 0C7904 800C6D04 004E7821 */ addu $t7, $v0, $t6 -/* 0C7908 800C6D08 3C040100 */ lui $a0, (0x0100F00D >> 16) # lui $a0, 0x100 -/* 0C790C 800C6D0C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7910 800C6D10 26180014 */ addiu $t8, $s0, 0x14 -/* 0C7914 800C6D14 AFB80014 */ sw $t8, 0x14($sp) -/* 0C7918 800C6D18 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C791C 800C6D1C 3484F00D */ ori $a0, (0x0100F00D & 0xFFFF) # ori $a0, $a0, 0xf00d -/* 0C7920 800C6D20 AFAF0010 */ sw $t7, 0x10($sp) -/* 0C7924 800C6D24 0C031052 */ jal play_sound -/* 0C7928 800C6D28 02002825 */ move $a1, $s0 -/* 0C792C 800C6D2C 3C190100 */ lui $t9, (0x0100F00D >> 16) # lui $t9, 0x100 -/* 0C7930 800C6D30 3739F00D */ ori $t9, (0x0100F00D & 0xFFFF) # ori $t9, $t9, 0xf00d -/* 0C7934 800C6D34 AE390000 */ sw $t9, ($s1) -/* 0C7938 800C6D38 100000D1 */ b .L800C7080 -/* 0C793C 800C6D3C 8E430000 */ lw $v1, ($s2) -glabel L800C6D40 -/* 0C7940 800C6D40 3C08800F */ lui $t0, %hi(D_800E9EF4) # $t0, 0x800f -/* 0C7944 800C6D44 25089EF4 */ addiu $t0, %lo(D_800E9EF4) # addiu $t0, $t0, -0x610c -/* 0C7948 800C6D48 00484821 */ addu $t1, $v0, $t0 -/* 0C794C 800C6D4C 3C040100 */ lui $a0, (0x0100F00E >> 16) # lui $a0, 0x100 -/* 0C7950 800C6D50 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7954 800C6D54 260A0014 */ addiu $t2, $s0, 0x14 -/* 0C7958 800C6D58 AFAA0014 */ sw $t2, 0x14($sp) -/* 0C795C 800C6D5C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7960 800C6D60 3484F00E */ ori $a0, (0x0100F00E & 0xFFFF) # ori $a0, $a0, 0xf00e -/* 0C7964 800C6D64 AFA90010 */ sw $t1, 0x10($sp) -/* 0C7968 800C6D68 0C031052 */ jal play_sound -/* 0C796C 800C6D6C 02002825 */ move $a1, $s0 -/* 0C7970 800C6D70 3C0B0100 */ lui $t3, (0x0100F00E >> 16) # lui $t3, 0x100 -/* 0C7974 800C6D74 356BF00E */ ori $t3, (0x0100F00E & 0xFFFF) # ori $t3, $t3, 0xf00e -/* 0C7978 800C6D78 AE2B0000 */ sw $t3, ($s1) -/* 0C797C 800C6D7C 100000C0 */ b .L800C7080 -/* 0C7980 800C6D80 8E430000 */ lw $v1, ($s2) -glabel L800C6D84 -/* 0C7984 800C6D84 3C0C800F */ lui $t4, %hi(D_800E9EF4) # $t4, 0x800f -/* 0C7988 800C6D88 258C9EF4 */ addiu $t4, %lo(D_800E9EF4) # addiu $t4, $t4, -0x610c -/* 0C798C 800C6D8C 004C6821 */ addu $t5, $v0, $t4 -/* 0C7990 800C6D90 3C040100 */ lui $a0, (0x0100F00F >> 16) # lui $a0, 0x100 -/* 0C7994 800C6D94 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7998 800C6D98 260E0014 */ addiu $t6, $s0, 0x14 -/* 0C799C 800C6D9C AFAE0014 */ sw $t6, 0x14($sp) -/* 0C79A0 800C6DA0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C79A4 800C6DA4 3484F00F */ ori $a0, (0x0100F00F & 0xFFFF) # ori $a0, $a0, 0xf00f -/* 0C79A8 800C6DA8 AFAD0010 */ sw $t5, 0x10($sp) -/* 0C79AC 800C6DAC 0C031052 */ jal play_sound -/* 0C79B0 800C6DB0 02002825 */ move $a1, $s0 -/* 0C79B4 800C6DB4 3C0F0100 */ lui $t7, (0x0100F00F >> 16) # lui $t7, 0x100 -/* 0C79B8 800C6DB8 35EFF00F */ ori $t7, (0x0100F00F & 0xFFFF) # ori $t7, $t7, 0xf00f -/* 0C79BC 800C6DBC AE2F0000 */ sw $t7, ($s1) -/* 0C79C0 800C6DC0 100000AF */ b .L800C7080 -/* 0C79C4 800C6DC4 8E430000 */ lw $v1, ($s2) -glabel L800C6DC8 -/* 0C79C8 800C6DC8 3C18800F */ lui $t8, %hi(D_800E9EF4) # $t8, 0x800f -/* 0C79CC 800C6DCC 27189EF4 */ addiu $t8, %lo(D_800E9EF4) # addiu $t8, $t8, -0x610c -/* 0C79D0 800C6DD0 0058C821 */ addu $t9, $v0, $t8 -/* 0C79D4 800C6DD4 3C040100 */ lui $a0, (0x0100F010 >> 16) # lui $a0, 0x100 -/* 0C79D8 800C6DD8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C79DC 800C6DDC 26080014 */ addiu $t0, $s0, 0x14 -/* 0C79E0 800C6DE0 AFA80014 */ sw $t0, 0x14($sp) -/* 0C79E4 800C6DE4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C79E8 800C6DE8 3484F010 */ ori $a0, (0x0100F010 & 0xFFFF) # ori $a0, $a0, 0xf010 -/* 0C79EC 800C6DEC AFB90010 */ sw $t9, 0x10($sp) -/* 0C79F0 800C6DF0 0C031052 */ jal play_sound -/* 0C79F4 800C6DF4 02002825 */ move $a1, $s0 -/* 0C79F8 800C6DF8 3C090100 */ lui $t1, (0x0100F010 >> 16) # lui $t1, 0x100 -/* 0C79FC 800C6DFC 3529F010 */ ori $t1, (0x0100F010 & 0xFFFF) # ori $t1, $t1, 0xf010 -/* 0C7A00 800C6E00 AE290000 */ sw $t1, ($s1) -/* 0C7A04 800C6E04 1000009E */ b .L800C7080 -/* 0C7A08 800C6E08 8E430000 */ lw $v1, ($s2) -glabel L800C6E0C -/* 0C7A0C 800C6E0C 3C0A800F */ lui $t2, %hi(D_800E9EF4) # $t2, 0x800f -/* 0C7A10 800C6E10 254A9EF4 */ addiu $t2, %lo(D_800E9EF4) # addiu $t2, $t2, -0x610c -/* 0C7A14 800C6E14 004A5821 */ addu $t3, $v0, $t2 -/* 0C7A18 800C6E18 3C040100 */ lui $a0, (0x0100F011 >> 16) # lui $a0, 0x100 -/* 0C7A1C 800C6E1C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7A20 800C6E20 260C0014 */ addiu $t4, $s0, 0x14 -/* 0C7A24 800C6E24 AFAC0014 */ sw $t4, 0x14($sp) -/* 0C7A28 800C6E28 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7A2C 800C6E2C 3484F011 */ ori $a0, (0x0100F011 & 0xFFFF) # ori $a0, $a0, 0xf011 -/* 0C7A30 800C6E30 AFAB0010 */ sw $t3, 0x10($sp) -/* 0C7A34 800C6E34 0C031052 */ jal play_sound -/* 0C7A38 800C6E38 02002825 */ move $a1, $s0 -/* 0C7A3C 800C6E3C 3C0D0100 */ lui $t5, (0x0100F011 >> 16) # lui $t5, 0x100 -/* 0C7A40 800C6E40 35ADF011 */ ori $t5, (0x0100F011 & 0xFFFF) # ori $t5, $t5, 0xf011 -/* 0C7A44 800C6E44 AE2D0000 */ sw $t5, ($s1) -/* 0C7A48 800C6E48 1000008D */ b .L800C7080 -/* 0C7A4C 800C6E4C 8E430000 */ lw $v1, ($s2) -glabel L800C6E50 -/* 0C7A50 800C6E50 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f -/* 0C7A54 800C6E54 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c -/* 0C7A58 800C6E58 004E7821 */ addu $t7, $v0, $t6 -/* 0C7A5C 800C6E5C 3C040100 */ lui $a0, (0x0100F012 >> 16) # lui $a0, 0x100 -/* 0C7A60 800C6E60 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7A64 800C6E64 26180014 */ addiu $t8, $s0, 0x14 -/* 0C7A68 800C6E68 AFB80014 */ sw $t8, 0x14($sp) -/* 0C7A6C 800C6E6C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7A70 800C6E70 3484F012 */ ori $a0, (0x0100F012 & 0xFFFF) # ori $a0, $a0, 0xf012 -/* 0C7A74 800C6E74 AFAF0010 */ sw $t7, 0x10($sp) -/* 0C7A78 800C6E78 0C031052 */ jal play_sound -/* 0C7A7C 800C6E7C 02002825 */ move $a1, $s0 -/* 0C7A80 800C6E80 3C190100 */ lui $t9, (0x0100F012 >> 16) # lui $t9, 0x100 -/* 0C7A84 800C6E84 3739F012 */ ori $t9, (0x0100F012 & 0xFFFF) # ori $t9, $t9, 0xf012 -/* 0C7A88 800C6E88 AE390000 */ sw $t9, ($s1) -/* 0C7A8C 800C6E8C 1000007C */ b .L800C7080 -/* 0C7A90 800C6E90 8E430000 */ lw $v1, ($s2) -glabel L800C6E94 -/* 0C7A94 800C6E94 3C08800F */ lui $t0, %hi(D_800E9EF4) # $t0, 0x800f -/* 0C7A98 800C6E98 25089EF4 */ addiu $t0, %lo(D_800E9EF4) # addiu $t0, $t0, -0x610c -/* 0C7A9C 800C6E9C 00484821 */ addu $t1, $v0, $t0 -/* 0C7AA0 800C6EA0 3C040100 */ lui $a0, (0x0100F013 >> 16) # lui $a0, 0x100 -/* 0C7AA4 800C6EA4 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7AA8 800C6EA8 260A0014 */ addiu $t2, $s0, 0x14 -/* 0C7AAC 800C6EAC AFAA0014 */ sw $t2, 0x14($sp) -/* 0C7AB0 800C6EB0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7AB4 800C6EB4 3484F013 */ ori $a0, (0x0100F013 & 0xFFFF) # ori $a0, $a0, 0xf013 -/* 0C7AB8 800C6EB8 AFA90010 */ sw $t1, 0x10($sp) -/* 0C7ABC 800C6EBC 0C031052 */ jal play_sound -/* 0C7AC0 800C6EC0 02002825 */ move $a1, $s0 -/* 0C7AC4 800C6EC4 3C0B0100 */ lui $t3, (0x0100F013 >> 16) # lui $t3, 0x100 -/* 0C7AC8 800C6EC8 356BF013 */ ori $t3, (0x0100F013 & 0xFFFF) # ori $t3, $t3, 0xf013 -/* 0C7ACC 800C6ECC AE2B0000 */ sw $t3, ($s1) -/* 0C7AD0 800C6ED0 1000006B */ b .L800C7080 -/* 0C7AD4 800C6ED4 8E430000 */ lw $v1, ($s2) -glabel L800C6ED8 -/* 0C7AD8 800C6ED8 3C0C800F */ lui $t4, %hi(D_800E9EF4) # $t4, 0x800f -/* 0C7ADC 800C6EDC 258C9EF4 */ addiu $t4, %lo(D_800E9EF4) # addiu $t4, $t4, -0x610c -/* 0C7AE0 800C6EE0 004C6821 */ addu $t5, $v0, $t4 -/* 0C7AE4 800C6EE4 3C040100 */ lui $a0, (0x0100F048 >> 16) # lui $a0, 0x100 -/* 0C7AE8 800C6EE8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7AEC 800C6EEC 260E0014 */ addiu $t6, $s0, 0x14 -/* 0C7AF0 800C6EF0 AFAE0014 */ sw $t6, 0x14($sp) -/* 0C7AF4 800C6EF4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7AF8 800C6EF8 3484F048 */ ori $a0, (0x0100F048 & 0xFFFF) # ori $a0, $a0, 0xf048 -/* 0C7AFC 800C6EFC AFAD0010 */ sw $t5, 0x10($sp) -/* 0C7B00 800C6F00 0C031052 */ jal play_sound -/* 0C7B04 800C6F04 02002825 */ move $a1, $s0 -/* 0C7B08 800C6F08 3C0F0100 */ lui $t7, (0x0100F048 >> 16) # lui $t7, 0x100 -/* 0C7B0C 800C6F0C 35EFF048 */ ori $t7, (0x0100F048 & 0xFFFF) # ori $t7, $t7, 0xf048 -/* 0C7B10 800C6F10 AE2F0000 */ sw $t7, ($s1) -/* 0C7B14 800C6F14 1000005A */ b .L800C7080 -/* 0C7B18 800C6F18 8E430000 */ lw $v1, ($s2) -glabel L800C6F1C -/* 0C7B1C 800C6F1C 3C18800F */ lui $t8, %hi(D_800E9EF4) # $t8, 0x800f -/* 0C7B20 800C6F20 27189EF4 */ addiu $t8, %lo(D_800E9EF4) # addiu $t8, $t8, -0x610c -/* 0C7B24 800C6F24 0058C821 */ addu $t9, $v0, $t8 -/* 0C7B28 800C6F28 3C040100 */ lui $a0, (0x0100F049 >> 16) # lui $a0, 0x100 -/* 0C7B2C 800C6F2C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7B30 800C6F30 26080014 */ addiu $t0, $s0, 0x14 -/* 0C7B34 800C6F34 AFA80014 */ sw $t0, 0x14($sp) -/* 0C7B38 800C6F38 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7B3C 800C6F3C 3484F049 */ ori $a0, (0x0100F049 & 0xFFFF) # ori $a0, $a0, 0xf049 -/* 0C7B40 800C6F40 AFB90010 */ sw $t9, 0x10($sp) -/* 0C7B44 800C6F44 0C031052 */ jal play_sound -/* 0C7B48 800C6F48 02002825 */ move $a1, $s0 -/* 0C7B4C 800C6F4C 3C090100 */ lui $t1, (0x0100F049 >> 16) # lui $t1, 0x100 -/* 0C7B50 800C6F50 3529F049 */ ori $t1, (0x0100F049 & 0xFFFF) # ori $t1, $t1, 0xf049 -/* 0C7B54 800C6F54 AE290000 */ sw $t1, ($s1) -/* 0C7B58 800C6F58 10000049 */ b .L800C7080 -/* 0C7B5C 800C6F5C 8E430000 */ lw $v1, ($s2) -glabel L800C6F60 -/* 0C7B60 800C6F60 3C0A800F */ lui $t2, %hi(D_800E9EF4) # $t2, 0x800f -/* 0C7B64 800C6F64 254A9EF4 */ addiu $t2, %lo(D_800E9EF4) # addiu $t2, $t2, -0x610c -/* 0C7B68 800C6F68 004A5821 */ addu $t3, $v0, $t2 -/* 0C7B6C 800C6F6C 3C040100 */ lui $a0, (0x0100F04A >> 16) # lui $a0, 0x100 -/* 0C7B70 800C6F70 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7B74 800C6F74 260C0014 */ addiu $t4, $s0, 0x14 -/* 0C7B78 800C6F78 AFAC0014 */ sw $t4, 0x14($sp) -/* 0C7B7C 800C6F7C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7B80 800C6F80 3484F04A */ ori $a0, (0x0100F04A & 0xFFFF) # ori $a0, $a0, 0xf04a -/* 0C7B84 800C6F84 AFAB0010 */ sw $t3, 0x10($sp) -/* 0C7B88 800C6F88 0C031052 */ jal play_sound -/* 0C7B8C 800C6F8C 02002825 */ move $a1, $s0 -/* 0C7B90 800C6F90 3C0D0100 */ lui $t5, (0x0100F04A >> 16) # lui $t5, 0x100 -/* 0C7B94 800C6F94 35ADF04A */ ori $t5, (0x0100F04A & 0xFFFF) # ori $t5, $t5, 0xf04a -/* 0C7B98 800C6F98 AE2D0000 */ sw $t5, ($s1) -/* 0C7B9C 800C6F9C 10000038 */ b .L800C7080 -/* 0C7BA0 800C6FA0 8E430000 */ lw $v1, ($s2) -glabel L800C6FA4 -/* 0C7BA4 800C6FA4 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f -/* 0C7BA8 800C6FA8 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c -/* 0C7BAC 800C6FAC 004E7821 */ addu $t7, $v0, $t6 -/* 0C7BB0 800C6FB0 3C040100 */ lui $a0, (0x0100F029 >> 16) # lui $a0, 0x100 -/* 0C7BB4 800C6FB4 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7BB8 800C6FB8 26180014 */ addiu $t8, $s0, 0x14 -/* 0C7BBC 800C6FBC AFB80014 */ sw $t8, 0x14($sp) -/* 0C7BC0 800C6FC0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7BC4 800C6FC4 3484F029 */ ori $a0, (0x0100F029 & 0xFFFF) # ori $a0, $a0, 0xf029 -/* 0C7BC8 800C6FC8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0C7BCC 800C6FCC 0C031052 */ jal play_sound -/* 0C7BD0 800C6FD0 02002825 */ move $a1, $s0 -/* 0C7BD4 800C6FD4 3C190100 */ lui $t9, (0x0100F029 >> 16) # lui $t9, 0x100 -/* 0C7BD8 800C6FD8 3739F029 */ ori $t9, (0x0100F029 & 0xFFFF) # ori $t9, $t9, 0xf029 -/* 0C7BDC 800C6FDC AE390000 */ sw $t9, ($s1) -/* 0C7BE0 800C6FE0 10000027 */ b .L800C7080 -/* 0C7BE4 800C6FE4 8E430000 */ lw $v1, ($s2) -glabel L800C6FE8 -/* 0C7BE8 800C6FE8 3C08800F */ lui $t0, %hi(D_800E9EF4) # $t0, 0x800f -/* 0C7BEC 800C6FEC 25089EF4 */ addiu $t0, %lo(D_800E9EF4) # addiu $t0, $t0, -0x610c -/* 0C7BF0 800C6FF0 00484821 */ addu $t1, $v0, $t0 -/* 0C7BF4 800C6FF4 3C040100 */ lui $a0, (0x0100F02A >> 16) # lui $a0, 0x100 -/* 0C7BF8 800C6FF8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7BFC 800C6FFC 260A0014 */ addiu $t2, $s0, 0x14 -/* 0C7C00 800C7000 AFAA0014 */ sw $t2, 0x14($sp) -/* 0C7C04 800C7004 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7C08 800C7008 3484F02A */ ori $a0, (0x0100F02A & 0xFFFF) # ori $a0, $a0, 0xf02a -/* 0C7C0C 800C700C AFA90010 */ sw $t1, 0x10($sp) -/* 0C7C10 800C7010 0C031052 */ jal play_sound -/* 0C7C14 800C7014 02002825 */ move $a1, $s0 -/* 0C7C18 800C7018 3C0B0100 */ lui $t3, (0x0100F02A >> 16) # lui $t3, 0x100 -/* 0C7C1C 800C701C 356BF02A */ ori $t3, (0x0100F02A & 0xFFFF) # ori $t3, $t3, 0xf02a -/* 0C7C20 800C7020 AE2B0000 */ sw $t3, ($s1) -/* 0C7C24 800C7024 10000016 */ b .L800C7080 -/* 0C7C28 800C7028 8E430000 */ lw $v1, ($s2) -glabel L800C702C -/* 0C7C2C 800C702C 3C0C800F */ lui $t4, %hi(D_800E9EF4) # $t4, 0x800f -/* 0C7C30 800C7030 258C9EF4 */ addiu $t4, %lo(D_800E9EF4) # addiu $t4, $t4, -0x610c -/* 0C7C34 800C7034 004C6821 */ addu $t5, $v0, $t4 -/* 0C7C38 800C7038 3C040100 */ lui $a0, (0x0100F02B >> 16) # lui $a0, 0x100 -/* 0C7C3C 800C703C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C7C40 800C7040 260E0014 */ addiu $t6, $s0, 0x14 -/* 0C7C44 800C7044 AFAE0014 */ sw $t6, 0x14($sp) -/* 0C7C48 800C7048 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C7C4C 800C704C 3484F02B */ ori $a0, (0x0100F02B & 0xFFFF) # ori $a0, $a0, 0xf02b -/* 0C7C50 800C7050 AFAD0010 */ sw $t5, 0x10($sp) -/* 0C7C54 800C7054 0C031052 */ jal play_sound -/* 0C7C58 800C7058 02002825 */ move $a1, $s0 -/* 0C7C5C 800C705C 3C0F0100 */ lui $t7, (0x0100F02B >> 16) # lui $t7, 0x100 -/* 0C7C60 800C7060 35EFF02B */ ori $t7, (0x0100F02B & 0xFFFF) # ori $t7, $t7, 0xf02b -/* 0C7C64 800C7064 AE2F0000 */ sw $t7, ($s1) -/* 0C7C68 800C7068 10000005 */ b .L800C7080 -/* 0C7C6C 800C706C 8E430000 */ lw $v1, ($s2) -.L800C7070: -glabel L800C7070 -/* 0C7C70 800C7070 02002025 */ move $a0, $s0 -/* 0C7C74 800C7074 0C03155E */ jal func_800C5578 -/* 0C7C78 800C7078 8E250000 */ lw $a1, ($s1) -/* 0C7C7C 800C707C 8E430000 */ lw $v1, ($s2) -.L800C7080: -/* 0C7C80 800C7080 8FD80040 */ lw $t8, 0x40($fp) -/* 0C7C84 800C7084 AF030000 */ sw $v1, ($t8) -.L800C7088: -/* 0C7C88 800C7088 8FDF003C */ lw $ra, 0x3c($fp) -/* 0C7C8C 800C708C 03C0E825 */ move $sp, $fp -/* 0C7C90 800C7090 8FD0002C */ lw $s0, 0x2c($fp) -/* 0C7C94 800C7094 8FD10030 */ lw $s1, 0x30($fp) -/* 0C7C98 800C7098 8FD20034 */ lw $s2, 0x34($fp) -/* 0C7C9C 800C709C 8FDE0038 */ lw $fp, 0x38($fp) -/* 0C7CA0 800C70A0 03E00008 */ jr $ra -/* 0C7CA4 800C70A4 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel func_800C70A8 -/* 0C7CA8 800C70A8 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C7CAC 800C70AC 308500FF */ andi $a1, $a0, 0xff -/* 0C7CB0 800C70B0 3C0E800F */ lui $t6, %hi(D_800EA0EC) -/* 0C7CB4 800C70B4 ADA40010 */ sw $a0, 0x10($t5) -/* 0C7CB8 800C70B8 01C57021 */ addu $t6, $t6, $a1 -/* 0C7CBC 800C70BC 91CEA0EC */ lbu $t6, %lo(D_800EA0EC)($t6) -/* 0C7CC0 800C70C0 3C0F800F */ lui $t7, %hi(D_800E9E74) # $t7, 0x800f -/* 0C7CC4 800C70C4 25EF9E74 */ addiu $t7, %lo(D_800E9E74) # addiu $t7, $t7, -0x618c -/* 0C7CC8 800C70C8 15C0017A */ bnez $t6, .L800C76B4 -/* 0C7CCC 800C70CC 00051880 */ sll $v1, $a1, 2 -/* 0C7CD0 800C70D0 006F1021 */ addu $v0, $v1, $t7 -/* 0C7CD4 800C70D4 AC400000 */ sw $zero, ($v0) -/* 0C7CD8 800C70D8 3C01800F */ lui $at, %hi(D_800F37B8) # $at, 0x800f -/* 0C7CDC 800C70DC C42437B8 */ lwc1 $f4, %lo(D_800F37B8)($at) -/* 0C7CE0 800C70E0 3C01800F */ lui $at, %hi(D_800E9E54) -/* 0C7CE4 800C70E4 00230821 */ addu $at, $at, $v1 -/* 0C7CE8 800C70E8 C4269E54 */ lwc1 $f6, %lo(D_800E9E54)($at) -/* 0C7CEC 800C70EC 0005C0C0 */ sll $t8, $a1, 3 -/* 0C7CF0 800C70F0 0305C023 */ subu $t8, $t8, $a1 -/* 0C7CF4 800C70F4 4606203C */ c.lt.s $f4, $f6 -/* 0C7CF8 800C70F8 0018C100 */ sll $t8, $t8, 4 -/* 0C7CFC 800C70FC 0305C023 */ subu $t8, $t8, $a1 -/* 0C7D00 800C7100 0018C080 */ sll $t8, $t8, 2 -/* 0C7D04 800C7104 45010009 */ bc1t .L800C712C -/* 0C7D08 800C7108 0305C023 */ subu $t8, $t8, $a1 -/* 0C7D0C 800C710C 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 0C7D10 800C7110 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 0C7D14 800C7114 0018C0C0 */ sll $t8, $t8, 3 -/* 0C7D18 800C7118 03191821 */ addu $v1, $t8, $t9 -/* 0C7D1C 800C711C 8C6400BC */ lw $a0, 0xbc($v1) -/* 0C7D20 800C7120 24010010 */ li $at, 16 -/* 0C7D24 800C7124 30890010 */ andi $t1, $a0, 0x10 -/* 0C7D28 800C7128 15210032 */ bne $t1, $at, .L800C71F4 -.L800C712C: -/* 0C7D2C 800C712C 000560C0 */ sll $t4, $a1, 3 -/* 0C7D30 800C7130 01856023 */ subu $t4, $t4, $a1 -/* 0C7D34 800C7134 000C6100 */ sll $t4, $t4, 4 -/* 0C7D38 800C7138 01856023 */ subu $t4, $t4, $a1 -/* 0C7D3C 800C713C 000C6080 */ sll $t4, $t4, 2 -/* 0C7D40 800C7140 01856023 */ subu $t4, $t4, $a1 -/* 0C7D44 800C7144 3C0E800F */ lui $t6, %hi(gPlayers) # $t6, 0x800f -/* 0C7D48 800C7148 25CE6990 */ addiu $t6, %lo(gPlayers) # addiu $t6, $t6, 0x6990 -/* 0C7D4C 800C714C 000C60C0 */ sll $t4, $t4, 3 -/* 0C7D50 800C7150 018E1821 */ addu $v1, $t4, $t6 -/* 0C7D54 800C7154 906F01D4 */ lbu $t7, 0x1d4($v1) -/* 0C7D58 800C7158 8C6400BC */ lw $a0, 0xbc($v1) -/* 0C7D5C 800C715C 240B0001 */ li $t3, 1 -/* 0C7D60 800C7160 25F8FFFE */ addiu $t8, $t7, -2 -/* 0C7D64 800C7164 2F010010 */ sltiu $at, $t8, 0x10 -/* 0C7D68 800C7168 AC4B0000 */ sw $t3, ($v0) -/* 0C7D6C 800C716C 10200021 */ beqz $at, .L800C71F4 -/* 0C7D70 800C7170 30890010 */ andi $t1, $a0, 0x10 -/* 0C7D74 800C7174 0018C080 */ sll $t8, $t8, 2 -/* 0C7D78 800C7178 3C01800F */ lui $at, %hi(D_800F37BC) -/* 0C7D7C 800C717C 00380821 */ addu $at, $at, $t8 -/* 0C7D80 800C7180 8C3837BC */ lw $t8, %lo(D_800F37BC)($at) -/* 0C7D84 800C7184 03000008 */ jr $t8 -/* 0C7D88 800C7188 00000000 */ nop -glabel L800C718C -/* 0C7D8C 800C718C 2419000D */ li $t9, 13 -/* 0C7D90 800C7190 10000018 */ b .L800C71F4 -/* 0C7D94 800C7194 AC590000 */ sw $t9, ($v0) -glabel L800C7198 -/* 0C7D98 800C7198 240B000E */ li $t3, 14 -/* 0C7D9C 800C719C 10000015 */ b .L800C71F4 -/* 0C7DA0 800C71A0 AC4B0000 */ sw $t3, ($v0) -glabel L800C71A4 -/* 0C7DA4 800C71A4 240C0011 */ li $t4, 17 -/* 0C7DA8 800C71A8 10000012 */ b .L800C71F4 -/* 0C7DAC 800C71AC AC4C0000 */ sw $t4, ($v0) -glabel L800C71B0 -/* 0C7DB0 800C71B0 240E000F */ li $t6, 15 -/* 0C7DB4 800C71B4 1000000F */ b .L800C71F4 -/* 0C7DB8 800C71B8 AC4E0000 */ sw $t6, ($v0) -glabel L800C71BC -/* 0C7DBC 800C71BC 240F0010 */ li $t7, 16 -/* 0C7DC0 800C71C0 1000000C */ b .L800C71F4 -/* 0C7DC4 800C71C4 AC4F0000 */ sw $t7, ($v0) -glabel L800C71C8 -/* 0C7DC8 800C71C8 24180014 */ li $t8, 20 -/* 0C7DCC 800C71CC 10000009 */ b .L800C71F4 -/* 0C7DD0 800C71D0 AC580000 */ sw $t8, ($v0) -glabel L800C71D4 -/* 0C7DD4 800C71D4 24070019 */ li $a3, 25 -/* 0C7DD8 800C71D8 10000006 */ b .L800C71F4 -/* 0C7DDC 800C71DC AC470000 */ sw $a3, ($v0) -glabel L800C71E0 -/* 0C7DE0 800C71E0 2406001A */ li $a2, 26 -/* 0C7DE4 800C71E4 10000003 */ b .L800C71F4 -/* 0C7DE8 800C71E8 AC460000 */ sw $a2, ($v0) -glabel L800C71EC -/* 0C7DEC 800C71EC 2408001B */ li $t0, 27 -/* 0C7DF0 800C71F0 AC480000 */ sw $t0, ($v0) -.L800C71F4: -glabel L800C71F4 -/* 0C7DF4 800C71F4 24010010 */ li $at, 16 -/* 0C7DF8 800C71F8 2406001A */ li $a2, 26 -/* 0C7DFC 800C71FC 24070019 */ li $a3, 25 -/* 0C7E00 800C7200 2408001B */ li $t0, 27 -/* 0C7E04 800C7204 15210023 */ bne $t1, $at, .L800C7294 -/* 0C7E08 800C7208 906A01D4 */ lbu $t2, 0x1d4($v1) -/* 0C7E0C 800C720C 254BFFFE */ addiu $t3, $t2, -2 -/* 0C7E10 800C7210 24190002 */ li $t9, 2 -/* 0C7E14 800C7214 2D610010 */ sltiu $at, $t3, 0x10 -/* 0C7E18 800C7218 1020001E */ beqz $at, .L800C7294 -/* 0C7E1C 800C721C AC590000 */ sw $t9, ($v0) -/* 0C7E20 800C7220 000B5880 */ sll $t3, $t3, 2 -/* 0C7E24 800C7224 3C01800F */ lui $at, %hi(D_800F37FC) -/* 0C7E28 800C7228 002B0821 */ addu $at, $at, $t3 -/* 0C7E2C 800C722C 8C2B37FC */ lw $t3, %lo(D_800F37FC)($at) -/* 0C7E30 800C7230 01600008 */ jr $t3 -/* 0C7E34 800C7234 00000000 */ nop -glabel L800C7238 -/* 0C7E38 800C7238 240C000D */ li $t4, 13 -/* 0C7E3C 800C723C 10000015 */ b .L800C7294 -/* 0C7E40 800C7240 AC4C0000 */ sw $t4, ($v0) -glabel L800C7244 -/* 0C7E44 800C7244 240E000E */ li $t6, 14 -/* 0C7E48 800C7248 10000012 */ b .L800C7294 -/* 0C7E4C 800C724C AC4E0000 */ sw $t6, ($v0) -glabel L800C7250 -/* 0C7E50 800C7250 240F0011 */ li $t7, 17 -/* 0C7E54 800C7254 1000000F */ b .L800C7294 -/* 0C7E58 800C7258 AC4F0000 */ sw $t7, ($v0) -glabel L800C725C -/* 0C7E5C 800C725C 2418000F */ li $t8, 15 -/* 0C7E60 800C7260 1000000C */ b .L800C7294 -/* 0C7E64 800C7264 AC580000 */ sw $t8, ($v0) -glabel L800C7268 -/* 0C7E68 800C7268 24190010 */ li $t9, 16 -/* 0C7E6C 800C726C 10000009 */ b .L800C7294 -/* 0C7E70 800C7270 AC590000 */ sw $t9, ($v0) -glabel L800C7274 -/* 0C7E74 800C7274 240B0014 */ li $t3, 20 -/* 0C7E78 800C7278 10000006 */ b .L800C7294 -/* 0C7E7C 800C727C AC4B0000 */ sw $t3, ($v0) -glabel L800C7280 -/* 0C7E80 800C7280 10000004 */ b .L800C7294 -/* 0C7E84 800C7284 AC470000 */ sw $a3, ($v0) -glabel L800C7288 -/* 0C7E88 800C7288 10000002 */ b .L800C7294 -/* 0C7E8C 800C728C AC460000 */ sw $a2, ($v0) -glabel L800C7290 -/* 0C7E90 800C7290 AC480000 */ sw $t0, ($v0) -.L800C7294: -glabel L800C7294 -/* 0C7E94 800C7294 254CFFF9 */ addiu $t4, $t2, -7 -/* 0C7E98 800C7298 2D81000B */ sltiu $at, $t4, 0xb -/* 0C7E9C 800C729C 10200063 */ beqz $at, .L800C742C -/* 0C7EA0 800C72A0 000C6080 */ sll $t4, $t4, 2 -/* 0C7EA4 800C72A4 3C01800F */ lui $at, %hi(D_800F383C) -/* 0C7EA8 800C72A8 002C0821 */ addu $at, $at, $t4 -/* 0C7EAC 800C72AC 8C2C383C */ lw $t4, %lo(D_800F383C)($at) -/* 0C7EB0 800C72B0 01800008 */ jr $t4 -/* 0C7EB4 800C72B4 00000000 */ nop -glabel L800C72B8 -/* 0C7EB8 800C72B8 8C4E0000 */ lw $t6, ($v0) -/* 0C7EBC 800C72BC 24010006 */ li $at, 6 -/* 0C7EC0 800C72C0 240F0004 */ li $t7, 4 -/* 0C7EC4 800C72C4 15C10003 */ bne $t6, $at, .L800C72D4 -/* 0C7EC8 800C72C8 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f -/* 0C7ECC 800C72CC 10000057 */ b .L800C742C -/* 0C7ED0 800C72D0 AC4F0000 */ sw $t7, ($v0) -.L800C72D4: -/* 0C7ED4 800C72D4 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8) -/* 0C7ED8 800C72D8 24190005 */ li $t9, 5 -/* 0C7EDC 800C72DC 240B0004 */ li $t3, 4 -/* 0C7EE0 800C72E0 17000003 */ bnez $t8, .L800C72F0 -/* 0C7EE4 800C72E4 00000000 */ nop -/* 0C7EE8 800C72E8 10000050 */ b .L800C742C -/* 0C7EEC 800C72EC AC590000 */ sw $t9, ($v0) -.L800C72F0: -/* 0C7EF0 800C72F0 1000004E */ b .L800C742C -/* 0C7EF4 800C72F4 AC4B0000 */ sw $t3, ($v0) -glabel L800C72F8 -/* 0C7EF8 800C72F8 8C4C0000 */ lw $t4, ($v0) -/* 0C7EFC 800C72FC 2401000C */ li $at, 12 -/* 0C7F00 800C7300 240E000A */ li $t6, 10 -/* 0C7F04 800C7304 15810003 */ bne $t4, $at, .L800C7314 -/* 0C7F08 800C7308 3C0F800F */ lui $t7, %hi(D_800EA1C0) # $t7, 0x800f -/* 0C7F0C 800C730C 10000047 */ b .L800C742C -/* 0C7F10 800C7310 AC4E0000 */ sw $t6, ($v0) -.L800C7314: -/* 0C7F14 800C7314 91EFA1C0 */ lbu $t7, %lo(D_800EA1C0)($t7) -/* 0C7F18 800C7318 2418000B */ li $t8, 11 -/* 0C7F1C 800C731C 2419000A */ li $t9, 10 -/* 0C7F20 800C7320 15E00003 */ bnez $t7, .L800C7330 -/* 0C7F24 800C7324 00000000 */ nop -/* 0C7F28 800C7328 10000040 */ b .L800C742C -/* 0C7F2C 800C732C AC580000 */ sw $t8, ($v0) -.L800C7330: -/* 0C7F30 800C7330 1000003E */ b .L800C742C -/* 0C7F34 800C7334 AC590000 */ sw $t9, ($v0) -glabel L800C7338 -/* 0C7F38 800C7338 8C4B0000 */ lw $t3, ($v0) -/* 0C7F3C 800C733C 24010018 */ li $at, 24 -/* 0C7F40 800C7340 240C0016 */ li $t4, 22 -/* 0C7F44 800C7344 15610003 */ bne $t3, $at, .L800C7354 -/* 0C7F48 800C7348 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f -/* 0C7F4C 800C734C 10000037 */ b .L800C742C -/* 0C7F50 800C7350 AC4C0000 */ sw $t4, ($v0) -.L800C7354: -/* 0C7F54 800C7354 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6) -/* 0C7F58 800C7358 240F0017 */ li $t7, 23 -/* 0C7F5C 800C735C 24180016 */ li $t8, 22 -/* 0C7F60 800C7360 15C00003 */ bnez $t6, .L800C7370 -/* 0C7F64 800C7364 00000000 */ nop -/* 0C7F68 800C7368 10000030 */ b .L800C742C -/* 0C7F6C 800C736C AC4F0000 */ sw $t7, ($v0) -.L800C7370: -/* 0C7F70 800C7370 1000002E */ b .L800C742C -/* 0C7F74 800C7374 AC580000 */ sw $t8, ($v0) -glabel L800C7378 -/* 0C7F78 800C7378 8C590000 */ lw $t9, ($v0) -/* 0C7F7C 800C737C 2401001F */ li $at, 31 -/* 0C7F80 800C7380 240B001D */ li $t3, 29 -/* 0C7F84 800C7384 17210003 */ bne $t9, $at, .L800C7394 -/* 0C7F88 800C7388 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f -/* 0C7F8C 800C738C 10000027 */ b .L800C742C -/* 0C7F90 800C7390 AC4B0000 */ sw $t3, ($v0) -.L800C7394: -/* 0C7F94 800C7394 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4) -/* 0C7F98 800C7398 240E001E */ li $t6, 30 -/* 0C7F9C 800C739C 240F001D */ li $t7, 29 -/* 0C7FA0 800C73A0 15800003 */ bnez $t4, .L800C73B0 -/* 0C7FA4 800C73A4 00000000 */ nop -/* 0C7FA8 800C73A8 10000020 */ b .L800C742C -/* 0C7FAC 800C73AC AC4E0000 */ sw $t6, ($v0) -.L800C73B0: -/* 0C7FB0 800C73B0 1000001E */ b .L800C742C -/* 0C7FB4 800C73B4 AC4F0000 */ sw $t7, ($v0) -glabel L800C73B8 -/* 0C7FB8 800C73B8 3C18800F */ lui $t8, %hi(D_800E9F74) -/* 0C7FBC 800C73BC 0305C021 */ addu $t8, $t8, $a1 -/* 0C7FC0 800C73C0 93189F74 */ lbu $t8, %lo(D_800E9F74)($t8) -/* 0C7FC4 800C73C4 57000012 */ bnel $t8, $zero, .L800C7410 -/* 0C7FC8 800C73C8 2418001C */ li $t8, 28 -/* 0C7FCC 800C73CC 8C590000 */ lw $t9, ($v0) -/* 0C7FD0 800C73D0 24010009 */ li $at, 9 -/* 0C7FD4 800C73D4 240B0007 */ li $t3, 7 -/* 0C7FD8 800C73D8 17210003 */ bne $t9, $at, .L800C73E8 -/* 0C7FDC 800C73DC 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f -/* 0C7FE0 800C73E0 10000012 */ b .L800C742C -/* 0C7FE4 800C73E4 AC4B0000 */ sw $t3, ($v0) -.L800C73E8: -/* 0C7FE8 800C73E8 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4) -/* 0C7FEC 800C73EC 240E0008 */ li $t6, 8 -/* 0C7FF0 800C73F0 240F0007 */ li $t7, 7 -/* 0C7FF4 800C73F4 15800003 */ bnez $t4, .L800C7404 -/* 0C7FF8 800C73F8 00000000 */ nop -/* 0C7FFC 800C73FC 1000000B */ b .L800C742C -/* 0C8000 800C7400 AC4E0000 */ sw $t6, ($v0) -.L800C7404: -/* 0C8004 800C7404 10000009 */ b .L800C742C -/* 0C8008 800C7408 AC4F0000 */ sw $t7, ($v0) -/* 0C800C 800C740C 2418001C */ li $t8, 28 -.L800C7410: -/* 0C8010 800C7410 10000006 */ b .L800C742C -/* 0C8014 800C7414 AC580000 */ sw $t8, ($v0) -glabel L800C7418 -/* 0C8018 800C7418 10000004 */ b .L800C742C -/* 0C801C 800C741C AC470000 */ sw $a3, ($v0) -glabel L800C7420 -/* 0C8020 800C7420 10000002 */ b .L800C742C -/* 0C8024 800C7424 AC460000 */ sw $a2, ($v0) -glabel L800C7428 -/* 0C8028 800C7428 AC480000 */ sw $t0, ($v0) -.L800C742C: -glabel L800C742C -/* 0C802C 800C742C 907901EC */ lbu $t9, 0x1ec($v1) -/* 0C8030 800C7430 272BFFF9 */ addiu $t3, $t9, -7 -/* 0C8034 800C7434 2D61000B */ sltiu $at, $t3, 0xb -/* 0C8038 800C7438 10200063 */ beqz $at, .L800C75C8 -/* 0C803C 800C743C 000B5880 */ sll $t3, $t3, 2 -/* 0C8040 800C7440 3C01800F */ lui $at, %hi(D_800F3868) -/* 0C8044 800C7444 002B0821 */ addu $at, $at, $t3 -/* 0C8048 800C7448 8C2B3868 */ lw $t3, %lo(D_800F3868)($at) -/* 0C804C 800C744C 01600008 */ jr $t3 -/* 0C8050 800C7450 00000000 */ nop -glabel L800C7454 -/* 0C8054 800C7454 8C4C0000 */ lw $t4, ($v0) -/* 0C8058 800C7458 24010005 */ li $at, 5 -/* 0C805C 800C745C 240E0004 */ li $t6, 4 -/* 0C8060 800C7460 15810003 */ bne $t4, $at, .L800C7470 -/* 0C8064 800C7464 3C0F800F */ lui $t7, %hi(D_800EA1C0) # $t7, 0x800f -/* 0C8068 800C7468 10000057 */ b .L800C75C8 -/* 0C806C 800C746C AC4E0000 */ sw $t6, ($v0) -.L800C7470: -/* 0C8070 800C7470 91EFA1C0 */ lbu $t7, %lo(D_800EA1C0)($t7) -/* 0C8074 800C7474 24180006 */ li $t8, 6 -/* 0C8078 800C7478 24190004 */ li $t9, 4 -/* 0C807C 800C747C 15E00003 */ bnez $t7, .L800C748C -/* 0C8080 800C7480 00000000 */ nop -/* 0C8084 800C7484 10000050 */ b .L800C75C8 -/* 0C8088 800C7488 AC580000 */ sw $t8, ($v0) -.L800C748C: -/* 0C808C 800C748C 1000004E */ b .L800C75C8 -/* 0C8090 800C7490 AC590000 */ sw $t9, ($v0) -glabel L800C7494 -/* 0C8094 800C7494 8C4B0000 */ lw $t3, ($v0) -/* 0C8098 800C7498 2401000B */ li $at, 11 -/* 0C809C 800C749C 240C000A */ li $t4, 10 -/* 0C80A0 800C74A0 15610003 */ bne $t3, $at, .L800C74B0 -/* 0C80A4 800C74A4 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f -/* 0C80A8 800C74A8 10000047 */ b .L800C75C8 -/* 0C80AC 800C74AC AC4C0000 */ sw $t4, ($v0) -.L800C74B0: -/* 0C80B0 800C74B0 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6) -/* 0C80B4 800C74B4 240F000C */ li $t7, 12 -/* 0C80B8 800C74B8 2418000A */ li $t8, 10 -/* 0C80BC 800C74BC 15C00003 */ bnez $t6, .L800C74CC -/* 0C80C0 800C74C0 00000000 */ nop -/* 0C80C4 800C74C4 10000040 */ b .L800C75C8 -/* 0C80C8 800C74C8 AC4F0000 */ sw $t7, ($v0) -.L800C74CC: -/* 0C80CC 800C74CC 1000003E */ b .L800C75C8 -/* 0C80D0 800C74D0 AC580000 */ sw $t8, ($v0) -glabel L800C74D4 -/* 0C80D4 800C74D4 8C590000 */ lw $t9, ($v0) -/* 0C80D8 800C74D8 24010017 */ li $at, 23 -/* 0C80DC 800C74DC 240B0016 */ li $t3, 22 -/* 0C80E0 800C74E0 17210003 */ bne $t9, $at, .L800C74F0 -/* 0C80E4 800C74E4 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f -/* 0C80E8 800C74E8 10000037 */ b .L800C75C8 -/* 0C80EC 800C74EC AC4B0000 */ sw $t3, ($v0) -.L800C74F0: -/* 0C80F0 800C74F0 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4) -/* 0C80F4 800C74F4 240E0018 */ li $t6, 24 -/* 0C80F8 800C74F8 240F0016 */ li $t7, 22 -/* 0C80FC 800C74FC 15800003 */ bnez $t4, .L800C750C -/* 0C8100 800C7500 00000000 */ nop -/* 0C8104 800C7504 10000030 */ b .L800C75C8 -/* 0C8108 800C7508 AC4E0000 */ sw $t6, ($v0) -.L800C750C: -/* 0C810C 800C750C 1000002E */ b .L800C75C8 -/* 0C8110 800C7510 AC4F0000 */ sw $t7, ($v0) -glabel L800C7514 -/* 0C8114 800C7514 8C580000 */ lw $t8, ($v0) -/* 0C8118 800C7518 2401001E */ li $at, 30 -/* 0C811C 800C751C 2419001D */ li $t9, 29 -/* 0C8120 800C7520 17010003 */ bne $t8, $at, .L800C7530 -/* 0C8124 800C7524 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f -/* 0C8128 800C7528 10000027 */ b .L800C75C8 -/* 0C812C 800C752C AC590000 */ sw $t9, ($v0) -.L800C7530: -/* 0C8130 800C7530 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3) -/* 0C8134 800C7534 240C001F */ li $t4, 31 -/* 0C8138 800C7538 240E001D */ li $t6, 29 -/* 0C813C 800C753C 15600003 */ bnez $t3, .L800C754C -/* 0C8140 800C7540 00000000 */ nop -/* 0C8144 800C7544 10000020 */ b .L800C75C8 -/* 0C8148 800C7548 AC4C0000 */ sw $t4, ($v0) -.L800C754C: -/* 0C814C 800C754C 1000001E */ b .L800C75C8 -/* 0C8150 800C7550 AC4E0000 */ sw $t6, ($v0) -glabel L800C7554 -/* 0C8154 800C7554 3C0F800F */ lui $t7, %hi(D_800E9F74) -/* 0C8158 800C7558 01E57821 */ addu $t7, $t7, $a1 -/* 0C815C 800C755C 91EF9F74 */ lbu $t7, %lo(D_800E9F74)($t7) -/* 0C8160 800C7560 55E00012 */ bnel $t7, $zero, .L800C75AC -/* 0C8164 800C7564 240F001C */ li $t7, 28 -/* 0C8168 800C7568 8C580000 */ lw $t8, ($v0) -/* 0C816C 800C756C 24010008 */ li $at, 8 -/* 0C8170 800C7570 24190007 */ li $t9, 7 -/* 0C8174 800C7574 17010003 */ bne $t8, $at, .L800C7584 -/* 0C8178 800C7578 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f -/* 0C817C 800C757C 10000012 */ b .L800C75C8 -/* 0C8180 800C7580 AC590000 */ sw $t9, ($v0) -.L800C7584: -/* 0C8184 800C7584 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3) -/* 0C8188 800C7588 240C0009 */ li $t4, 9 -/* 0C818C 800C758C 240E0007 */ li $t6, 7 -/* 0C8190 800C7590 15600003 */ bnez $t3, .L800C75A0 -/* 0C8194 800C7594 00000000 */ nop -/* 0C8198 800C7598 1000000B */ b .L800C75C8 -/* 0C819C 800C759C AC4C0000 */ sw $t4, ($v0) -.L800C75A0: -/* 0C81A0 800C75A0 10000009 */ b .L800C75C8 -/* 0C81A4 800C75A4 AC4E0000 */ sw $t6, ($v0) -/* 0C81A8 800C75A8 240F001C */ li $t7, 28 -.L800C75AC: -/* 0C81AC 800C75AC 10000006 */ b .L800C75C8 -/* 0C81B0 800C75B0 AC4F0000 */ sw $t7, ($v0) -glabel L800C75B4 -/* 0C81B4 800C75B4 10000004 */ b .L800C75C8 -/* 0C81B8 800C75B8 AC470000 */ sw $a3, ($v0) -glabel L800C75BC -/* 0C81BC 800C75BC 10000002 */ b .L800C75C8 -/* 0C81C0 800C75C0 AC460000 */ sw $a2, ($v0) -glabel L800C75C4 -/* 0C81C4 800C75C4 AC480000 */ sw $t0, ($v0) -.L800C75C8: -glabel L800C75C8 -/* 0C81C8 800C75C8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C81CC 800C75CC 44815000 */ mtc1 $at, $f10 -/* 0C81D0 800C75D0 C4680094 */ lwc1 $f8, 0x94($v1) -/* 0C81D4 800C75D4 44808000 */ mtc1 $zero, $f16 -/* 0C81D8 800C75D8 24010008 */ li $at, 8 -/* 0C81DC 800C75DC 460A403C */ c.lt.s $f8, $f10 -/* 0C81E0 800C75E0 30980008 */ andi $t8, $a0, 8 -/* 0C81E4 800C75E4 308B4000 */ andi $t3, $a0, 0x4000 -/* 0C81E8 800C75E8 308F0800 */ andi $t7, $a0, 0x800 -/* 0C81EC 800C75EC 45030004 */ bc1tl .L800C7600 -/* 0C81F0 800C75F0 8C590000 */ lw $t9, ($v0) -/* 0C81F4 800C75F4 57010007 */ bnel $t8, $at, .L800C7614 -/* 0C81F8 800C75F8 24014000 */ li $at, 16384 -/* 0C81FC 800C75FC 8C590000 */ lw $t9, ($v0) -.L800C7600: -/* 0C8200 800C7600 2401001C */ li $at, 28 -/* 0C8204 800C7604 53210003 */ beql $t9, $at, .L800C7614 -/* 0C8208 800C7608 24014000 */ li $at, 16384 -/* 0C820C 800C760C AC400000 */ sw $zero, ($v0) -/* 0C8210 800C7610 24014000 */ li $at, 16384 -.L800C7614: -/* 0C8214 800C7614 55610006 */ bnel $t3, $at, .L800C7630 -/* 0C8218 800C7618 24010800 */ li $at, 2048 -/* 0C821C 800C761C 946C0000 */ lhu $t4, ($v1) -/* 0C8220 800C7620 24012000 */ li $at, 8192 -/* 0C8224 800C7624 318E2000 */ andi $t6, $t4, 0x2000 -/* 0C8228 800C7628 15C1000D */ bne $t6, $at, .L800C7660 -/* 0C822C 800C762C 24010800 */ li $at, 2048 -.L800C7630: -/* 0C8230 800C7630 11E1000B */ beq $t7, $at, .L800C7660 -/* 0C8234 800C7634 30980080 */ andi $t8, $a0, 0x80 -/* 0C8238 800C7638 24010080 */ li $at, 128 -/* 0C823C 800C763C 13010008 */ beq $t8, $at, .L800C7660 -/* 0C8240 800C7640 30990040 */ andi $t9, $a0, 0x40 -/* 0C8244 800C7644 24010040 */ li $at, 64 -/* 0C8248 800C7648 53210006 */ beql $t9, $at, .L800C7664 -/* 0C824C 800C764C 240E0012 */ li $t6, 18 -/* 0C8250 800C7650 846B0044 */ lh $t3, 0x44($v1) -/* 0C8254 800C7654 24014000 */ li $at, 16384 -/* 0C8258 800C7658 316C4000 */ andi $t4, $t3, 0x4000 -/* 0C825C 800C765C 15810002 */ bne $t4, $at, .L800C7668 -.L800C7660: -/* 0C8260 800C7660 240E0012 */ li $t6, 18 -.L800C7664: -/* 0C8264 800C7664 AC4E0000 */ sw $t6, ($v0) -.L800C7668: -/* 0C8268 800C7668 308F0020 */ andi $t7, $a0, 0x20 -/* 0C826C 800C766C 24010020 */ li $at, 32 -/* 0C8270 800C7670 15E10005 */ bne $t7, $at, .L800C7688 -/* 0C8274 800C7674 308B0800 */ andi $t3, $a0, 0x800 -/* 0C8278 800C7678 94780000 */ lhu $t8, ($v1) -/* 0C827C 800C767C 24012000 */ li $at, 8192 -/* 0C8280 800C7680 33192000 */ andi $t9, $t8, 0x2000 -/* 0C8284 800C7684 17210002 */ bne $t9, $at, .L800C7690 -.L800C7688: -/* 0C8288 800C7688 24010800 */ li $at, 2048 -/* 0C828C 800C768C 15610002 */ bne $t3, $at, .L800C7698 -.L800C7690: -/* 0C8290 800C7690 240C0013 */ li $t4, 19 -/* 0C8294 800C7694 AC4C0000 */ sw $t4, ($v0) -.L800C7698: -/* 0C8298 800C7698 C472020C */ lwc1 $f18, 0x20c($v1) -/* 0C829C 800C769C 240E0003 */ li $t6, 3 -/* 0C82A0 800C76A0 46128032 */ c.eq.s $f16, $f18 -/* 0C82A4 800C76A4 00000000 */ nop -/* 0C82A8 800C76A8 45030003 */ bc1tl .L800C76B8 -/* 0C82AC 800C76AC 01A0E825 */ move $sp, $t5 -/* 0C82B0 800C76B0 AC4E0000 */ sw $t6, ($v0) -.L800C76B4: -/* 0C82B4 800C76B4 01A0E825 */ move $sp, $t5 -.L800C76B8: -/* 0C82B8 800C76B8 03E00008 */ jr $ra -/* 0C82BC 800C76BC 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C76C0 -/* 0C82C0 800C76C0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C82C4 800C76C4 308E00FF */ andi $t6, $a0, 0xff -/* 0C82C8 800C76C8 3C19800F */ lui $t9, %hi(D_800E9EA4) # $t9, 0x800f -/* 0C82CC 800C76CC 27399EA4 */ addiu $t9, %lo(D_800E9EA4) # addiu $t9, $t9, -0x615c -/* 0C82D0 800C76D0 000E7880 */ sll $t7, $t6, 2 -/* 0C82D4 800C76D4 01F94021 */ addu $t0, $t7, $t9 -/* 0C82D8 800C76D8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C82DC 800C76DC AFBE0028 */ sw $fp, 0x28($sp) -/* 0C82E0 800C76E0 AFA40040 */ sw $a0, 0x40($sp) -/* 0C82E4 800C76E4 AFA80034 */ sw $t0, 0x34($sp) -/* 0C82E8 800C76E8 AFAF0038 */ sw $t7, 0x38($sp) -/* 0C82EC 800C76EC 8D030000 */ lw $v1, ($t0) -/* 0C82F0 800C76F0 01C02025 */ move $a0, $t6 -/* 0C82F4 800C76F4 03A0F025 */ move $fp, $sp -/* 0C82F8 800C76F8 1060035B */ beqz $v1, .L800C8468 -/* 0C82FC 800C76FC 286102BC */ slti $at, $v1, 0x2bc -/* 0C8300 800C7700 10200003 */ beqz $at, .L800C7710 -/* 0C8304 800C7704 24690001 */ addiu $t1, $v1, 1 -/* 0C8308 800C7708 AD090000 */ sw $t1, ($t0) -/* 0C830C 800C770C 01201825 */ move $v1, $t1 -.L800C7710: -/* 0C8310 800C7710 24010002 */ li $at, 2 -/* 0C8314 800C7714 14610218 */ bne $v1, $at, .L800C7F78 -/* 0C8318 800C7718 A3C40043 */ sb $a0, 0x43($fp) -/* 0C831C 800C771C 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 -/* 0C8320 800C7720 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 -/* 0C8324 800C7724 0C032406 */ jal func_800C9018 -/* 0C8328 800C7728 A3C40043 */ sb $a0, 0x43($fp) -/* 0C832C 800C772C 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100 -/* 0C8330 800C7730 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c -/* 0C8334 800C7734 0C032406 */ jal func_800C9018 -/* 0C8338 800C7738 93C40043 */ lbu $a0, 0x43($fp) -/* 0C833C 800C773C 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100 -/* 0C8340 800C7740 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c -/* 0C8344 800C7744 0C032406 */ jal func_800C9018 -/* 0C8348 800C7748 93C40043 */ lbu $a0, 0x43($fp) -/* 0C834C 800C774C 93CA0043 */ lbu $t2, 0x43($fp) -/* 0C8350 800C7750 8FCD0038 */ lw $t5, 0x38($fp) -/* 0C8354 800C7754 3C0C800F */ lui $t4, %hi(D_800E9F7C) # $t4, 0x800f -/* 0C8358 800C7758 000A5900 */ sll $t3, $t2, 4 -/* 0C835C 800C775C 3C05800F */ lui $a1, %hi(D_800E9E94) -/* 0C8360 800C7760 016A5823 */ subu $t3, $t3, $t2 -/* 0C8364 800C7764 000B5880 */ sll $t3, $t3, 2 -/* 0C8368 800C7768 258C9F7C */ addiu $t4, %lo(D_800E9F7C) # addiu $t4, $t4, -0x6084 -/* 0C836C 800C776C 00AD2821 */ addu $a1, $a1, $t5 -/* 0C8370 800C7770 8CA59E94 */ lw $a1, %lo(D_800E9E94)($a1) -/* 0C8374 800C7774 0C03155E */ jal func_800C5578 -/* 0C8378 800C7778 016C2021 */ addu $a0, $t3, $t4 -/* 0C837C 800C777C 8FCE0038 */ lw $t6, 0x38($fp) -/* 0C8380 800C7780 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8384 800C7784 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8388 800C7788 3C01800F */ lui $at, %hi(D_800E9E74) -/* 0C838C 800C778C 002E0821 */ addu $at, $at, $t6 -/* 0C8390 800C7790 1040000D */ beqz $v0, .L800C77C8 -/* 0C8394 800C7794 AC209E74 */ sw $zero, %lo(D_800E9E74)($at) -/* 0C8398 800C7798 24070001 */ li $a3, 1 -/* 0C839C 800C779C 104700AC */ beq $v0, $a3, .L800C7A50 -/* 0C83A0 800C77A0 3C041001 */ lui $a0, 0x1001 -/* 0C83A4 800C77A4 24010002 */ li $at, 2 -/* 0C83A8 800C77A8 104100D5 */ beq $v0, $at, .L800C7B00 -/* 0C83AC 800C77AC 3C0B800F */ lui $t3, %hi(D_800EA0EC) -/* 0C83B0 800C77B0 24010003 */ li $at, 3 -/* 0C83B4 800C77B4 10410165 */ beq $v0, $at, .L800C7D4C -/* 0C83B8 800C77B8 00000000 */ nop -/* 0C83BC 800C77BC 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C83C0 800C77C0 100001ED */ b .L800C7F78 -/* 0C83C4 800C77C4 8DE30000 */ lw $v1, ($t7) -.L800C77C8: -/* 0C83C8 800C77C8 93D80043 */ lbu $t8, 0x43($fp) -/* 0C83CC 800C77CC 3C19800F */ lui $t9, %hi(D_800EA0EC) # $t9, 0x800f -/* 0C83D0 800C77D0 2739A0EC */ addiu $t9, %lo(D_800EA0EC) # addiu $t9, $t9, -0x5f14 -/* 0C83D4 800C77D4 24080002 */ li $t0, 2 -/* 0C83D8 800C77D8 03191021 */ addu $v0, $t8, $t9 -/* 0C83DC 800C77DC A0480000 */ sb $t0, ($v0) -/* 0C83E0 800C77E0 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900 -/* 0C83E4 800C77E4 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103 -/* 0C83E8 800C77E8 AFC20030 */ sw $v0, 0x30($fp) -/* 0C83EC 800C77EC 0C032418 */ jal func_800C9060 -/* 0C83F0 800C77F0 93C40043 */ lbu $a0, 0x43($fp) -/* 0C83F4 800C77F4 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f -/* 0C83F8 800C77F8 9129A1C0 */ lbu $t1, %lo(D_800EA1C0)($t1) -/* 0C83FC 800C77FC 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C8400 800C7800 240E0002 */ li $t6, 2 -/* 0C8404 800C7804 55200037 */ bnel $t1, $zero, .L800C78E4 -/* 0C8408 800C7808 8FCF0030 */ lw $t7, 0x30($fp) -/* 0C840C 800C780C 0C030D12 */ jal func_800C3448 -/* 0C8410 800C7810 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8414 800C7814 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C8418 800C7818 0C030D12 */ jal func_800C3448 -/* 0C841C 800C781C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8420 800C7820 0C03149E */ jal func_800C5278 -/* 0C8424 800C7824 24040005 */ li $a0, 5 -/* 0C8428 800C7828 93CA0043 */ lbu $t2, 0x43($fp) -/* 0C842C 800C782C 3C02800F */ lui $v0, %hi(gPlayers+0x4) -/* 0C8430 800C7830 000A58C0 */ sll $t3, $t2, 3 -/* 0C8434 800C7834 016A5823 */ subu $t3, $t3, $t2 -/* 0C8438 800C7838 000B5900 */ sll $t3, $t3, 4 -/* 0C843C 800C783C 016A5823 */ subu $t3, $t3, $t2 -/* 0C8440 800C7840 000B5880 */ sll $t3, $t3, 2 -/* 0C8444 800C7844 016A5823 */ subu $t3, $t3, $t2 -/* 0C8448 800C7848 000B58C0 */ sll $t3, $t3, 3 -/* 0C844C 800C784C 004B1021 */ addu $v0, $v0, $t3 -/* 0C8450 800C7850 84426994 */ lh $v0, %lo(gPlayers+0x4)($v0) -/* 0C8454 800C7854 1440000D */ bnez $v0, .L800C788C -/* 0C8458 800C7858 28410004 */ slti $at, $v0, 4 -/* 0C845C 800C785C 0C0325F1 */ jal func_800C97C4 -/* 0C8460 800C7860 01402025 */ move $a0, $t2 -/* 0C8464 800C7864 240C0002 */ li $t4, 2 -/* 0C8468 800C7868 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C846C 800C786C A02CA0F0 */ sb $t4, %lo(D_800EA0F0)($at) -/* 0C8470 800C7870 0C0326A2 */ jal func_800C9A88 -/* 0C8474 800C7874 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8478 800C7878 2404000D */ li $a0, 13 -/* 0C847C 800C787C 0C032905 */ jal func_800CA414 -/* 0C8480 800C7880 24050010 */ li $a1, 16 -/* 0C8484 800C7884 10000070 */ b .L800C7A48 -/* 0C8488 800C7888 8FCD0034 */ lw $t5, 0x34($fp) -.L800C788C: -/* 0C848C 800C788C 1020000D */ beqz $at, .L800C78C4 -/* 0C8490 800C7890 3C04C160 */ lui $a0, (0xC1606400 >> 16) # lui $a0, 0xc160 -/* 0C8494 800C7894 0C0325F1 */ jal func_800C97C4 -/* 0C8498 800C7898 93C40043 */ lbu $a0, 0x43($fp) -/* 0C849C 800C789C 240D0002 */ li $t5, 2 -/* 0C84A0 800C78A0 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C84A4 800C78A4 A02DA0F0 */ sb $t5, %lo(D_800EA0F0)($at) -/* 0C84A8 800C78A8 0C0326A2 */ jal func_800C9A88 -/* 0C84AC 800C78AC 93C40043 */ lbu $a0, 0x43($fp) -/* 0C84B0 800C78B0 2404000E */ li $a0, 14 -/* 0C84B4 800C78B4 0C032905 */ jal func_800CA414 -/* 0C84B8 800C78B8 24050010 */ li $a1, 16 -/* 0C84BC 800C78BC 10000062 */ b .L800C7A48 -/* 0C84C0 800C78C0 8FCD0034 */ lw $t5, 0x34($fp) -.L800C78C4: -/* 0C84C4 800C78C4 0C030D12 */ jal func_800C3448 -/* 0C84C8 800C78C8 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400 -/* 0C84CC 800C78CC 2404000F */ li $a0, 15 -/* 0C84D0 800C78D0 0C032905 */ jal func_800CA414 -/* 0C84D4 800C78D4 24050018 */ li $a1, 24 -/* 0C84D8 800C78D8 1000005B */ b .L800C7A48 -/* 0C84DC 800C78DC 8FCD0034 */ lw $t5, 0x34($fp) -/* 0C84E0 800C78E0 8FCF0030 */ lw $t7, 0x30($fp) -.L800C78E4: -/* 0C84E4 800C78E4 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900 -/* 0C84E8 800C78E8 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103 -/* 0C84EC 800C78EC A1EE0000 */ sb $t6, ($t7) -/* 0C84F0 800C78F0 0C032418 */ jal func_800C9060 -/* 0C84F4 800C78F4 93C40043 */ lbu $a0, 0x43($fp) -/* 0C84F8 800C78F8 93D80043 */ lbu $t8, 0x43($fp) -/* 0C84FC 800C78FC 3C02800F */ lui $v0, %hi(gPlayers+0x4) -/* 0C8500 800C7900 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C8504 800C7904 0018C8C0 */ sll $t9, $t8, 3 -/* 0C8508 800C7908 0338C823 */ subu $t9, $t9, $t8 -/* 0C850C 800C790C 0019C900 */ sll $t9, $t9, 4 -/* 0C8510 800C7910 0338C823 */ subu $t9, $t9, $t8 -/* 0C8514 800C7914 0019C880 */ sll $t9, $t9, 2 -/* 0C8518 800C7918 0338C823 */ subu $t9, $t9, $t8 -/* 0C851C 800C791C 0019C8C0 */ sll $t9, $t9, 3 -/* 0C8520 800C7920 00591021 */ addu $v0, $v0, $t9 -/* 0C8524 800C7924 84426994 */ lh $v0, %lo(gPlayers+0x4)($v0) -/* 0C8528 800C7928 14400013 */ bnez $v0, .L800C7978 -/* 0C852C 800C792C 28410004 */ slti $at, $v0, 4 -/* 0C8530 800C7930 0C030D12 */ jal func_800C3448 -/* 0C8534 800C7934 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8538 800C7938 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C853C 800C793C 0C030D12 */ jal func_800C3448 -/* 0C8540 800C7940 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8544 800C7944 0C0325F1 */ jal func_800C97C4 -/* 0C8548 800C7948 93C40043 */ lbu $a0, 0x43($fp) -/* 0C854C 800C794C 24080002 */ li $t0, 2 -/* 0C8550 800C7950 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C8554 800C7954 A028A0F0 */ sb $t0, %lo(D_800EA0F0)($at) -/* 0C8558 800C7958 0C0326A2 */ jal func_800C9A88 -/* 0C855C 800C795C 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8560 800C7960 2404000D */ li $a0, 13 -/* 0C8564 800C7964 0C032905 */ jal func_800CA414 -/* 0C8568 800C7968 24050010 */ li $a1, 16 -/* 0C856C 800C796C 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C8570 800C7970 1000002B */ b .L800C7A20 -/* 0C8574 800C7974 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -.L800C7978: -/* 0C8578 800C7978 10200018 */ beqz $at, .L800C79DC -/* 0C857C 800C797C 3C02800F */ lui $v0, %hi(D_800EA104) -/* 0C8580 800C7980 3C09800F */ lui $t1, %hi(D_800EA104) # $t1, 0x800f -/* 0C8584 800C7984 9129A104 */ lbu $t1, %lo(D_800EA104)($t1) -/* 0C8588 800C7988 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C858C 800C798C 15200006 */ bnez $t1, .L800C79A8 -/* 0C8590 800C7990 00000000 */ nop -/* 0C8594 800C7994 0C030D12 */ jal func_800C3448 -/* 0C8598 800C7998 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C859C 800C799C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C85A0 800C79A0 0C030D12 */ jal func_800C3448 -/* 0C85A4 800C79A4 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -.L800C79A8: -/* 0C85A8 800C79A8 0C0325F1 */ jal func_800C97C4 -/* 0C85AC 800C79AC 93C40043 */ lbu $a0, 0x43($fp) -/* 0C85B0 800C79B0 240B0002 */ li $t3, 2 -/* 0C85B4 800C79B4 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C85B8 800C79B8 A02BA0F0 */ sb $t3, %lo(D_800EA0F0)($at) -/* 0C85BC 800C79BC 0C0326A2 */ jal func_800C9A88 -/* 0C85C0 800C79C0 93C40043 */ lbu $a0, 0x43($fp) -/* 0C85C4 800C79C4 2404000E */ li $a0, 14 -/* 0C85C8 800C79C8 0C032905 */ jal func_800CA414 -/* 0C85CC 800C79CC 24050010 */ li $a1, 16 -/* 0C85D0 800C79D0 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C85D4 800C79D4 10000012 */ b .L800C7A20 -/* 0C85D8 800C79D8 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -.L800C79DC: -/* 0C85DC 800C79DC 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -/* 0C85E0 800C79E0 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C85E4 800C79E4 1440000E */ bnez $v0, .L800C7A20 -/* 0C85E8 800C79E8 00000000 */ nop -/* 0C85EC 800C79EC 0C030D12 */ jal func_800C3448 -/* 0C85F0 800C79F0 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C85F4 800C79F4 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C85F8 800C79F8 0C030D12 */ jal func_800C3448 -/* 0C85FC 800C79FC 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8600 800C7A00 3C04C160 */ lui $a0, (0xC16000FF >> 16) # lui $a0, 0xc160 -/* 0C8604 800C7A04 0C030D12 */ jal func_800C3448 -/* 0C8608 800C7A08 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400 -/* 0C860C 800C7A0C 2404000F */ li $a0, 15 -/* 0C8610 800C7A10 0C032905 */ jal func_800CA414 -/* 0C8614 800C7A14 24050018 */ li $a1, 24 -/* 0C8618 800C7A18 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C861C 800C7A1C 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -.L800C7A20: -/* 0C8620 800C7A20 14400006 */ bnez $v0, .L800C7A3C -/* 0C8624 800C7A24 00000000 */ nop -/* 0C8628 800C7A28 8FCA0030 */ lw $t2, 0x30($fp) -/* 0C862C 800C7A2C 24010001 */ li $at, 1 -/* 0C8630 800C7A30 914C0000 */ lbu $t4, ($t2) -/* 0C8634 800C7A34 51810004 */ beql $t4, $at, .L800C7A48 -/* 0C8638 800C7A38 8FCD0034 */ lw $t5, 0x34($fp) -.L800C7A3C: -/* 0C863C 800C7A3C 0C03149E */ jal func_800C5278 -/* 0C8640 800C7A40 24040005 */ li $a0, 5 -/* 0C8644 800C7A44 8FCD0034 */ lw $t5, 0x34($fp) -.L800C7A48: -/* 0C8648 800C7A48 1000014B */ b .L800C7F78 -/* 0C864C 800C7A4C 8DA30000 */ lw $v1, ($t5) -.L800C7A50: -/* 0C8650 800C7A50 0C030D12 */ jal func_800C3448 -/* 0C8654 800C7A54 348400FF */ ori $a0, (0xC16000FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8658 800C7A58 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C865C 800C7A5C 0C030D12 */ jal func_800C3448 -/* 0C8660 800C7A60 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8664 800C7A64 0C0325F1 */ jal func_800C97C4 -/* 0C8668 800C7A68 93C40043 */ lbu $a0, 0x43($fp) -/* 0C866C 800C7A6C 240E0002 */ li $t6, 2 -/* 0C8670 800C7A70 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C8674 800C7A74 A02EA0F0 */ sb $t6, %lo(D_800EA0F0)($at) -/* 0C8678 800C7A78 0C0326A2 */ jal func_800C9A88 -/* 0C867C 800C7A7C 00002025 */ move $a0, $zero -/* 0C8680 800C7A80 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8684 800C7A84 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8688 800C7A88 240F0002 */ li $t7, 2 -/* 0C868C 800C7A8C 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900 -/* 0C8690 800C7A90 00240821 */ addu $at, $at, $a0 -/* 0C8694 800C7A94 A02FA0EC */ sb $t7, %lo(D_800EA0EC)($at) -/* 0C8698 800C7A98 0C032418 */ jal func_800C9060 -/* 0C869C 800C7A9C 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103 -/* 0C86A0 800C7AA0 3C198016 */ lui $t9, %hi(D_801657E5) # $t9, 0x8016 -/* 0C86A4 800C7AA4 833957E5 */ lb $t9, %lo(D_801657E5)($t9) -/* 0C86A8 800C7AA8 24010001 */ li $at, 1 -/* 0C86AC 800C7AAC 2404000D */ li $a0, 13 -/* 0C86B0 800C7AB0 17210005 */ bne $t9, $at, .L800C7AC8 -/* 0C86B4 800C7AB4 3C088019 */ lui $t0, %hi(D_8018ED90) # $t0, 0x8019 -/* 0C86B8 800C7AB8 0C032905 */ jal func_800CA414 -/* 0C86BC 800C7ABC 24050010 */ li $a1, 16 -/* 0C86C0 800C7AC0 1000000D */ b .L800C7AF8 -/* 0C86C4 800C7AC4 8FC90034 */ lw $t1, 0x34($fp) -.L800C7AC8: -/* 0C86C8 800C7AC8 9108ED90 */ lbu $t0, %lo(D_8018ED90)($t0) -/* 0C86CC 800C7ACC 24010001 */ li $at, 1 -/* 0C86D0 800C7AD0 24050010 */ li $a1, 16 -/* 0C86D4 800C7AD4 15010005 */ bne $t0, $at, .L800C7AEC -/* 0C86D8 800C7AD8 3C040164 */ lui $a0, (0x01640010 >> 16) # lui $a0, 0x164 -/* 0C86DC 800C7ADC 0C032905 */ jal func_800CA414 -/* 0C86E0 800C7AE0 2404000E */ li $a0, 14 -/* 0C86E4 800C7AE4 10000004 */ b .L800C7AF8 -/* 0C86E8 800C7AE8 8FC90034 */ lw $t1, 0x34($fp) -.L800C7AEC: -/* 0C86EC 800C7AEC 0C030D12 */ jal func_800C3448 -/* 0C86F0 800C7AF0 34840010 */ ori $a0, (0x01640010 & 0xFFFF) # ori $a0, $a0, 0x10 -/* 0C86F4 800C7AF4 8FC90034 */ lw $t1, 0x34($fp) -.L800C7AF8: -/* 0C86F8 800C7AF8 1000011F */ b .L800C7F78 -/* 0C86FC 800C7AFC 8D230000 */ lw $v1, ($t1) -.L800C7B00: -/* 0C8700 800C7B00 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8704 800C7B04 256BA0EC */ addiu $t3, $t3, %lo(D_800EA0EC) -/* 0C8708 800C7B08 240A0002 */ li $t2, 2 -/* 0C870C 800C7B0C 008B1021 */ addu $v0, $a0, $t3 -/* 0C8710 800C7B10 A04A0000 */ sb $t2, ($v0) -/* 0C8714 800C7B14 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900 -/* 0C8718 800C7B18 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103 -/* 0C871C 800C7B1C 0C032418 */ jal func_800C9060 -/* 0C8720 800C7B20 AFC20030 */ sw $v0, 0x30($fp) -/* 0C8724 800C7B24 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f -/* 0C8728 800C7B28 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0) -/* 0C872C 800C7B2C 24010001 */ li $at, 1 -/* 0C8730 800C7B30 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C8734 800C7B34 10410007 */ beq $v0, $at, .L800C7B54 -/* 0C8738 800C7B38 24010002 */ li $at, 2 -/* 0C873C 800C7B3C 10410016 */ beq $v0, $at, .L800C7B98 -/* 0C8740 800C7B40 24010003 */ li $at, 3 -/* 0C8744 800C7B44 10410041 */ beq $v0, $at, .L800C7C4C -/* 0C8748 800C7B48 00000000 */ nop -/* 0C874C 800C7B4C 1000007D */ b .L800C7D44 -/* 0C8750 800C7B50 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7B54: -/* 0C8754 800C7B54 0C030D12 */ jal func_800C3448 -/* 0C8758 800C7B58 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C875C 800C7B5C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C8760 800C7B60 0C030D12 */ jal func_800C3448 -/* 0C8764 800C7B64 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8768 800C7B68 0C0325F1 */ jal func_800C97C4 -/* 0C876C 800C7B6C 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8770 800C7B70 240C0002 */ li $t4, 2 -/* 0C8774 800C7B74 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C8778 800C7B78 A02CA0F0 */ sb $t4, %lo(D_800EA0F0)($at) -/* 0C877C 800C7B7C 0C0326A2 */ jal func_800C9A88 -/* 0C8780 800C7B80 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8784 800C7B84 2404000D */ li $a0, 13 -/* 0C8788 800C7B88 0C032905 */ jal func_800CA414 -/* 0C878C 800C7B8C 24050017 */ li $a1, 23 -/* 0C8790 800C7B90 1000006C */ b .L800C7D44 -/* 0C8794 800C7B94 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7B98: -/* 0C8798 800C7B98 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C879C 800C7B9C 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -/* 0C87A0 800C7BA0 54400014 */ bnel $v0, $zero, .L800C7BF4 -/* 0C87A4 800C7BA4 24010001 */ li $at, 1 -/* 0C87A8 800C7BA8 8FCD0030 */ lw $t5, 0x30($fp) -/* 0C87AC 800C7BAC 24010001 */ li $at, 1 -/* 0C87B0 800C7BB0 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C87B4 800C7BB4 91AE0000 */ lbu $t6, ($t5) -/* 0C87B8 800C7BB8 55C1000E */ bnel $t6, $at, .L800C7BF4 -/* 0C87BC 800C7BBC 24010001 */ li $at, 1 -/* 0C87C0 800C7BC0 0C030D12 */ jal func_800C3448 -/* 0C87C4 800C7BC4 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C87C8 800C7BC8 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C87CC 800C7BCC 0C030D12 */ jal func_800C3448 -/* 0C87D0 800C7BD0 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C87D4 800C7BD4 2404000D */ li $a0, 13 -/* 0C87D8 800C7BD8 0C032905 */ jal func_800CA414 -/* 0C87DC 800C7BDC 24050017 */ li $a1, 23 -/* 0C87E0 800C7BE0 240F0001 */ li $t7, 1 -/* 0C87E4 800C7BE4 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C87E8 800C7BE8 10000055 */ b .L800C7D40 -/* 0C87EC 800C7BEC A02FA104 */ sb $t7, %lo(D_800EA104)($at) -/* 0C87F0 800C7BF0 24010001 */ li $at, 1 -.L800C7BF4: -/* 0C87F4 800C7BF4 54410053 */ bnel $v0, $at, .L800C7D44 -/* 0C87F8 800C7BF8 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C87FC 800C7BFC 8FD80030 */ lw $t8, 0x30($fp) -/* 0C8800 800C7C00 24010001 */ li $at, 1 -/* 0C8804 800C7C04 93190000 */ lbu $t9, ($t8) -/* 0C8808 800C7C08 5721004E */ bnel $t9, $at, .L800C7D44 -/* 0C880C 800C7C0C 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8810 800C7C10 0C03149E */ jal func_800C5278 -/* 0C8814 800C7C14 24040005 */ li $a0, 5 -/* 0C8818 800C7C18 0C030D42 */ jal func_800C3508 -/* 0C881C 800C7C1C 24040001 */ li $a0, 1 -/* 0C8820 800C7C20 2401000D */ li $at, 13 -/* 0C8824 800C7C24 10410005 */ beq $v0, $at, .L800C7C3C -/* 0C8828 800C7C28 2404000E */ li $a0, 14 -/* 0C882C 800C7C2C 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C8830 800C7C30 A020A104 */ sb $zero, %lo(D_800EA104)($at) -/* 0C8834 800C7C34 0C032905 */ jal func_800CA414 -/* 0C8838 800C7C38 24050017 */ li $a1, 23 -.L800C7C3C: -/* 0C883C 800C7C3C 24080002 */ li $t0, 2 -/* 0C8840 800C7C40 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C8844 800C7C44 1000003E */ b .L800C7D40 -/* 0C8848 800C7C48 A028A104 */ sb $t0, %lo(D_800EA104)($at) -.L800C7C4C: -/* 0C884C 800C7C4C 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C8850 800C7C50 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -/* 0C8854 800C7C54 54400013 */ bnel $v0, $zero, .L800C7CA4 -/* 0C8858 800C7C58 24010001 */ li $at, 1 -/* 0C885C 800C7C5C 8FC30030 */ lw $v1, 0x30($fp) -/* 0C8860 800C7C60 24010001 */ li $at, 1 -/* 0C8864 800C7C64 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C8868 800C7C68 90690000 */ lbu $t1, ($v1) -/* 0C886C 800C7C6C 5521000D */ bnel $t1, $at, .L800C7CA4 -/* 0C8870 800C7C70 24010001 */ li $at, 1 -/* 0C8874 800C7C74 0C030D12 */ jal func_800C3448 -/* 0C8878 800C7C78 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C887C 800C7C7C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C8880 800C7C80 0C030D12 */ jal func_800C3448 -/* 0C8884 800C7C84 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8888 800C7C88 0C0323BE */ jal func_800C8EF8 -/* 0C888C 800C7C8C 2404000D */ li $a0, 13 -/* 0C8890 800C7C90 240B0001 */ li $t3, 1 -/* 0C8894 800C7C94 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C8898 800C7C98 10000029 */ b .L800C7D40 -/* 0C889C 800C7C9C A02BA104 */ sb $t3, %lo(D_800EA104)($at) -/* 0C88A0 800C7CA0 24010001 */ li $at, 1 -.L800C7CA4: -/* 0C88A4 800C7CA4 14410011 */ bne $v0, $at, .L800C7CEC -/* 0C88A8 800C7CA8 8FC30030 */ lw $v1, 0x30($fp) -/* 0C88AC 800C7CAC 906A0000 */ lbu $t2, ($v1) -/* 0C88B0 800C7CB0 24010001 */ li $at, 1 -/* 0C88B4 800C7CB4 5541000E */ bnel $t2, $at, .L800C7CF0 -/* 0C88B8 800C7CB8 24010002 */ li $at, 2 -/* 0C88BC 800C7CBC 0C030D42 */ jal func_800C3508 -/* 0C88C0 800C7CC0 24040001 */ li $a0, 1 -/* 0C88C4 800C7CC4 2401000D */ li $at, 13 -/* 0C88C8 800C7CC8 10410004 */ beq $v0, $at, .L800C7CDC -/* 0C88CC 800C7CCC 2404000E */ li $a0, 14 -/* 0C88D0 800C7CD0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C88D4 800C7CD4 0C0323BE */ jal func_800C8EF8 -/* 0C88D8 800C7CD8 A020A104 */ sb $zero, %lo(D_800EA104)($at) -.L800C7CDC: -/* 0C88DC 800C7CDC 240C0002 */ li $t4, 2 -/* 0C88E0 800C7CE0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C88E4 800C7CE4 10000016 */ b .L800C7D40 -/* 0C88E8 800C7CE8 A02CA104 */ sb $t4, %lo(D_800EA104)($at) -.L800C7CEC: -/* 0C88EC 800C7CEC 24010002 */ li $at, 2 -.L800C7CF0: -/* 0C88F0 800C7CF0 54410014 */ bnel $v0, $at, .L800C7D44 -/* 0C88F4 800C7CF4 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C88F8 800C7CF8 906D0000 */ lbu $t5, ($v1) -/* 0C88FC 800C7CFC 24010001 */ li $at, 1 -/* 0C8900 800C7D00 55A10010 */ bnel $t5, $at, .L800C7D44 -/* 0C8904 800C7D04 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8908 800C7D08 0C03149E */ jal func_800C5278 -/* 0C890C 800C7D0C 24040005 */ li $a0, 5 -/* 0C8910 800C7D10 0C030D42 */ jal func_800C3508 -/* 0C8914 800C7D14 24040001 */ li $a0, 1 -/* 0C8918 800C7D18 2401000E */ li $at, 14 -/* 0C891C 800C7D1C 10410005 */ beq $v0, $at, .L800C7D34 -/* 0C8920 800C7D20 2404000E */ li $a0, 14 -/* 0C8924 800C7D24 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C8928 800C7D28 A020A104 */ sb $zero, %lo(D_800EA104)($at) -/* 0C892C 800C7D2C 0C032905 */ jal func_800CA414 -/* 0C8930 800C7D30 24050017 */ li $a1, 23 -.L800C7D34: -/* 0C8934 800C7D34 240E0003 */ li $t6, 3 -/* 0C8938 800C7D38 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C893C 800C7D3C A02EA104 */ sb $t6, %lo(D_800EA104)($at) -.L800C7D40: -/* 0C8940 800C7D40 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7D44: -/* 0C8944 800C7D44 1000008C */ b .L800C7F78 -/* 0C8948 800C7D48 8DE30000 */ lw $v1, ($t7) -.L800C7D4C: -/* 0C894C 800C7D4C 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f -/* 0C8950 800C7D50 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0) -/* 0C8954 800C7D54 24010002 */ li $at, 2 -/* 0C8958 800C7D58 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C895C 800C7D5C 10470007 */ beq $v0, $a3, .L800C7D7C -/* 0C8960 800C7D60 00000000 */ nop -/* 0C8964 800C7D64 1041002A */ beq $v0, $at, .L800C7E10 -/* 0C8968 800C7D68 24010003 */ li $at, 3 -/* 0C896C 800C7D6C 10410053 */ beq $v0, $at, .L800C7EBC -/* 0C8970 800C7D70 3C19800F */ lui $t9, %hi(D_800EA0EC) -/* 0C8974 800C7D74 1000007F */ b .L800C7F74 -/* 0C8978 800C7D78 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7D7C: -/* 0C897C 800C7D7C 0C030D12 */ jal func_800C3448 -/* 0C8980 800C7D80 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8984 800C7D84 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C8988 800C7D88 0C030D12 */ jal func_800C3448 -/* 0C898C 800C7D8C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8990 800C7D90 0C03149E */ jal func_800C5278 -/* 0C8994 800C7D94 24040005 */ li $a0, 5 -/* 0C8998 800C7D98 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100 -/* 0C899C 800C7D9C 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926 -/* 0C89A0 800C7DA0 0C032406 */ jal func_800C9018 -/* 0C89A4 800C7DA4 93C40043 */ lbu $a0, 0x43($fp) -/* 0C89A8 800C7DA8 0C0323BE */ jal func_800C8EF8 -/* 0C89AC 800C7DAC 24040017 */ li $a0, 23 -/* 0C89B0 800C7DB0 3C19800E */ lui $t9, %hi(D_800DC5E8) # $t9, 0x800e -/* 0C89B4 800C7DB4 8F39C5E8 */ lw $t9, %lo(D_800DC5E8)($t9) -/* 0C89B8 800C7DB8 93C40043 */ lbu $a0, 0x43($fp) -/* 0C89BC 800C7DBC 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C89C0 800C7DC0 001940C0 */ sll $t0, $t9, 3 -/* 0C89C4 800C7DC4 01194023 */ subu $t0, $t0, $t9 -/* 0C89C8 800C7DC8 00084100 */ sll $t0, $t0, 4 -/* 0C89CC 800C7DCC 01194023 */ subu $t0, $t0, $t9 -/* 0C89D0 800C7DD0 00084080 */ sll $t0, $t0, 2 -/* 0C89D4 800C7DD4 01194023 */ subu $t0, $t0, $t9 -/* 0C89D8 800C7DD8 000840C0 */ sll $t0, $t0, 3 -/* 0C89DC 800C7DDC 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C89E0 800C7DE0 00A82821 */ addu $a1, $a1, $t0 -/* 0C89E4 800C7DE4 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C89E8 800C7DE8 24180002 */ li $t8, 2 -/* 0C89EC 800C7DEC 00240821 */ addu $at, $at, $a0 -/* 0C89F0 800C7DF0 A038A0EC */ sb $t8, %lo(D_800EA0EC)($at) -/* 0C89F4 800C7DF4 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C89F8 800C7DF8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C89FC 800C7DFC 00054900 */ sll $t1, $a1, 4 -/* 0C8A00 800C7E00 0C03243D */ jal func_800C90F4 -/* 0C8A04 800C7E04 01212821 */ addu $a1, $t1, $at -/* 0C8A08 800C7E08 1000005A */ b .L800C7F74 -/* 0C8A0C 800C7E0C 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7E10: -/* 0C8A10 800C7E10 3C02800F */ lui $v0, %hi(D_800EA0EC) # $v0, 0x800f -/* 0C8A14 800C7E14 2442A0EC */ addiu $v0, %lo(D_800EA0EC) # addiu $v0, $v0, -0x5f14 -/* 0C8A18 800C7E18 904B0000 */ lbu $t3, ($v0) -/* 0C8A1C 800C7E1C 54EB0055 */ bnel $a3, $t3, .L800C7F74 -/* 0C8A20 800C7E20 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8A24 800C7E24 904A0001 */ lbu $t2, 1($v0) -/* 0C8A28 800C7E28 54EA0052 */ bnel $a3, $t2, .L800C7F74 -/* 0C8A2C 800C7E2C 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8A30 800C7E30 904C0002 */ lbu $t4, 2($v0) -/* 0C8A34 800C7E34 54EC004F */ bnel $a3, $t4, .L800C7F74 -/* 0C8A38 800C7E38 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8A3C 800C7E3C 0C03149E */ jal func_800C5278 -/* 0C8A40 800C7E40 24040005 */ li $a0, 5 -/* 0C8A44 800C7E44 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100 -/* 0C8A48 800C7E48 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026 -/* 0C8A4C 800C7E4C 0C032406 */ jal func_800C9018 -/* 0C8A50 800C7E50 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8A54 800C7E54 0C0323BE */ jal func_800C8EF8 -/* 0C8A58 800C7E58 24040017 */ li $a0, 23 -/* 0C8A5C 800C7E5C 3C0E800E */ lui $t6, %hi(D_800DC5E8) # $t6, 0x800e -/* 0C8A60 800C7E60 8DCEC5E8 */ lw $t6, %lo(D_800DC5E8)($t6) -/* 0C8A64 800C7E64 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8A68 800C7E68 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C8A6C 800C7E6C 000E78C0 */ sll $t7, $t6, 3 -/* 0C8A70 800C7E70 01EE7823 */ subu $t7, $t7, $t6 -/* 0C8A74 800C7E74 000F7900 */ sll $t7, $t7, 4 -/* 0C8A78 800C7E78 01EE7823 */ subu $t7, $t7, $t6 -/* 0C8A7C 800C7E7C 000F7880 */ sll $t7, $t7, 2 -/* 0C8A80 800C7E80 01EE7823 */ subu $t7, $t7, $t6 -/* 0C8A84 800C7E84 000F78C0 */ sll $t7, $t7, 3 -/* 0C8A88 800C7E88 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8A8C 800C7E8C 00AF2821 */ addu $a1, $a1, $t7 -/* 0C8A90 800C7E90 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C8A94 800C7E94 240D0002 */ li $t5, 2 -/* 0C8A98 800C7E98 00240821 */ addu $at, $at, $a0 -/* 0C8A9C 800C7E9C A02DA0EC */ sb $t5, %lo(D_800EA0EC)($at) -/* 0C8AA0 800C7EA0 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8AA4 800C7EA4 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8AA8 800C7EA8 0005C100 */ sll $t8, $a1, 4 -/* 0C8AAC 800C7EAC 0C03243D */ jal func_800C90F4 -/* 0C8AB0 800C7EB0 03012821 */ addu $a1, $t8, $at -/* 0C8AB4 800C7EB4 1000002F */ b .L800C7F74 -/* 0C8AB8 800C7EB8 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7EBC: -/* 0C8ABC 800C7EBC 9339A0EC */ lbu $t9, %lo(D_800EA0EC)($t9) -/* 0C8AC0 800C7EC0 3C08800F */ lui $t0, %hi(D_800EA0ED) # $t0, 0x800f -/* 0C8AC4 800C7EC4 54F9002B */ bnel $a3, $t9, .L800C7F74 -/* 0C8AC8 800C7EC8 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8ACC 800C7ECC 9108A0ED */ lbu $t0, %lo(D_800EA0ED)($t0) -/* 0C8AD0 800C7ED0 3C09800F */ lui $t1, %hi(D_800EA0EE) # $t1, 0x800f -/* 0C8AD4 800C7ED4 54E80027 */ bnel $a3, $t0, .L800C7F74 -/* 0C8AD8 800C7ED8 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8ADC 800C7EDC 9129A0EE */ lbu $t1, %lo(D_800EA0EE)($t1) -/* 0C8AE0 800C7EE0 3C0B800F */ lui $t3, %hi(D_800EA0EF) # $t3, 0x800f -/* 0C8AE4 800C7EE4 54E90023 */ bnel $a3, $t1, .L800C7F74 -/* 0C8AE8 800C7EE8 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8AEC 800C7EEC 916BA0EF */ lbu $t3, %lo(D_800EA0EF)($t3) -/* 0C8AF0 800C7EF0 54EB0020 */ bnel $a3, $t3, .L800C7F74 -/* 0C8AF4 800C7EF4 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8AF8 800C7EF8 0C03149E */ jal func_800C5278 -/* 0C8AFC 800C7EFC 24040005 */ li $a0, 5 -/* 0C8B00 800C7F00 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100 -/* 0C8B04 800C7F04 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026 -/* 0C8B08 800C7F08 0C032406 */ jal func_800C9018 -/* 0C8B0C 800C7F0C 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8B10 800C7F10 0C0323BE */ jal func_800C8EF8 -/* 0C8B14 800C7F14 24040017 */ li $a0, 23 -/* 0C8B18 800C7F18 3C0C800E */ lui $t4, %hi(D_800DC5E8) # $t4, 0x800e -/* 0C8B1C 800C7F1C 8D8CC5E8 */ lw $t4, %lo(D_800DC5E8)($t4) -/* 0C8B20 800C7F20 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8B24 800C7F24 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C8B28 800C7F28 000C68C0 */ sll $t5, $t4, 3 -/* 0C8B2C 800C7F2C 01AC6823 */ subu $t5, $t5, $t4 -/* 0C8B30 800C7F30 000D6900 */ sll $t5, $t5, 4 -/* 0C8B34 800C7F34 01AC6823 */ subu $t5, $t5, $t4 -/* 0C8B38 800C7F38 000D6880 */ sll $t5, $t5, 2 -/* 0C8B3C 800C7F3C 01AC6823 */ subu $t5, $t5, $t4 -/* 0C8B40 800C7F40 000D68C0 */ sll $t5, $t5, 3 -/* 0C8B44 800C7F44 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8B48 800C7F48 00AD2821 */ addu $a1, $a1, $t5 -/* 0C8B4C 800C7F4C 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C8B50 800C7F50 240A0002 */ li $t2, 2 -/* 0C8B54 800C7F54 00240821 */ addu $at, $at, $a0 -/* 0C8B58 800C7F58 A02AA0EC */ sb $t2, %lo(D_800EA0EC)($at) -/* 0C8B5C 800C7F5C 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8B60 800C7F60 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8B64 800C7F64 00057100 */ sll $t6, $a1, 4 -/* 0C8B68 800C7F68 0C03243D */ jal func_800C90F4 -/* 0C8B6C 800C7F6C 01C12821 */ addu $a1, $t6, $at -/* 0C8B70 800C7F70 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7F74: -/* 0C8B74 800C7F74 8DE30000 */ lw $v1, ($t7) -.L800C7F78: -/* 0C8B78 800C7F78 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8B7C 800C7F7C 2401001E */ li $at, 30 -/* 0C8B80 800C7F80 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8B84 800C7F84 24070001 */ li $a3, 1 -/* 0C8B88 800C7F88 14610093 */ bne $v1, $at, .L800C81D8 -/* 0C8B8C 800C7F8C 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8B90 800C7F90 1040000B */ beqz $v0, .L800C7FC0 -/* 0C8B94 800C7F94 0004C0C0 */ sll $t8, $a0, 3 -/* 0C8B98 800C7F98 10470059 */ beq $v0, $a3, .L800C8100 -/* 0C8B9C 800C7F9C 3C0B8016 */ lui $t3, %hi(D_801657E5) # $t3, 0x8016 -/* 0C8BA0 800C7FA0 24010002 */ li $at, 2 -/* 0C8BA4 800C7FA4 1041003A */ beq $v0, $at, .L800C8090 -/* 0C8BA8 800C7FA8 000478C0 */ sll $t7, $a0, 3 -/* 0C8BAC 800C7FAC 24010003 */ li $at, 3 -/* 0C8BB0 800C7FB0 10410089 */ beq $v0, $at, .L800C81D8 -/* 0C8BB4 800C7FB4 00000000 */ nop -/* 0C8BB8 800C7FB8 10000087 */ b .L800C81D8 -/* 0C8BBC 800C7FBC 00000000 */ nop -.L800C7FC0: -/* 0C8BC0 800C7FC0 0304C023 */ subu $t8, $t8, $a0 -/* 0C8BC4 800C7FC4 0018C100 */ sll $t8, $t8, 4 -/* 0C8BC8 800C7FC8 0304C023 */ subu $t8, $t8, $a0 -/* 0C8BCC 800C7FCC 0018C080 */ sll $t8, $t8, 2 -/* 0C8BD0 800C7FD0 0304C023 */ subu $t8, $t8, $a0 -/* 0C8BD4 800C7FD4 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 0C8BD8 800C7FD8 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 0C8BDC 800C7FDC 0018C0C0 */ sll $t8, $t8, 3 -/* 0C8BE0 800C7FE0 03191821 */ addu $v1, $t8, $t9 -/* 0C8BE4 800C7FE4 84620004 */ lh $v0, 4($v1) -/* 0C8BE8 800C7FE8 3C08800F */ lui $t0, %hi(D_800EA0EC) # $t0, 0x800f -/* 0C8BEC 800C7FEC 2508A0EC */ addiu $t0, %lo(D_800EA0EC) # addiu $t0, $t0, -0x5f14 -/* 0C8BF0 800C7FF0 1440000C */ bnez $v0, .L800C8024 -/* 0C8BF4 800C7FF4 00883021 */ addu $a2, $a0, $t0 -/* 0C8BF8 800C7FF8 94650254 */ lhu $a1, 0x254($v1) -/* 0C8BFC 800C7FFC 24090002 */ li $t1, 2 -/* 0C8C00 800C8000 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900 -/* 0C8C04 800C8004 A0C90000 */ sb $t1, ($a2) -/* 0C8C08 800C8008 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007 -/* 0C8C0C 800C800C 00055900 */ sll $t3, $a1, 4 -/* 0C8C10 800C8010 01612821 */ addu $a1, $t3, $at -/* 0C8C14 800C8014 0C03243D */ jal func_800C90F4 -/* 0C8C18 800C8018 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8C1C 800C801C 10000017 */ b .L800C807C -/* 0C8C20 800C8020 00000000 */ nop -.L800C8024: -/* 0C8C24 800C8024 28410004 */ slti $at, $v0, 4 -/* 0C8C28 800C8028 1020000C */ beqz $at, .L800C805C -/* 0C8C2C 800C802C 240D0002 */ li $t5, 2 -/* 0C8C30 800C8030 94650254 */ lhu $a1, 0x254($v1) -/* 0C8C34 800C8034 240A0002 */ li $t2, 2 -/* 0C8C38 800C8038 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8C3C 800C803C A0CA0000 */ sb $t2, ($a2) -/* 0C8C40 800C8040 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8C44 800C8044 00056100 */ sll $t4, $a1, 4 -/* 0C8C48 800C8048 01812821 */ addu $a1, $t4, $at -/* 0C8C4C 800C804C 0C03243D */ jal func_800C90F4 -/* 0C8C50 800C8050 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8C54 800C8054 10000009 */ b .L800C807C -/* 0C8C58 800C8058 00000000 */ nop -.L800C805C: -/* 0C8C5C 800C805C 94650254 */ lhu $a1, 0x254($v1) -/* 0C8C60 800C8060 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900 -/* 0C8C64 800C8064 A0CD0000 */ sb $t5, ($a2) -/* 0C8C68 800C8068 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003 -/* 0C8C6C 800C806C 00057100 */ sll $t6, $a1, 4 -/* 0C8C70 800C8070 01C12821 */ addu $a1, $t6, $at -/* 0C8C74 800C8074 0C03243D */ jal func_800C90F4 -/* 0C8C78 800C8078 A3C40043 */ sb $a0, 0x43($fp) -.L800C807C: -/* 0C8C7C 800C807C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8C80 800C8080 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8C84 800C8084 24070001 */ li $a3, 1 -/* 0C8C88 800C8088 10000053 */ b .L800C81D8 -/* 0C8C8C 800C808C 93C40043 */ lbu $a0, 0x43($fp) -.L800C8090: -/* 0C8C90 800C8090 01E47823 */ subu $t7, $t7, $a0 -/* 0C8C94 800C8094 000F7900 */ sll $t7, $t7, 4 -/* 0C8C98 800C8098 01E47823 */ subu $t7, $t7, $a0 -/* 0C8C9C 800C809C 000F7880 */ sll $t7, $t7, 2 -/* 0C8CA0 800C80A0 01E47823 */ subu $t7, $t7, $a0 -/* 0C8CA4 800C80A4 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 0C8CA8 800C80A8 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 0C8CAC 800C80AC 000F78C0 */ sll $t7, $t7, 3 -/* 0C8CB0 800C80B0 01F81821 */ addu $v1, $t7, $t8 -/* 0C8CB4 800C80B4 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8CB8 800C80B8 84790004 */ lh $t9, 4($v1) -/* 0C8CBC 800C80BC 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8CC0 800C80C0 00240821 */ addu $at, $at, $a0 -/* 0C8CC4 800C80C4 1720000C */ bnez $t9, .L800C80F8 -/* 0C8CC8 800C80C8 24080002 */ li $t0, 2 -/* 0C8CCC 800C80CC A028A0EC */ sb $t0, %lo(D_800EA0EC)($at) -/* 0C8CD0 800C80D0 94650254 */ lhu $a1, 0x254($v1) -/* 0C8CD4 800C80D4 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8CD8 800C80D8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8CDC 800C80DC 00054900 */ sll $t1, $a1, 4 -/* 0C8CE0 800C80E0 01212821 */ addu $a1, $t1, $at -/* 0C8CE4 800C80E4 0C03243D */ jal func_800C90F4 -/* 0C8CE8 800C80E8 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8CEC 800C80EC 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8CF0 800C80F0 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8CF4 800C80F4 24070001 */ li $a3, 1 -.L800C80F8: -/* 0C8CF8 800C80F8 10000037 */ b .L800C81D8 -/* 0C8CFC 800C80FC 93C40043 */ lbu $a0, 0x43($fp) -.L800C8100: -/* 0C8D00 800C8100 816B57E5 */ lb $t3, %lo(D_801657E5)($t3) -/* 0C8D04 800C8104 240A0002 */ li $t2, 2 -/* 0C8D08 800C8108 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8D0C 800C810C 14EB0017 */ bne $a3, $t3, .L800C816C -/* 0C8D10 800C8110 3C0E8019 */ lui $t6, %hi(D_8018ED90) # $t6, 0x8019 -/* 0C8D14 800C8114 000460C0 */ sll $t4, $a0, 3 -/* 0C8D18 800C8118 01846023 */ subu $t4, $t4, $a0 -/* 0C8D1C 800C811C 000C6100 */ sll $t4, $t4, 4 -/* 0C8D20 800C8120 01846023 */ subu $t4, $t4, $a0 -/* 0C8D24 800C8124 000C6080 */ sll $t4, $t4, 2 -/* 0C8D28 800C8128 01846023 */ subu $t4, $t4, $a0 -/* 0C8D2C 800C812C 000C60C0 */ sll $t4, $t4, 3 -/* 0C8D30 800C8130 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C8D34 800C8134 00AC2821 */ addu $a1, $a1, $t4 -/* 0C8D38 800C8138 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C8D3C 800C813C 00240821 */ addu $at, $at, $a0 -/* 0C8D40 800C8140 A02AA0EC */ sb $t2, %lo(D_800EA0EC)($at) -/* 0C8D44 800C8144 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900 -/* 0C8D48 800C8148 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007 -/* 0C8D4C 800C814C 00056900 */ sll $t5, $a1, 4 -/* 0C8D50 800C8150 01A12821 */ addu $a1, $t5, $at -/* 0C8D54 800C8154 0C03243D */ jal func_800C90F4 -/* 0C8D58 800C8158 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8D5C 800C815C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8D60 800C8160 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8D64 800C8164 1000001B */ b .L800C81D4 -/* 0C8D68 800C8168 24070001 */ li $a3, 1 -.L800C816C: -/* 0C8D6C 800C816C A3C40043 */ sb $a0, 0x43($fp) -/* 0C8D70 800C8170 91CEED90 */ lbu $t6, %lo(D_8018ED90)($t6) -/* 0C8D74 800C8174 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8D78 800C8178 00240821 */ addu $at, $at, $a0 -/* 0C8D7C 800C817C 14EE0015 */ bne $a3, $t6, .L800C81D4 -/* 0C8D80 800C8180 240F0002 */ li $t7, 2 -/* 0C8D84 800C8184 0004C0C0 */ sll $t8, $a0, 3 -/* 0C8D88 800C8188 0304C023 */ subu $t8, $t8, $a0 -/* 0C8D8C 800C818C 0018C100 */ sll $t8, $t8, 4 -/* 0C8D90 800C8190 0304C023 */ subu $t8, $t8, $a0 -/* 0C8D94 800C8194 0018C080 */ sll $t8, $t8, 2 -/* 0C8D98 800C8198 0304C023 */ subu $t8, $t8, $a0 -/* 0C8D9C 800C819C 0018C0C0 */ sll $t8, $t8, 3 -/* 0C8DA0 800C81A0 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C8DA4 800C81A4 00B82821 */ addu $a1, $a1, $t8 -/* 0C8DA8 800C81A8 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C8DAC 800C81AC A02FA0EC */ sb $t7, %lo(D_800EA0EC)($at) -/* 0C8DB0 800C81B0 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8DB4 800C81B4 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8DB8 800C81B8 0005C900 */ sll $t9, $a1, 4 -/* 0C8DBC 800C81BC 03212821 */ addu $a1, $t9, $at -/* 0C8DC0 800C81C0 0C03243D */ jal func_800C90F4 -/* 0C8DC4 800C81C4 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8DC8 800C81C8 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8DCC 800C81CC 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8DD0 800C81D0 24070001 */ li $a3, 1 -.L800C81D4: -/* 0C8DD4 800C81D4 93C40043 */ lbu $a0, 0x43($fp) -.L800C81D8: -/* 0C8DD8 800C81D8 1040000A */ beqz $v0, .L800C8204 -/* 0C8DDC 800C81DC 000440C0 */ sll $t0, $a0, 3 -/* 0C8DE0 800C81E0 10470078 */ beq $v0, $a3, .L800C83C4 -/* 0C8DE4 800C81E4 24010002 */ li $at, 2 -/* 0C8DE8 800C81E8 1041004D */ beq $v0, $at, .L800C8320 -/* 0C8DEC 800C81EC 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f -/* 0C8DF0 800C81F0 24010003 */ li $at, 3 -/* 0C8DF4 800C81F4 50410089 */ beql $v0, $at, .L800C841C -/* 0C8DF8 800C81F8 8FC90034 */ lw $t1, 0x34($fp) -/* 0C8DFC 800C81FC 1000009B */ b .L800C846C -/* 0C8E00 800C8200 8FDF002C */ lw $ra, 0x2c($fp) -.L800C8204: -/* 0C8E04 800C8204 01044023 */ subu $t0, $t0, $a0 -/* 0C8E08 800C8208 00084100 */ sll $t0, $t0, 4 -/* 0C8E0C 800C820C 01044023 */ subu $t0, $t0, $a0 -/* 0C8E10 800C8210 00084080 */ sll $t0, $t0, 2 -/* 0C8E14 800C8214 01044023 */ subu $t0, $t0, $a0 -/* 0C8E18 800C8218 000840C0 */ sll $t0, $t0, 3 -/* 0C8E1C 800C821C 3C02800F */ lui $v0, %hi(gPlayers+0x4) -/* 0C8E20 800C8220 00481021 */ addu $v0, $v0, $t0 -/* 0C8E24 800C8224 84426994 */ lh $v0, %lo(gPlayers+0x4)($v0) -/* 0C8E28 800C8228 8FC90034 */ lw $t1, 0x34($fp) -/* 0C8E2C 800C822C 14400014 */ bnez $v0, .L800C8280 -/* 0C8E30 800C8230 8D230000 */ lw $v1, ($t1) -/* 0C8E34 800C8234 2861015F */ slti $at, $v1, 0x15f -/* 0C8E38 800C8238 14200007 */ bnez $at, .L800C8258 -/* 0C8E3C 800C823C 2401015F */ li $at, 351 -/* 0C8E40 800C8240 5461008A */ bnel $v1, $at, .L800C846C -/* 0C8E44 800C8244 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C8E48 800C8248 0C032743 */ jal func_800C9D0C -/* 0C8E4C 800C824C 00000000 */ nop -/* 0C8E50 800C8250 10000086 */ b .L800C846C -/* 0C8E54 800C8254 8FDF002C */ lw $ra, 0x2c($fp) -.L800C8258: -/* 0C8E58 800C8258 44832000 */ mtc1 $v1, $f4 -/* 0C8E5C 800C825C 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 0C8E60 800C8260 44814000 */ mtc1 $at, $f8 -/* 0C8E64 800C8264 468021A0 */ cvt.s.w $f6, $f4 -/* 0C8E68 800C8268 8FCB0038 */ lw $t3, 0x38($fp) -/* 0C8E6C 800C826C 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8E70 800C8270 002B0821 */ addu $at, $at, $t3 -/* 0C8E74 800C8274 46083283 */ div.s $f10, $f6, $f8 -/* 0C8E78 800C8278 1000007B */ b .L800C8468 -/* 0C8E7C 800C827C E42AA130 */ swc1 $f10, %lo(D_800EA130)($at) -.L800C8280: -/* 0C8E80 800C8280 28410004 */ slti $at, $v0, 4 -/* 0C8E84 800C8284 10200013 */ beqz $at, .L800C82D4 -/* 0C8E88 800C8288 2861015F */ slti $at, $v1, 0x15f -/* 0C8E8C 800C828C 14200007 */ bnez $at, .L800C82AC -/* 0C8E90 800C8290 2401015F */ li $at, 351 -/* 0C8E94 800C8294 54610075 */ bnel $v1, $at, .L800C846C -/* 0C8E98 800C8298 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C8E9C 800C829C 0C032743 */ jal func_800C9D0C -/* 0C8EA0 800C82A0 00000000 */ nop -/* 0C8EA4 800C82A4 10000071 */ b .L800C846C -/* 0C8EA8 800C82A8 8FDF002C */ lw $ra, 0x2c($fp) -.L800C82AC: -/* 0C8EAC 800C82AC 44838000 */ mtc1 $v1, $f16 -/* 0C8EB0 800C82B0 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 0C8EB4 800C82B4 44812000 */ mtc1 $at, $f4 -/* 0C8EB8 800C82B8 468084A0 */ cvt.s.w $f18, $f16 -/* 0C8EBC 800C82BC 8FCA0038 */ lw $t2, 0x38($fp) -/* 0C8EC0 800C82C0 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8EC4 800C82C4 002A0821 */ addu $at, $at, $t2 -/* 0C8EC8 800C82C8 46049183 */ div.s $f6, $f18, $f4 -/* 0C8ECC 800C82CC 10000066 */ b .L800C8468 -/* 0C8ED0 800C82D0 E426A130 */ swc1 $f6, %lo(D_800EA130)($at) -.L800C82D4: -/* 0C8ED4 800C82D4 2861012D */ slti $at, $v1, 0x12d -/* 0C8ED8 800C82D8 14200007 */ bnez $at, .L800C82F8 -/* 0C8EDC 800C82DC 2401012D */ li $at, 301 -/* 0C8EE0 800C82E0 54610062 */ bnel $v1, $at, .L800C846C -/* 0C8EE4 800C82E4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C8EE8 800C82E8 0C0325F1 */ jal func_800C97C4 -/* 0C8EEC 800C82EC 00000000 */ nop -/* 0C8EF0 800C82F0 1000005E */ b .L800C846C -/* 0C8EF4 800C82F4 8FDF002C */ lw $ra, 0x2c($fp) -.L800C82F8: -/* 0C8EF8 800C82F8 44834000 */ mtc1 $v1, $f8 -/* 0C8EFC 800C82FC 3C0143A5 */ li $at, 0x43A50000 # 330.000000 -/* 0C8F00 800C8300 44818000 */ mtc1 $at, $f16 -/* 0C8F04 800C8304 468042A0 */ cvt.s.w $f10, $f8 -/* 0C8F08 800C8308 8FCC0038 */ lw $t4, 0x38($fp) -/* 0C8F0C 800C830C 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8F10 800C8310 002C0821 */ addu $at, $at, $t4 -/* 0C8F14 800C8314 46105483 */ div.s $f18, $f10, $f16 -/* 0C8F18 800C8318 10000053 */ b .L800C8468 -/* 0C8F1C 800C831C E432A130 */ swc1 $f18, %lo(D_800EA130)($at) -.L800C8320: -/* 0C8F20 800C8320 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6) -/* 0C8F24 800C8324 8FCD0034 */ lw $t5, 0x34($fp) -/* 0C8F28 800C8328 14EE0014 */ bne $a3, $t6, .L800C837C -/* 0C8F2C 800C832C 8DA30000 */ lw $v1, ($t5) -/* 0C8F30 800C8330 28610065 */ slti $at, $v1, 0x65 -/* 0C8F34 800C8334 14200007 */ bnez $at, .L800C8354 -/* 0C8F38 800C8338 24010065 */ li $at, 101 -/* 0C8F3C 800C833C 54610022 */ bnel $v1, $at, .L800C83C8 -/* 0C8F40 800C8340 8FD90034 */ lw $t9, 0x34($fp) -/* 0C8F44 800C8344 0C032743 */ jal func_800C9D0C -/* 0C8F48 800C8348 00000000 */ nop -/* 0C8F4C 800C834C 1000001E */ b .L800C83C8 -/* 0C8F50 800C8350 8FD90034 */ lw $t9, 0x34($fp) -.L800C8354: -/* 0C8F54 800C8354 44832000 */ mtc1 $v1, $f4 -/* 0C8F58 800C8358 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0C8F5C 800C835C 44814000 */ mtc1 $at, $f8 -/* 0C8F60 800C8360 468021A0 */ cvt.s.w $f6, $f4 -/* 0C8F64 800C8364 8FCF0038 */ lw $t7, 0x38($fp) -/* 0C8F68 800C8368 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8F6C 800C836C 002F0821 */ addu $at, $at, $t7 -/* 0C8F70 800C8370 46083283 */ div.s $f10, $f6, $f8 -/* 0C8F74 800C8374 10000013 */ b .L800C83C4 -/* 0C8F78 800C8378 E42AA130 */ swc1 $f10, %lo(D_800EA130)($at) -.L800C837C: -/* 0C8F7C 800C837C 28610065 */ slti $at, $v1, 0x65 -/* 0C8F80 800C8380 14200007 */ bnez $at, .L800C83A0 -/* 0C8F84 800C8384 24010065 */ li $at, 101 -/* 0C8F88 800C8388 5461000F */ bnel $v1, $at, .L800C83C8 -/* 0C8F8C 800C838C 8FD90034 */ lw $t9, 0x34($fp) -/* 0C8F90 800C8390 0C0325F1 */ jal func_800C97C4 -/* 0C8F94 800C8394 00000000 */ nop -/* 0C8F98 800C8398 1000000B */ b .L800C83C8 -/* 0C8F9C 800C839C 8FD90034 */ lw $t9, 0x34($fp) -.L800C83A0: -/* 0C8FA0 800C83A0 44838000 */ mtc1 $v1, $f16 -/* 0C8FA4 800C83A4 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0C8FA8 800C83A8 44812000 */ mtc1 $at, $f4 -/* 0C8FAC 800C83AC 468084A0 */ cvt.s.w $f18, $f16 -/* 0C8FB0 800C83B0 8FD80038 */ lw $t8, 0x38($fp) -/* 0C8FB4 800C83B4 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8FB8 800C83B8 00380821 */ addu $at, $at, $t8 -/* 0C8FBC 800C83BC 46049183 */ div.s $f6, $f18, $f4 -/* 0C8FC0 800C83C0 E426A130 */ swc1 $f6, %lo(D_800EA130)($at) -.L800C83C4: -/* 0C8FC4 800C83C4 8FD90034 */ lw $t9, 0x34($fp) -.L800C83C8: -/* 0C8FC8 800C83C8 8F230000 */ lw $v1, ($t9) -/* 0C8FCC 800C83CC 2861012D */ slti $at, $v1, 0x12d -/* 0C8FD0 800C83D0 14200007 */ bnez $at, .L800C83F0 -/* 0C8FD4 800C83D4 2401012D */ li $at, 301 -/* 0C8FD8 800C83D8 54610024 */ bnel $v1, $at, .L800C846C -/* 0C8FDC 800C83DC 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C8FE0 800C83E0 0C032743 */ jal func_800C9D0C -/* 0C8FE4 800C83E4 00002025 */ move $a0, $zero -/* 0C8FE8 800C83E8 10000020 */ b .L800C846C -/* 0C8FEC 800C83EC 8FDF002C */ lw $ra, 0x2c($fp) -.L800C83F0: -/* 0C8FF0 800C83F0 44834000 */ mtc1 $v1, $f8 -/* 0C8FF4 800C83F4 3C0143AF */ li $at, 0x43AF0000 # 350.000000 -/* 0C8FF8 800C83F8 44818000 */ mtc1 $at, $f16 -/* 0C8FFC 800C83FC 468042A0 */ cvt.s.w $f10, $f8 -/* 0C9000 800C8400 8FC80038 */ lw $t0, 0x38($fp) -/* 0C9004 800C8404 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C9008 800C8408 00280821 */ addu $at, $at, $t0 -/* 0C900C 800C840C 46105483 */ div.s $f18, $f10, $f16 -/* 0C9010 800C8410 10000015 */ b .L800C8468 -/* 0C9014 800C8414 E432A130 */ swc1 $f18, %lo(D_800EA130)($at) -/* 0C9018 800C8418 8FC90034 */ lw $t1, 0x34($fp) -.L800C841C: -/* 0C901C 800C841C 8D230000 */ lw $v1, ($t1) -/* 0C9020 800C8420 28610065 */ slti $at, $v1, 0x65 -/* 0C9024 800C8424 14200007 */ bnez $at, .L800C8444 -/* 0C9028 800C8428 24010065 */ li $at, 101 -/* 0C902C 800C842C 5461000F */ bnel $v1, $at, .L800C846C -/* 0C9030 800C8430 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9034 800C8434 0C0325F1 */ jal func_800C97C4 -/* 0C9038 800C8438 00000000 */ nop -/* 0C903C 800C843C 1000000B */ b .L800C846C -/* 0C9040 800C8440 8FDF002C */ lw $ra, 0x2c($fp) -.L800C8444: -/* 0C9044 800C8444 44832000 */ mtc1 $v1, $f4 -/* 0C9048 800C8448 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0C904C 800C844C 44814000 */ mtc1 $at, $f8 -/* 0C9050 800C8450 468021A0 */ cvt.s.w $f6, $f4 -/* 0C9054 800C8454 8FCB0038 */ lw $t3, 0x38($fp) -/* 0C9058 800C8458 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C905C 800C845C 002B0821 */ addu $at, $at, $t3 -/* 0C9060 800C8460 46083283 */ div.s $f10, $f6, $f8 -/* 0C9064 800C8464 E42AA130 */ swc1 $f10, %lo(D_800EA130)($at) -.L800C8468: -/* 0C9068 800C8468 8FDF002C */ lw $ra, 0x2c($fp) -.L800C846C: -/* 0C906C 800C846C 03C0E825 */ move $sp, $fp -/* 0C9070 800C8470 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9074 800C8474 03E00008 */ jr $ra -/* 0C9078 800C8478 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800C847C -/* 0C907C 800C847C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C9080 800C8480 AFB0002C */ sw $s0, 0x2c($sp) -/* 0C9084 800C8484 309000FF */ andi $s0, $a0, 0xff -/* 0C9088 800C8488 001070C0 */ sll $t6, $s0, 3 -/* 0C908C 800C848C 01D07023 */ subu $t6, $t6, $s0 -/* 0C9090 800C8490 000E7100 */ sll $t6, $t6, 4 -/* 0C9094 800C8494 01D07023 */ subu $t6, $t6, $s0 -/* 0C9098 800C8498 000E7080 */ sll $t6, $t6, 2 -/* 0C909C 800C849C 01D07023 */ subu $t6, $t6, $s0 -/* 0C90A0 800C84A0 3C0F800F */ lui $t7, %hi(gPlayers) # $t7, 0x800f -/* 0C90A4 800C84A4 25EF6990 */ addiu $t7, %lo(gPlayers) # addiu $t7, $t7, 0x6990 -/* 0C90A8 800C84A8 000E70C0 */ sll $t6, $t6, 3 -/* 0C90AC 800C84AC 01CFC021 */ addu $t8, $t6, $t7 -/* 0C90B0 800C84B0 AFBF0034 */ sw $ra, 0x34($sp) -/* 0C90B4 800C84B4 AFBE0030 */ sw $fp, 0x30($sp) -/* 0C90B8 800C84B8 AFA40040 */ sw $a0, 0x40($sp) -/* 0C90BC 800C84BC AFB8003C */ sw $t8, 0x3c($sp) -/* 0C90C0 800C84C0 971900DE */ lhu $t9, 0xde($t8) -/* 0C90C4 800C84C4 24030001 */ li $v1, 1 -/* 0C90C8 800C84C8 03A0F025 */ move $fp, $sp -/* 0C90CC 800C84CC 33280001 */ andi $t0, $t9, 1 -/* 0C90D0 800C84D0 14680050 */ bne $v1, $t0, .L800C8614 -/* 0C90D4 800C84D4 3C09800F */ lui $t1, %hi(D_800E9F74) -/* 0C90D8 800C84D8 3C09800F */ lui $t1, %hi(D_800E9F74) # $t1, 0x800f -/* 0C90DC 800C84DC 25299F74 */ addiu $t1, %lo(D_800E9F74) # addiu $t1, $t1, -0x608c -/* 0C90E0 800C84E0 02091021 */ addu $v0, $s0, $t1 -/* 0C90E4 800C84E4 904A0000 */ lbu $t2, ($v0) -/* 0C90E8 800C84E8 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f -/* 0C90EC 800C84EC 55400075 */ bnel $t2, $zero, .L800C86C4 -/* 0C90F0 800C84F0 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C90F4 800C84F4 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3) -/* 0C90F8 800C84F8 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100 -/* 0C90FC 800C84FC 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026 -/* 0C9100 800C8500 29610002 */ slti $at, $t3, 2 -/* 0C9104 800C8504 10200008 */ beqz $at, .L800C8528 -/* 0C9108 800C8508 320400FF */ andi $a0, $s0, 0xff -/* 0C910C 800C850C 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100 -/* 0C9110 800C8510 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926 -/* 0C9114 800C8514 320400FF */ andi $a0, $s0, 0xff -/* 0C9118 800C8518 0C032406 */ jal func_800C9018 -/* 0C911C 800C851C AFC20038 */ sw $v0, 0x38($fp) -/* 0C9120 800C8520 10000004 */ b .L800C8534 -/* 0C9124 800C8524 8FC20038 */ lw $v0, 0x38($fp) -.L800C8528: -/* 0C9128 800C8528 0C032406 */ jal func_800C9018 -/* 0C912C 800C852C AFC20038 */ sw $v0, 0x38($fp) -/* 0C9130 800C8530 8FC20038 */ lw $v0, 0x38($fp) -.L800C8534: -/* 0C9134 800C8534 320400FF */ andi $a0, $s0, 0xff -/* 0C9138 800C8538 0C0325F1 */ jal func_800C97C4 -/* 0C913C 800C853C AFC20038 */ sw $v0, 0x38($fp) -/* 0C9140 800C8540 8FC20038 */ lw $v0, 0x38($fp) -/* 0C9144 800C8544 240C0001 */ li $t4, 1 -/* 0C9148 800C8548 320400FF */ andi $a0, $s0, 0xff -/* 0C914C 800C854C 0C032529 */ jal func_800C94A4 -/* 0C9150 800C8550 A04C0000 */ sb $t4, ($v0) -/* 0C9154 800C8554 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e -/* 0C9158 800C8558 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 0C915C 800C855C 24010001 */ li $at, 1 -/* 0C9160 800C8560 3C0D800F */ lui $t5, %hi(D_800EA0EC) -/* 0C9164 800C8564 10410014 */ beq $v0, $at, .L800C85B8 -/* 0C9168 800C8568 01B06821 */ addu $t5, $t5, $s0 -/* 0C916C 800C856C 24010002 */ li $at, 2 -/* 0C9170 800C8570 10410011 */ beq $v0, $at, .L800C85B8 -/* 0C9174 800C8574 24010003 */ li $at, 3 -/* 0C9178 800C8578 1041000F */ beq $v0, $at, .L800C85B8 -/* 0C917C 800C857C 24010004 */ li $at, 4 -/* 0C9180 800C8580 1041000D */ beq $v0, $at, .L800C85B8 -/* 0C9184 800C8584 24010005 */ li $at, 5 -/* 0C9188 800C8588 1041000B */ beq $v0, $at, .L800C85B8 -/* 0C918C 800C858C 24010006 */ li $at, 6 -/* 0C9190 800C8590 10410009 */ beq $v0, $at, .L800C85B8 -/* 0C9194 800C8594 24010007 */ li $at, 7 -/* 0C9198 800C8598 10410007 */ beq $v0, $at, .L800C85B8 -/* 0C919C 800C859C 2401000C */ li $at, 12 -/* 0C91A0 800C85A0 10410005 */ beq $v0, $at, .L800C85B8 -/* 0C91A4 800C85A4 24010012 */ li $at, 18 -/* 0C91A8 800C85A8 10410003 */ beq $v0, $at, .L800C85B8 -/* 0C91AC 800C85AC 24010013 */ li $at, 19 -/* 0C91B0 800C85B0 54410044 */ bnel $v0, $at, .L800C86C4 -/* 0C91B4 800C85B4 8FDF0034 */ lw $ra, 0x34($fp) -.L800C85B8: -/* 0C91B8 800C85B8 91ADA0EC */ lbu $t5, %lo(D_800EA0EC)($t5) -/* 0C91BC 800C85BC 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C91C0 800C85C0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C91C4 800C85C4 15A0003E */ bnez $t5, .L800C86C0 -/* 0C91C8 800C85C8 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900 -/* 0C91CC 800C85CC 8FCE003C */ lw $t6, 0x3c($fp) -/* 0C91D0 800C85D0 0010C100 */ sll $t8, $s0, 4 -/* 0C91D4 800C85D4 0310C023 */ subu $t8, $t8, $s0 -/* 0C91D8 800C85D8 95C40254 */ lhu $a0, 0x254($t6) -/* 0C91DC 800C85DC 3C19800F */ lui $t9, %hi(D_800E9F7C) # $t9, 0x800f -/* 0C91E0 800C85E0 27399F7C */ addiu $t9, %lo(D_800E9F7C) # addiu $t9, $t9, -0x6084 -/* 0C91E4 800C85E4 0018C080 */ sll $t8, $t8, 2 -/* 0C91E8 800C85E8 03192821 */ addu $a1, $t8, $t9 -/* 0C91EC 800C85EC 24A80014 */ addiu $t0, $a1, 0x14 -/* 0C91F0 800C85F0 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005 -/* 0C91F4 800C85F4 00047900 */ sll $t7, $a0, 4 -/* 0C91F8 800C85F8 01E12021 */ addu $a0, $t7, $at -/* 0C91FC 800C85FC AFA80014 */ sw $t0, 0x14($sp) -/* 0C9200 800C8600 AFA70010 */ sw $a3, 0x10($sp) -/* 0C9204 800C8604 0C031052 */ jal play_sound -/* 0C9208 800C8608 320600FF */ andi $a2, $s0, 0xff -/* 0C920C 800C860C 1000002D */ b .L800C86C4 -/* 0C9210 800C8610 8FDF0034 */ lw $ra, 0x34($fp) -.L800C8614: -/* 0C9214 800C8614 25299F74 */ addiu $t1, $t1, %lo(D_800E9F74) -/* 0C9218 800C8618 02091021 */ addu $v0, $s0, $t1 -/* 0C921C 800C861C 904A0000 */ lbu $t2, ($v0) -/* 0C9220 800C8620 320400FF */ andi $a0, $s0, 0xff -/* 0C9224 800C8624 546A0027 */ bnel $v1, $t2, .L800C86C4 -/* 0C9228 800C8628 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C922C 800C862C 0C0325F1 */ jal func_800C97C4 -/* 0C9230 800C8630 AFC20038 */ sw $v0, 0x38($fp) -/* 0C9234 800C8634 8FC20038 */ lw $v0, 0x38($fp) -/* 0C9238 800C8638 240B0002 */ li $t3, 2 -/* 0C923C 800C863C 320400FF */ andi $a0, $s0, 0xff -/* 0C9240 800C8640 0C032529 */ jal func_800C94A4 -/* 0C9244 800C8644 A04B0000 */ sb $t3, ($v0) -/* 0C9248 800C8648 8FC20038 */ lw $v0, 0x38($fp) -/* 0C924C 800C864C 3C0C800E */ lui $t4, %hi(gCurrentCourseId) # $t4, 0x800e -/* 0C9250 800C8650 24010006 */ li $at, 6 -/* 0C9254 800C8654 A0400000 */ sb $zero, ($v0) -/* 0C9258 800C8658 858CC5A0 */ lh $t4, %lo(gCurrentCourseId)($t4) -/* 0C925C 800C865C 3C0D800F */ lui $t5, %hi(D_800EA0EC) -/* 0C9260 800C8660 01B06821 */ addu $t5, $t5, $s0 -/* 0C9264 800C8664 55810017 */ bnel $t4, $at, .L800C86C4 -/* 0C9268 800C8668 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C926C 800C866C 91ADA0EC */ lbu $t5, %lo(D_800EA0EC)($t5) -/* 0C9270 800C8670 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C9274 800C8674 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C9278 800C8678 15A00011 */ bnez $t5, .L800C86C0 -/* 0C927C 800C867C 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 -/* 0C9280 800C8680 8FCE003C */ lw $t6, 0x3c($fp) -/* 0C9284 800C8684 0010C100 */ sll $t8, $s0, 4 -/* 0C9288 800C8688 0310C023 */ subu $t8, $t8, $s0 -/* 0C928C 800C868C 95C40254 */ lhu $a0, 0x254($t6) -/* 0C9290 800C8690 3C19800F */ lui $t9, %hi(D_800E9F7C) # $t9, 0x800f -/* 0C9294 800C8694 27399F7C */ addiu $t9, %lo(D_800E9F7C) # addiu $t9, $t9, -0x6084 -/* 0C9298 800C8698 0018C080 */ sll $t8, $t8, 2 -/* 0C929C 800C869C 03192821 */ addu $a1, $t8, $t9 -/* 0C92A0 800C86A0 24A80014 */ addiu $t0, $a1, 0x14 -/* 0C92A4 800C86A4 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 -/* 0C92A8 800C86A8 00047900 */ sll $t7, $a0, 4 -/* 0C92AC 800C86AC 01E12021 */ addu $a0, $t7, $at -/* 0C92B0 800C86B0 AFA80014 */ sw $t0, 0x14($sp) -/* 0C92B4 800C86B4 AFA70010 */ sw $a3, 0x10($sp) -/* 0C92B8 800C86B8 0C031052 */ jal play_sound -/* 0C92BC 800C86BC 320600FF */ andi $a2, $s0, 0xff -.L800C86C0: -/* 0C92C0 800C86C0 8FDF0034 */ lw $ra, 0x34($fp) -.L800C86C4: -/* 0C92C4 800C86C4 03C0E825 */ move $sp, $fp -/* 0C92C8 800C86C8 8FD0002C */ lw $s0, 0x2c($fp) -/* 0C92CC 800C86CC 8FDE0030 */ lw $fp, 0x30($fp) -/* 0C92D0 800C86D0 03E00008 */ jr $ra -/* 0C92D4 800C86D4 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800C86D8 -/* 0C92D8 800C86D8 308E00FF */ andi $t6, $a0, 0xff -/* 0C92DC 800C86DC 000E78C0 */ sll $t7, $t6, 3 -/* 0C92E0 800C86E0 01EE7823 */ subu $t7, $t7, $t6 -/* 0C92E4 800C86E4 000F7900 */ sll $t7, $t7, 4 -/* 0C92E8 800C86E8 01EE7823 */ subu $t7, $t7, $t6 -/* 0C92EC 800C86EC 000F7880 */ sll $t7, $t7, 2 -/* 0C92F0 800C86F0 01EE7823 */ subu $t7, $t7, $t6 -/* 0C92F4 800C86F4 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 0C92F8 800C86F8 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 0C92FC 800C86FC 000F78C0 */ sll $t7, $t7, 3 -/* 0C9300 800C8700 01F81021 */ addu $v0, $t7, $t8 -/* 0C9304 800C8704 8C5900BC */ lw $t9, 0xbc($v0) -/* 0C9308 800C8708 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C930C 800C870C 3C034000 */ lui $v1, 0x4000 -/* 0C9310 800C8710 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C9314 800C8714 AFA40030 */ sw $a0, 0x30($sp) -/* 0C9318 800C8718 03234024 */ and $t0, $t9, $v1 -/* 0C931C 800C871C 01C02025 */ move $a0, $t6 -/* 0C9320 800C8720 03A0F025 */ move $fp, $sp -/* 0C9324 800C8724 1068000D */ beq $v1, $t0, .L800C875C -/* 0C9328 800C8728 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C932C 800C872C 3C09800F */ lui $t1, %hi(D_800E9F24) -/* 0C9330 800C8730 012E4821 */ addu $t1, $t1, $t6 -/* 0C9334 800C8734 91299F24 */ lbu $t1, %lo(D_800E9F24)($t1) -/* 0C9338 800C8738 24010001 */ li $at, 1 -/* 0C933C 800C873C 55210008 */ bnel $t1, $at, .L800C8760 -/* 0C9340 800C8740 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9344 800C8744 94450254 */ lhu $a1, 0x254($v0) -/* 0C9348 800C8748 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 -/* 0C934C 800C874C 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 -/* 0C9350 800C8750 00055100 */ sll $t2, $a1, 4 -/* 0C9354 800C8754 0C03243D */ jal func_800C90F4 -/* 0C9358 800C8758 01412821 */ addu $a1, $t2, $at -.L800C875C: -/* 0C935C 800C875C 8FDF002C */ lw $ra, 0x2c($fp) -.L800C8760: -/* 0C9360 800C8760 03C0E825 */ move $sp, $fp -/* 0C9364 800C8764 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9368 800C8768 03E00008 */ jr $ra -/* 0C936C 800C876C 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C8770 -/* 0C9370 800C8770 308E00FF */ andi $t6, $a0, 0xff -/* 0C9374 800C8774 000E78C0 */ sll $t7, $t6, 3 -/* 0C9378 800C8778 01EE7823 */ subu $t7, $t7, $t6 -/* 0C937C 800C877C 000F7900 */ sll $t7, $t7, 4 -/* 0C9380 800C8780 01EE7823 */ subu $t7, $t7, $t6 -/* 0C9384 800C8784 000F7880 */ sll $t7, $t7, 2 -/* 0C9388 800C8788 01EE7823 */ subu $t7, $t7, $t6 -/* 0C938C 800C878C 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C9390 800C8790 000F78C0 */ sll $t7, $t7, 3 -/* 0C9394 800C8794 3C18800F */ lui $t8, %hi(gPlayers+0xBC) -/* 0C9398 800C8798 ADA40010 */ sw $a0, 0x10($t5) -/* 0C939C 800C879C 030FC021 */ addu $t8, $t8, $t7 -/* 0C93A0 800C87A0 8F186A4C */ lw $t8, %lo(gPlayers+0xBC)($t8) -/* 0C93A4 800C87A4 3C024000 */ lui $v0, 0x4000 -/* 0C93A8 800C87A8 01C02025 */ move $a0, $t6 -/* 0C93AC 800C87AC 0302C824 */ and $t9, $t8, $v0 -/* 0C93B0 800C87B0 14590010 */ bne $v0, $t9, .L800C87F4 -/* 0C93B4 800C87B4 3C01800F */ lui $at, %hi(D_800E9F2C) -/* 0C93B8 800C87B8 3C0A800F */ lui $t2, %hi(D_800E9F2C) # $t2, 0x800f -/* 0C93BC 800C87BC 254A9F2C */ addiu $t2, %lo(D_800E9F2C) # addiu $t2, $t2, -0x60d4 -/* 0C93C0 800C87C0 01CA1821 */ addu $v1, $t6, $t2 -/* 0C93C4 800C87C4 90650000 */ lbu $a1, ($v1) -/* 0C93C8 800C87C8 3C08800F */ lui $t0, %hi(D_800E9F24) # $t0, 0x800f -/* 0C93CC 800C87CC 25089F24 */ addiu $t0, %lo(D_800E9F24) # addiu $t0, $t0, -0x60dc -/* 0C93D0 800C87D0 01C81021 */ addu $v0, $t6, $t0 -/* 0C93D4 800C87D4 24090001 */ li $t1, 1 -/* 0C93D8 800C87D8 28A100FA */ slti $at, $a1, 0xfa -/* 0C93DC 800C87DC 10200003 */ beqz $at, .L800C87EC -/* 0C93E0 800C87E0 A0490000 */ sb $t1, ($v0) -/* 0C93E4 800C87E4 24AB0001 */ addiu $t3, $a1, 1 -/* 0C93E8 800C87E8 A06B0000 */ sb $t3, ($v1) -.L800C87EC: -/* 0C93EC 800C87EC 1000000D */ b .L800C8824 -/* 0C93F0 800C87F0 90430000 */ lbu $v1, ($v0) -.L800C87F4: -/* 0C93F4 800C87F4 3C0C800F */ lui $t4, %hi(D_800E9F24) # $t4, 0x800f -/* 0C93F8 800C87F8 00240821 */ addu $at, $at, $a0 -/* 0C93FC 800C87FC 258C9F24 */ addiu $t4, %lo(D_800E9F24) # addiu $t4, $t4, -0x60dc -/* 0C9400 800C8800 A0209F2C */ sb $zero, %lo(D_800E9F2C)($at) -/* 0C9404 800C8804 008C1021 */ addu $v0, $a0, $t4 -/* 0C9408 800C8808 90430000 */ lbu $v1, ($v0) -/* 0C940C 800C880C 24010001 */ li $at, 1 -/* 0C9410 800C8810 240E0002 */ li $t6, 2 -/* 0C9414 800C8814 54610004 */ bnel $v1, $at, .L800C8828 -/* 0C9418 800C8818 24010001 */ li $at, 1 -/* 0C941C 800C881C A04E0000 */ sb $t6, ($v0) -/* 0C9420 800C8820 31C300FF */ andi $v1, $t6, 0xff -.L800C8824: -/* 0C9424 800C8824 24010001 */ li $at, 1 -.L800C8828: -/* 0C9428 800C8828 10610006 */ beq $v1, $at, .L800C8844 -/* 0C942C 800C882C 3C0F800F */ lui $t7, %hi(D_800E9F34) # $t7, 0x800f -/* 0C9430 800C8830 24010002 */ li $at, 2 -/* 0C9434 800C8834 1061001A */ beq $v1, $at, .L800C88A0 -/* 0C9438 800C8838 3C19800F */ lui $t9, %hi(D_800E9F34) # $t9, 0x800f -/* 0C943C 800C883C 10000036 */ b .L800C8918 -/* 0C9440 800C8840 01A0E825 */ move $sp, $t5 -.L800C8844: -/* 0C9444 800C8844 00041880 */ sll $v1, $a0, 2 -/* 0C9448 800C8848 25EF9F34 */ addiu $t7, %lo(D_800E9F34) # addiu $t7, $t7, -0x60cc -/* 0C944C 800C884C 006F2821 */ addu $a1, $v1, $t7 -/* 0C9450 800C8850 3C01800F */ lui $at, %hi(D_800F3894) # $at, 0x800f -/* 0C9454 800C8854 C4243894 */ lwc1 $f4, %lo(D_800F3894)($at) -/* 0C9458 800C8858 C4A00000 */ lwc1 $f0, ($a1) -/* 0C945C 800C885C 3C01800F */ lui $at, %hi(D_800F3898) # $at, 0x800f -/* 0C9460 800C8860 4604003C */ c.lt.s $f0, $f4 -/* 0C9464 800C8864 00000000 */ nop -/* 0C9468 800C8868 4502002B */ bc1fl .L800C8918 -/* 0C946C 800C886C 01A0E825 */ move $sp, $t5 -/* 0C9470 800C8870 C4263898 */ lwc1 $f6, %lo(D_800F3898)($at) -/* 0C9474 800C8874 3C18800F */ lui $t8, %hi(D_800E9F54) # $t8, 0x800f -/* 0C9478 800C8878 27189F54 */ addiu $t8, %lo(D_800E9F54) # addiu $t8, $t8, -0x60ac -/* 0C947C 800C887C 46060200 */ add.s $f8, $f0, $f6 -/* 0C9480 800C8880 00781021 */ addu $v0, $v1, $t8 -/* 0C9484 800C8884 3C01800F */ lui $at, %hi(D_800F389C) # $at, 0x800f -/* 0C9488 800C8888 C44A0000 */ lwc1 $f10, ($v0) -/* 0C948C 800C888C E4A80000 */ swc1 $f8, ($a1) -/* 0C9490 800C8890 C430389C */ lwc1 $f16, %lo(D_800F389C)($at) -/* 0C9494 800C8894 46105480 */ add.s $f18, $f10, $f16 -/* 0C9498 800C8898 1000001E */ b .L800C8914 -/* 0C949C 800C889C E4520000 */ swc1 $f18, ($v0) -.L800C88A0: -/* 0C94A0 800C88A0 00041880 */ sll $v1, $a0, 2 -/* 0C94A4 800C88A4 27399F34 */ addiu $t9, %lo(D_800E9F34) # addiu $t9, $t9, -0x60cc -/* 0C94A8 800C88A8 00792821 */ addu $a1, $v1, $t9 -/* 0C94AC 800C88AC 3C01800F */ lui $at, %hi(D_800F38A0) # $at, 0x800f -/* 0C94B0 800C88B0 C42438A0 */ lwc1 $f4, %lo(D_800F38A0)($at) -/* 0C94B4 800C88B4 C4A00000 */ lwc1 $f0, ($a1) -/* 0C94B8 800C88B8 3C01800F */ lui $at, %hi(D_800F38A4) # $at, 0x800f -/* 0C94BC 800C88BC 4600203C */ c.lt.s $f4, $f0 -/* 0C94C0 800C88C0 00000000 */ nop -/* 0C94C4 800C88C4 4502000E */ bc1fl .L800C8900 -/* 0C94C8 800C88C8 44800000 */ mtc1 $zero, $f0 -/* 0C94CC 800C88CC C42638A4 */ lwc1 $f6, %lo(D_800F38A4)($at) -/* 0C94D0 800C88D0 3C08800F */ lui $t0, %hi(D_800E9F54) # $t0, 0x800f -/* 0C94D4 800C88D4 25089F54 */ addiu $t0, %lo(D_800E9F54) # addiu $t0, $t0, -0x60ac -/* 0C94D8 800C88D8 46060201 */ sub.s $f8, $f0, $f6 -/* 0C94DC 800C88DC 00681021 */ addu $v0, $v1, $t0 -/* 0C94E0 800C88E0 3C01800F */ lui $at, %hi(D_800F38A8) # $at, 0x800f -/* 0C94E4 800C88E4 C44A0000 */ lwc1 $f10, ($v0) -/* 0C94E8 800C88E8 E4A80000 */ swc1 $f8, ($a1) -/* 0C94EC 800C88EC C43038A8 */ lwc1 $f16, %lo(D_800F38A8)($at) -/* 0C94F0 800C88F0 46105481 */ sub.s $f18, $f10, $f16 -/* 0C94F4 800C88F4 10000007 */ b .L800C8914 -/* 0C94F8 800C88F8 E4520000 */ swc1 $f18, ($v0) -/* 0C94FC 800C88FC 44800000 */ mtc1 $zero, $f0 -.L800C8900: -/* 0C9500 800C8900 3C01800F */ lui $at, %hi(D_800E9F54) -/* 0C9504 800C8904 00230821 */ addu $at, $at, $v1 -/* 0C9508 800C8908 E4A00000 */ swc1 $f0, ($a1) -/* 0C950C 800C890C E4209F54 */ swc1 $f0, %lo(D_800E9F54)($at) -/* 0C9510 800C8910 A0400000 */ sb $zero, ($v0) -.L800C8914: -/* 0C9514 800C8914 01A0E825 */ move $sp, $t5 -.L800C8918: -/* 0C9518 800C8918 03E00008 */ jr $ra -/* 0C951C 800C891C 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C8920 -/* 0C9520 800C8920 3C0E800F */ lui $t6, %hi(D_800EA168) # $t6, 0x800f -/* 0C9524 800C8924 91CEA168 */ lbu $t6, %lo(D_800EA168)($t6) -/* 0C9528 800C8928 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C952C 800C892C AFBE0028 */ sw $fp, 0x28($sp) -/* 0C9530 800C8930 03A0F025 */ move $fp, $sp -/* 0C9534 800C8934 11C00026 */ beqz $t6, .L800C89D0 -/* 0C9538 800C8938 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C953C 800C893C 3C03800F */ lui $v1, %hi(gPlayers) # $v1, 0x800f -/* 0C9540 800C8940 24636990 */ addiu $v1, %lo(gPlayers) # addiu $v1, $v1, 0x6990 -/* 0C9544 800C8944 8C6F00BC */ lw $t7, 0xbc($v1) -/* 0C9548 800C8948 3C024000 */ lui $v0, 0x4000 -/* 0C954C 800C894C 01E2C024 */ and $t8, $t7, $v0 -/* 0C9550 800C8950 50580020 */ beql $v0, $t8, .L800C89D4 -/* 0C9554 800C8954 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9558 800C8958 8C790E94 */ lw $t9, 0xe94($v1) -/* 0C955C 800C895C 03224024 */ and $t0, $t9, $v0 -/* 0C9560 800C8960 5048001C */ beql $v0, $t0, .L800C89D4 -/* 0C9564 800C8964 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9568 800C8968 8C691C6C */ lw $t1, 0x1c6c($v1) -/* 0C956C 800C896C 01225024 */ and $t2, $t1, $v0 -/* 0C9570 800C8970 504A0018 */ beql $v0, $t2, .L800C89D4 -/* 0C9574 800C8974 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9578 800C8978 8C6B2A44 */ lw $t3, 0x2a44($v1) -/* 0C957C 800C897C 01626024 */ and $t4, $t3, $v0 -/* 0C9580 800C8980 504C0014 */ beql $v0, $t4, .L800C89D4 -/* 0C9584 800C8984 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9588 800C8988 8C6D381C */ lw $t5, 0x381c($v1) -/* 0C958C 800C898C 01A27024 */ and $t6, $t5, $v0 -/* 0C9590 800C8990 504E0010 */ beql $v0, $t6, .L800C89D4 -/* 0C9594 800C8994 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9598 800C8998 8C6F45F4 */ lw $t7, 0x45f4($v1) -/* 0C959C 800C899C 01E2C024 */ and $t8, $t7, $v0 -/* 0C95A0 800C89A0 5058000C */ beql $v0, $t8, .L800C89D4 -/* 0C95A4 800C89A4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C95A8 800C89A8 8C7953CC */ lw $t9, 0x53cc($v1) -/* 0C95AC 800C89AC 03224024 */ and $t0, $t9, $v0 -/* 0C95B0 800C89B0 50480008 */ beql $v0, $t0, .L800C89D4 -/* 0C95B4 800C89B4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C95B8 800C89B8 8C6961A4 */ lw $t1, 0x61a4($v1) -/* 0C95BC 800C89BC 01225024 */ and $t2, $t1, $v0 -/* 0C95C0 800C89C0 504A0004 */ beql $v0, $t2, .L800C89D4 -/* 0C95C4 800C89C4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C95C8 800C89C8 0C032B02 */ jal func_800CAC08 -/* 0C95CC 800C89CC 00000000 */ nop -.L800C89D0: -/* 0C95D0 800C89D0 8FDF002C */ lw $ra, 0x2c($fp) -.L800C89D4: -/* 0C95D4 800C89D4 03C0E825 */ move $sp, $fp -/* 0C95D8 800C89D8 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C95DC 800C89DC 03E00008 */ jr $ra -/* 0C95E0 800C89E0 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C89E4 -/* 0C95E4 800C89E4 3C04800F */ lui $a0, %hi(D_800EA180) # $a0, 0x800f -/* 0C95E8 800C89E8 2484A180 */ addiu $a0, %lo(D_800EA180) # addiu $a0, $a0, -0x5e80 -/* 0C95EC 800C89EC 94820000 */ lhu $v0, ($a0) -/* 0C95F0 800C89F0 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C95F4 800C89F4 01A0E825 */ move $sp, $t5 -/* 0C95F8 800C89F8 10400038 */ beqz $v0, .L800C8ADC -/* 0C95FC 800C89FC 244E0001 */ addiu $t6, $v0, 1 -/* 0C9600 800C8A00 31C2FFFF */ andi $v0, $t6, 0xffff -/* 0C9604 800C8A04 24010002 */ li $at, 2 -/* 0C9608 800C8A08 A48E0000 */ sh $t6, ($a0) -/* 0C960C 800C8A0C 14410006 */ bne $v0, $at, .L800C8A28 -/* 0C9610 800C8A10 00401825 */ move $v1, $v0 -/* 0C9614 800C8A14 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C9618 800C8A18 44810000 */ mtc1 $at, $f0 -/* 0C961C 800C8A1C 3C05800F */ lui $a1, %hi(D_800EA17C) # $a1, 0x800f -/* 0C9620 800C8A20 24A5A17C */ addiu $a1, %lo(D_800EA17C) # addiu $a1, $a1, -0x5e84 -/* 0C9624 800C8A24 E4A00000 */ swc1 $f0, ($a1) -.L800C8A28: -/* 0C9628 800C8A28 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C962C 800C8A2C 44810000 */ mtc1 $at, $f0 -/* 0C9630 800C8A30 3C05800F */ lui $a1, %hi(D_800EA17C) # $a1, 0x800f -/* 0C9634 800C8A34 2861000F */ slti $at, $v1, 0xf -/* 0C9638 800C8A38 1020000E */ beqz $at, .L800C8A74 -/* 0C963C 800C8A3C 24A5A17C */ addiu $a1, %lo(D_800EA17C) # addiu $a1, $a1, -0x5e84 -/* 0C9640 800C8A40 44822000 */ mtc1 $v0, $f4 -/* 0C9644 800C8A44 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C9648 800C8A48 04410004 */ bgez $v0, .L800C8A5C -/* 0C964C 800C8A4C 468021A0 */ cvt.s.w $f6, $f4 -/* 0C9650 800C8A50 44814000 */ mtc1 $at, $f8 -/* 0C9654 800C8A54 00000000 */ nop -/* 0C9658 800C8A58 46083180 */ add.s $f6, $f6, $f8 -.L800C8A5C: -/* 0C965C 800C8A5C 3C01800F */ lui $at, %hi(D_800F38AC) # $at, 0x800f -/* 0C9660 800C8A60 C42A38AC */ lwc1 $f10, %lo(D_800F38AC)($at) -/* 0C9664 800C8A64 3C01800F */ lui $at, %hi(D_800EA178) # $at, 0x800f -/* 0C9668 800C8A68 460A3402 */ mul.s $f16, $f6, $f10 -/* 0C966C 800C8A6C 46100481 */ sub.s $f18, $f0, $f16 -/* 0C9670 800C8A70 E432A178 */ swc1 $f18, %lo(D_800EA178)($at) -.L800C8A74: -/* 0C9674 800C8A74 28610033 */ slti $at, $v1, 0x33 -/* 0C9678 800C8A78 1420000A */ bnez $at, .L800C8AA4 -/* 0C967C 800C8A7C 28610096 */ slti $at, $v1, 0x96 -/* 0C9680 800C8A80 10200008 */ beqz $at, .L800C8AA4 -/* 0C9684 800C8A84 246FFFCE */ addiu $t7, $v1, -0x32 -/* 0C9688 800C8A88 448F2000 */ mtc1 $t7, $f4 -/* 0C968C 800C8A8C 3C0142DC */ li $at, 0x42DC0000 # 110.000000 -/* 0C9690 800C8A90 44813000 */ mtc1 $at, $f6 -/* 0C9694 800C8A94 46802220 */ cvt.s.w $f8, $f4 -/* 0C9698 800C8A98 46064283 */ div.s $f10, $f8, $f6 -/* 0C969C 800C8A9C 460A0401 */ sub.s $f16, $f0, $f10 -/* 0C96A0 800C8AA0 E4B00000 */ swc1 $f16, ($a1) -.L800C8AA4: -/* 0C96A4 800C8AA4 2401012D */ li $at, 301 -/* 0C96A8 800C8AA8 54610005 */ bnel $v1, $at, .L800C8AC0 -/* 0C96AC 800C8AAC 24010321 */ li $at, 801 -/* 0C96B0 800C8AB0 44809000 */ mtc1 $zero, $f18 -/* 0C96B4 800C8AB4 00000000 */ nop -/* 0C96B8 800C8AB8 E4B20000 */ swc1 $f18, ($a1) -/* 0C96BC 800C8ABC 24010321 */ li $at, 801 -.L800C8AC0: -/* 0C96C0 800C8AC0 14610006 */ bne $v1, $at, .L800C8ADC -/* 0C96C4 800C8AC4 3C01800F */ lui $at, %hi(D_800EA178) # $at, 0x800f -/* 0C96C8 800C8AC8 E420A178 */ swc1 $f0, %lo(D_800EA178)($at) -/* 0C96CC 800C8ACC 3C01800F */ lui $at, %hi(D_800F38B0) # $at, 0x800f -/* 0C96D0 800C8AD0 C42438B0 */ lwc1 $f4, %lo(D_800F38B0)($at) -/* 0C96D4 800C8AD4 A4800000 */ sh $zero, ($a0) -/* 0C96D8 800C8AD8 E4A40000 */ swc1 $f4, ($a1) -.L800C8ADC: -/* 0C96DC 800C8ADC 03E00008 */ jr $ra -/* 0C96E0 800C8AE0 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C8AE4 -/* 0C96E4 800C8AE4 3C0E800E */ lui $t6, %hi(gCurrentCourseId) # $t6, 0x800e -/* 0C96E8 800C8AE8 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 0C96EC 800C8AEC 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0C96F0 800C8AF0 24010008 */ li $at, 8 -/* 0C96F4 800C8AF4 15C1005F */ bne $t6, $at, .L800C8C74 -/* 0C96F8 800C8AF8 01A0E825 */ move $sp, $t5 -/* 0C96FC 800C8AFC 3C03800F */ lui $v1, %hi(D_800EA184) # $v1, 0x800f -/* 0C9700 800C8B00 2463A184 */ addiu $v1, %lo(D_800EA184) # addiu $v1, $v1, -0x5e7c -/* 0C9704 800C8B04 94620000 */ lhu $v0, ($v1) -/* 0C9708 800C8B08 3C0F800F */ lui $t7, %hi(D_800EA16C) # $t7, 0x800f -/* 0C970C 800C8B0C 2401012C */ li $at, 300 -/* 0C9710 800C8B10 1040000E */ beqz $v0, .L800C8B4C -/* 0C9714 800C8B14 00000000 */ nop -/* 0C9718 800C8B18 91EFA16C */ lbu $t7, %lo(D_800EA16C)($t7) -/* 0C971C 800C8B1C 24580001 */ addiu $t8, $v0, 1 -/* 0C9720 800C8B20 15E00003 */ bnez $t7, .L800C8B30 -/* 0C9724 800C8B24 00000000 */ nop -/* 0C9728 800C8B28 A4780000 */ sh $t8, ($v1) -/* 0C972C 800C8B2C 3302FFFF */ andi $v0, $t8, 0xffff -.L800C8B30: -/* 0C9730 800C8B30 14410050 */ bne $v0, $at, .L800C8C74 -/* 0C9734 800C8B34 3C01800F */ lui $at, %hi(D_800F38B4) # $at, 0x800f -/* 0C9738 800C8B38 C42438B4 */ lwc1 $f4, %lo(D_800F38B4)($at) -/* 0C973C 800C8B3C 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f -/* 0C9740 800C8B40 E424A17C */ swc1 $f4, %lo(D_800EA17C)($at) -/* 0C9744 800C8B44 1000004B */ b .L800C8C74 -/* 0C9748 800C8B48 A4600000 */ sh $zero, ($v1) -.L800C8B4C: -/* 0C974C 800C8B4C 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f -/* 0C9750 800C8B50 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0) -/* 0C9754 800C8B54 24010001 */ li $at, 1 -/* 0C9758 800C8B58 10400009 */ beqz $v0, .L800C8B80 -/* 0C975C 800C8B5C 00000000 */ nop -/* 0C9760 800C8B60 10410012 */ beq $v0, $at, .L800C8BAC -/* 0C9764 800C8B64 24010002 */ li $at, 2 -/* 0C9768 800C8B68 1041001E */ beq $v0, $at, .L800C8BE4 -/* 0C976C 800C8B6C 24010003 */ li $at, 3 -/* 0C9770 800C8B70 1041002D */ beq $v0, $at, .L800C8C28 -/* 0C9774 800C8B74 00000000 */ nop -/* 0C9778 800C8B78 1000003E */ b .L800C8C74 -/* 0C977C 800C8B7C 00000000 */ nop -.L800C8B80: -/* 0C9780 800C8B80 3C02800F */ lui $v0, %hi(D_800E9F7C) # $v0, 0x800f -/* 0C9784 800C8B84 24429F7C */ addiu $v0, %lo(D_800E9F7C) # addiu $v0, $v0, -0x6084 -/* 0C9788 800C8B88 80590014 */ lb $t9, 0x14($v0) -/* 0C978C 800C8B8C 13200039 */ beqz $t9, .L800C8C74 -/* 0C9790 800C8B90 00000000 */ nop -/* 0C9794 800C8B94 44803000 */ mtc1 $zero, $f6 -/* 0C9798 800C8B98 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f -/* 0C979C 800C8B9C 24080001 */ li $t0, 1 -/* 0C97A0 800C8BA0 E426A17C */ swc1 $f6, %lo(D_800EA17C)($at) -/* 0C97A4 800C8BA4 10000033 */ b .L800C8C74 -/* 0C97A8 800C8BA8 A4680000 */ sh $t0, ($v1) -.L800C8BAC: -/* 0C97AC 800C8BAC 3C02800F */ lui $v0, %hi(D_800E9F7C) # $v0, 0x800f -/* 0C97B0 800C8BB0 24429F7C */ addiu $v0, %lo(D_800E9F7C) # addiu $v0, $v0, -0x6084 -/* 0C97B4 800C8BB4 80490014 */ lb $t1, 0x14($v0) -/* 0C97B8 800C8BB8 55200005 */ bnel $t1, $zero, .L800C8BD0 -/* 0C97BC 800C8BBC 44804000 */ mtc1 $zero, $f8 -/* 0C97C0 800C8BC0 804A0050 */ lb $t2, 0x50($v0) -/* 0C97C4 800C8BC4 1140002B */ beqz $t2, .L800C8C74 -/* 0C97C8 800C8BC8 00000000 */ nop -/* 0C97CC 800C8BCC 44804000 */ mtc1 $zero, $f8 -.L800C8BD0: -/* 0C97D0 800C8BD0 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f -/* 0C97D4 800C8BD4 240B0001 */ li $t3, 1 -/* 0C97D8 800C8BD8 E428A17C */ swc1 $f8, %lo(D_800EA17C)($at) -/* 0C97DC 800C8BDC 10000025 */ b .L800C8C74 -/* 0C97E0 800C8BE0 A46B0000 */ sh $t3, ($v1) -.L800C8BE4: -/* 0C97E4 800C8BE4 3C02800F */ lui $v0, %hi(D_800E9F7C) # $v0, 0x800f -/* 0C97E8 800C8BE8 24429F7C */ addiu $v0, %lo(D_800E9F7C) # addiu $v0, $v0, -0x6084 -/* 0C97EC 800C8BEC 804C0014 */ lb $t4, 0x14($v0) -/* 0C97F0 800C8BF0 55800008 */ bnel $t4, $zero, .L800C8C14 -/* 0C97F4 800C8BF4 44805000 */ mtc1 $zero, $f10 -/* 0C97F8 800C8BF8 804E0050 */ lb $t6, 0x50($v0) -/* 0C97FC 800C8BFC 55C00005 */ bnel $t6, $zero, .L800C8C14 -/* 0C9800 800C8C00 44805000 */ mtc1 $zero, $f10 -/* 0C9804 800C8C04 804F008C */ lb $t7, 0x8c($v0) -/* 0C9808 800C8C08 11E0001A */ beqz $t7, .L800C8C74 -/* 0C980C 800C8C0C 00000000 */ nop -/* 0C9810 800C8C10 44805000 */ mtc1 $zero, $f10 -.L800C8C14: -/* 0C9814 800C8C14 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f -/* 0C9818 800C8C18 24180001 */ li $t8, 1 -/* 0C981C 800C8C1C E42AA17C */ swc1 $f10, %lo(D_800EA17C)($at) -/* 0C9820 800C8C20 10000014 */ b .L800C8C74 -/* 0C9824 800C8C24 A4780000 */ sh $t8, ($v1) -.L800C8C28: -/* 0C9828 800C8C28 3C02800F */ lui $v0, %hi(D_800E9F7C) # $v0, 0x800f -/* 0C982C 800C8C2C 24429F7C */ addiu $v0, %lo(D_800E9F7C) # addiu $v0, $v0, -0x6084 -/* 0C9830 800C8C30 80590014 */ lb $t9, 0x14($v0) -/* 0C9834 800C8C34 5720000B */ bnel $t9, $zero, .L800C8C64 -/* 0C9838 800C8C38 44808000 */ mtc1 $zero, $f16 -/* 0C983C 800C8C3C 80480050 */ lb $t0, 0x50($v0) -/* 0C9840 800C8C40 55000008 */ bnel $t0, $zero, .L800C8C64 -/* 0C9844 800C8C44 44808000 */ mtc1 $zero, $f16 -/* 0C9848 800C8C48 8049008C */ lb $t1, 0x8c($v0) -/* 0C984C 800C8C4C 55200005 */ bnel $t1, $zero, .L800C8C64 -/* 0C9850 800C8C50 44808000 */ mtc1 $zero, $f16 -/* 0C9854 800C8C54 804A00C8 */ lb $t2, 0xc8($v0) -/* 0C9858 800C8C58 11400006 */ beqz $t2, .L800C8C74 -/* 0C985C 800C8C5C 00000000 */ nop -/* 0C9860 800C8C60 44808000 */ mtc1 $zero, $f16 -.L800C8C64: -/* 0C9864 800C8C64 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f -/* 0C9868 800C8C68 240B0001 */ li $t3, 1 -/* 0C986C 800C8C6C E430A17C */ swc1 $f16, %lo(D_800EA17C)($at) -/* 0C9870 800C8C70 A46B0000 */ sh $t3, ($v1) -.L800C8C74: -/* 0C9874 800C8C74 03E00008 */ jr $ra -/* 0C9878 800C8C78 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800C8C7C -/* 0C987C 800C8C7C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C9880 800C8C80 44812000 */ mtc1 $at, $f4 -/* 0C9884 800C8C84 308E00FF */ andi $t6, $a0, 0xff -/* 0C9888 800C8C88 000E1080 */ sll $v0, $t6, 2 -/* 0C988C 800C8C8C 3C01800F */ lui $at, %hi(D_800E9F54) -/* 0C9890 800C8C90 00220821 */ addu $at, $at, $v0 -/* 0C9894 800C8C94 C4269F54 */ lwc1 $f6, %lo(D_800E9F54)($at) -/* 0C9898 800C8C98 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C989C 800C8C9C 00220821 */ addu $at, $at, $v0 -/* 0C98A0 800C8CA0 46062201 */ sub.s $f8, $f4, $f6 -/* 0C98A4 800C8CA4 C42AA130 */ lwc1 $f10, %lo(D_800EA130)($at) -/* 0C98A8 800C8CA8 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0C98AC 800C8CAC 3C01800F */ lui $at, %hi(D_800EA06C + 8) -/* 0C98B0 800C8CB0 460A4401 */ sub.s $f16, $f8, $f10 -/* 0C98B4 800C8CB4 000E7900 */ sll $t7, $t6, 4 -/* 0C98B8 800C8CB8 AFA40010 */ sw $a0, 0x10($sp) -/* 0C98BC 800C8CBC 002F0821 */ addu $at, $at, $t7 -/* 0C98C0 800C8CC0 E430A074 */ swc1 $f16, %lo(D_800EA06C + 8)($at) -/* 0C98C4 800C8CC4 03E00008 */ jr $ra -/* 0C98C8 800C8CC8 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800C8CCC -/* 0C98CC 800C8CCC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C98D0 800C8CD0 AFB10024 */ sw $s1, 0x24($sp) -/* 0C98D4 800C8CD4 3C11800F */ lui $s1, %hi(D_800EA1C0) # $s1, 0x800f -/* 0C98D8 800C8CD8 2631A1C0 */ addiu $s1, %lo(D_800EA1C0) # addiu $s1, $s1, -0x5e40 -/* 0C98DC 800C8CDC 92220000 */ lbu $v0, ($s1) -/* 0C98E0 800C8CE0 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C98E4 800C8CE4 AFB00020 */ sw $s0, 0x20($sp) -/* 0C98E8 800C8CE8 24420001 */ addiu $v0, $v0, 1 -/* 0C98EC 800C8CEC 03A0F025 */ move $fp, $sp -/* 0C98F0 800C8CF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C98F4 800C8CF4 1840001D */ blez $v0, .L800C8D6C -/* 0C98F8 800C8CF8 00008025 */ move $s0, $zero -.L800C8CFC: -/* 0C98FC 800C8CFC 0C031741 */ jal func_800C5D04 -/* 0C9900 800C8D00 320400FF */ andi $a0, $s0, 0xff -/* 0C9904 800C8D04 0C03178E */ jal func_800C5E38 -/* 0C9908 800C8D08 320400FF */ andi $a0, $s0, 0xff -/* 0C990C 800C8D0C 0C031842 */ jal func_800C6108 -/* 0C9910 800C8D10 320400FF */ andi $a0, $s0, 0xff -/* 0C9914 800C8D14 0C031928 */ jal func_800C64A0 -/* 0C9918 800C8D18 320400FF */ andi $a0, $s0, 0xff -/* 0C991C 800C8D1C 0C0319D6 */ jal func_800C6758 -/* 0C9920 800C8D20 320400FF */ andi $a0, $s0, 0xff -/* 0C9924 800C8D24 0C031A0F */ jal func_800C683C -/* 0C9928 800C8D28 320400FF */ andi $a0, $s0, 0xff -/* 0C992C 800C8D2C 0C031C2A */ jal func_800C70A8 -/* 0C9930 800C8D30 320400FF */ andi $a0, $s0, 0xff -/* 0C9934 800C8D34 0C031DB0 */ jal func_800C76C0 -/* 0C9938 800C8D38 320400FF */ andi $a0, $s0, 0xff -/* 0C993C 800C8D3C 0C03211F */ jal func_800C847C -/* 0C9940 800C8D40 320400FF */ andi $a0, $s0, 0xff -/* 0C9944 800C8D44 0C0321B6 */ jal func_800C86D8 -/* 0C9948 800C8D48 320400FF */ andi $a0, $s0, 0xff -/* 0C994C 800C8D4C 92220000 */ lbu $v0, ($s1) -/* 0C9950 800C8D50 26100001 */ addiu $s0, $s0, 1 -/* 0C9954 800C8D54 320E00FF */ andi $t6, $s0, 0xff -/* 0C9958 800C8D58 24420001 */ addiu $v0, $v0, 1 -/* 0C995C 800C8D5C 01C2082A */ slt $at, $t6, $v0 -/* 0C9960 800C8D60 1420FFE6 */ bnez $at, .L800C8CFC -/* 0C9964 800C8D64 01C08025 */ move $s0, $t6 -/* 0C9968 800C8D68 00008025 */ move $s0, $zero -.L800C8D6C: -/* 0C996C 800C8D6C 3C0F800E */ lui $t7, %hi(gModeSelection) # $t7, 0x800e -/* 0C9970 800C8D70 8DEFC53C */ lw $t7, %lo(gModeSelection)($t7) -/* 0C9974 800C8D74 15E0000C */ bnez $t7, .L800C8DA8 -/* 0C9978 800C8D78 00000000 */ nop -.L800C8D7C: -/* 0C997C 800C8D7C 0C0321DC */ jal func_800C8770 -/* 0C9980 800C8D80 320400FF */ andi $a0, $s0, 0xff -/* 0C9984 800C8D84 0C03231F */ jal func_800C8C7C -/* 0C9988 800C8D88 320400FF */ andi $a0, $s0, 0xff -/* 0C998C 800C8D8C 26100001 */ addiu $s0, $s0, 1 -/* 0C9990 800C8D90 321800FF */ andi $t8, $s0, 0xff -/* 0C9994 800C8D94 2B010008 */ slti $at, $t8, 8 -/* 0C9998 800C8D98 1420FFF8 */ bnez $at, .L800C8D7C -/* 0C999C 800C8D9C 03008025 */ move $s0, $t8 -/* 0C99A0 800C8DA0 1000000E */ b .L800C8DDC -/* 0C99A4 800C8DA4 00000000 */ nop -.L800C8DA8: -/* 0C99A8 800C8DA8 1840000C */ blez $v0, .L800C8DDC -/* 0C99AC 800C8DAC 00000000 */ nop -.L800C8DB0: -/* 0C99B0 800C8DB0 0C0321DC */ jal func_800C8770 -/* 0C99B4 800C8DB4 320400FF */ andi $a0, $s0, 0xff -/* 0C99B8 800C8DB8 0C03231F */ jal func_800C8C7C -/* 0C99BC 800C8DBC 320400FF */ andi $a0, $s0, 0xff -/* 0C99C0 800C8DC0 92280000 */ lbu $t0, ($s1) -/* 0C99C4 800C8DC4 26100001 */ addiu $s0, $s0, 1 -/* 0C99C8 800C8DC8 321900FF */ andi $t9, $s0, 0xff -/* 0C99CC 800C8DCC 25090001 */ addiu $t1, $t0, 1 -/* 0C99D0 800C8DD0 0329082A */ slt $at, $t9, $t1 -/* 0C99D4 800C8DD4 1420FFF6 */ bnez $at, .L800C8DB0 -/* 0C99D8 800C8DD8 03208025 */ move $s0, $t9 -.L800C8DDC: -/* 0C99DC 800C8DDC 0C032248 */ jal func_800C8920 -/* 0C99E0 800C8DE0 00000000 */ nop -/* 0C99E4 800C8DE4 0C032279 */ jal func_800C89E4 -/* 0C99E8 800C8DE8 00000000 */ nop -/* 0C99EC 800C8DEC 0C0322B9 */ jal func_800C8AE4 -/* 0C99F0 800C8DF0 00000000 */ nop -/* 0C99F4 800C8DF4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C99F8 800C8DF8 03C0E825 */ move $sp, $fp -/* 0C99FC 800C8DFC 8FD00020 */ lw $s0, 0x20($fp) -/* 0C9A00 800C8E00 8FD10024 */ lw $s1, 0x24($fp) -/* 0C9A04 800C8E04 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9A08 800C8E08 03E00008 */ jr $ra -/* 0C9A0C 800C8E0C 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel play_sound2 -/* 0C9A10 800C8E10 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C9A14 800C8E14 3C014900 */ lui $at, (0x49008018 >> 16) # lui $at, 0x4900 -/* 0C9A18 800C8E18 AFBE0030 */ sw $fp, 0x30($sp) -/* 0C9A1C 800C8E1C 34218018 */ ori $at, (0x49008018 & 0xFFFF) # ori $at, $at, 0x8018 -/* 0C9A20 800C8E20 03A0F025 */ move $fp, $sp -/* 0C9A24 800C8E24 14810008 */ bne $a0, $at, .L800C8E48 -/* 0C9A28 800C8E28 AFBF0034 */ sw $ra, 0x34($sp) -/* 0C9A2C 800C8E2C 3C0E800E */ lui $t6, %hi(gCurrentCourseId) # $t6, 0x800e -/* 0C9A30 800C8E30 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 0C9A34 800C8E34 24010012 */ li $at, 18 -/* 0C9A38 800C8E38 55C10004 */ bnel $t6, $at, .L800C8E4C -/* 0C9A3C 800C8E3C 3C014900 */ lui $at, 0x4900 -/* 0C9A40 800C8E40 3C044900 */ lui $a0, (0x49008027 >> 16) # lui $a0, 0x4900 -/* 0C9A44 800C8E44 34848027 */ ori $a0, (0x49008027 & 0xFFFF) # ori $a0, $a0, 0x8027 -.L800C8E48: -/* 0C9A48 800C8E48 3C014900 */ lui $at, (0x49008019 >> 16) # lui $at, 0x4900 -.L800C8E4C: -/* 0C9A4C 800C8E4C 34218019 */ ori $at, (0x49008019 & 0xFFFF) # ori $at, $at, 0x8019 -/* 0C9A50 800C8E50 14810008 */ bne $a0, $at, .L800C8E74 -/* 0C9A54 800C8E54 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C9A58 800C8E58 3C0F800E */ lui $t7, %hi(gCurrentCourseId) # $t7, 0x800e -/* 0C9A5C 800C8E5C 85EFC5A0 */ lh $t7, %lo(gCurrentCourseId)($t7) -/* 0C9A60 800C8E60 24010012 */ li $at, 18 -/* 0C9A64 800C8E64 15E10003 */ bne $t7, $at, .L800C8E74 -/* 0C9A68 800C8E68 00000000 */ nop -/* 0C9A6C 800C8E6C 3C044900 */ lui $a0, (0x49008028 >> 16) # lui $a0, 0x4900 -/* 0C9A70 800C8E70 34848028 */ ori $a0, (0x49008028 & 0xFFFF) # ori $a0, $a0, 0x8028 -.L800C8E74: -/* 0C9A74 800C8E74 3C18800F */ lui $t8, %hi(D_800EA1DC) # $t8, 0x800f -/* 0C9A78 800C8E78 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C9A7C 800C8E7C 2718A1DC */ addiu $t8, %lo(D_800EA1DC) # addiu $t8, $t8, -0x5e24 -/* 0C9A80 800C8E80 3C05800F */ lui $a1, %hi(D_800EA1C8) # $a1, 0x800f -/* 0C9A84 800C8E84 24A5A1C8 */ addiu $a1, %lo(D_800EA1C8) # addiu $a1, $a1, -0x5e38 -/* 0C9A88 800C8E88 AFB80014 */ sw $t8, 0x14($sp) -/* 0C9A8C 800C8E8C AFA70010 */ sw $a3, 0x10($sp) -/* 0C9A90 800C8E90 0C031052 */ jal play_sound -/* 0C9A94 800C8E94 24060004 */ li $a2, 4 -/* 0C9A98 800C8E98 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C9A9C 800C8E9C 03C0E825 */ move $sp, $fp -/* 0C9AA0 800C8EA0 8FDE0030 */ lw $fp, 0x30($fp) -/* 0C9AA4 800C8EA4 03E00008 */ jr $ra -/* 0C9AA8 800C8EA8 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800C8EAC -/* 0C9AAC 800C8EAC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C9AB0 800C8EB0 AFA40030 */ sw $a0, 0x30($sp) -/* 0C9AB4 800C8EB4 97A40032 */ lhu $a0, 0x32($sp) -/* 0C9AB8 800C8EB8 3C010001 */ lui $at, 1 -/* 0C9ABC 800C8EBC AFBF002C */ sw $ra, 0x2c($sp) -/* 0C9AC0 800C8EC0 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C9AC4 800C8EC4 00817025 */ or $t6, $a0, $at -/* 0C9AC8 800C8EC8 03A0F025 */ move $fp, $sp -/* 0C9ACC 800C8ECC 0C030D12 */ jal func_800C3448 -/* 0C9AD0 800C8ED0 01C02025 */ move $a0, $t6 -/* 0C9AD4 800C8ED4 97CF0032 */ lhu $t7, 0x32($fp) -/* 0C9AD8 800C8ED8 3C01800F */ lui $at, %hi(D_800EA15C) # $at, 0x800f -/* 0C9ADC 800C8EDC 03C0E825 */ move $sp, $fp -/* 0C9AE0 800C8EE0 A42FA15C */ sh $t7, %lo(D_800EA15C)($at) -/* 0C9AE4 800C8EE4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9AE8 800C8EE8 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9AEC 800C8EEC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C9AF0 800C8EF0 03E00008 */ jr $ra -/* 0C9AF4 800C8EF4 00000000 */ nop - -glabel func_800C8EF8 -/* 0C9AF8 800C8EF8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C9AFC 800C8EFC AFA40030 */ sw $a0, 0x30($sp) -/* 0C9B00 800C8F00 97A40032 */ lhu $a0, 0x32($sp) -/* 0C9B04 800C8F04 3C010101 */ lui $at, 0x101 -/* 0C9B08 800C8F08 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C9B0C 800C8F0C AFBE0028 */ sw $fp, 0x28($sp) -/* 0C9B10 800C8F10 00817025 */ or $t6, $a0, $at -/* 0C9B14 800C8F14 03A0F025 */ move $fp, $sp -/* 0C9B18 800C8F18 0C030D12 */ jal func_800C3448 -/* 0C9B1C 800C8F1C 01C02025 */ move $a0, $t6 -/* 0C9B20 800C8F20 97CF0032 */ lhu $t7, 0x32($fp) -/* 0C9B24 800C8F24 3C01800F */ lui $at, %hi(D_800EA160) # $at, 0x800f -/* 0C9B28 800C8F28 03C0E825 */ move $sp, $fp -/* 0C9B2C 800C8F2C A42FA160 */ sh $t7, %lo(D_800EA160)($at) -/* 0C9B30 800C8F30 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9B34 800C8F34 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9B38 800C8F38 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0C9B3C 800C8F3C 03E00008 */ jr $ra -/* 0C9B40 800C8F40 00000000 */ nop - -glabel func_800C8F44 -/* 0C9B44 800C8F44 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C9B48 800C8F48 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C9B4C 800C8F4C AFBE0028 */ sw $fp, 0x28($sp) -/* 0C9B50 800C8F50 AFA40030 */ sw $a0, 0x30($sp) -/* 0C9B54 800C8F54 308600FF */ andi $a2, $a0, 0xff -/* 0C9B58 800C8F58 03A0F025 */ move $fp, $sp -/* 0C9B5C 800C8F5C 00002025 */ move $a0, $zero -/* 0C9B60 800C8F60 00002825 */ move $a1, $zero -/* 0C9B64 800C8F64 0C030DB1 */ jal func_800C36C4 -/* 0C9B68 800C8F68 24070001 */ li $a3, 1 -/* 0C9B6C 800C8F6C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9B70 800C8F70 03C0E825 */ move $sp, $fp -/* 0C9B74 800C8F74 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9B78 800C8F78 03E00008 */ jr $ra -/* 0C9B7C 800C8F7C 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C8F80 -/* 0C9B80 800C8F80 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C9B84 800C8F84 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0C9B88 800C8F88 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0C9B8C 800C8F8C AFBE0030 */ sw $fp, 0x30($sp) -/* 0C9B90 800C8F90 03A0F025 */ move $fp, $sp -/* 0C9B94 800C8F94 AFBF0034 */ sw $ra, 0x34($sp) -/* 0C9B98 800C8F98 AFA40038 */ sw $a0, 0x38($sp) -/* 0C9B9C 800C8F9C AFA5003C */ sw $a1, 0x3c($sp) -/* 0C9BA0 800C8FA0 15C00018 */ bnez $t6, .L800C9004 -/* 0C9BA4 800C8FA4 308600FF */ andi $a2, $a0, 0xff -/* 0C9BA8 800C8FA8 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f -/* 0C9BAC 800C8FAC 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14 -/* 0C9BB0 800C8FB0 00CF1821 */ addu $v1, $a2, $t7 -/* 0C9BB4 800C8FB4 90620000 */ lbu $v0, ($v1) -/* 0C9BB8 800C8FB8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C9BBC 800C8FBC 24010002 */ li $at, 2 -/* 0C9BC0 800C8FC0 10400004 */ beqz $v0, .L800C8FD4 -/* 0C9BC4 800C8FC4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C9BC8 800C8FC8 1441000E */ bne $v0, $at, .L800C9004 -/* 0C9BCC 800C8FCC 24180001 */ li $t8, 1 -/* 0C9BD0 800C8FD0 A0780000 */ sb $t8, ($v1) -.L800C8FD4: -/* 0C9BD4 800C8FD4 0006C900 */ sll $t9, $a2, 4 -/* 0C9BD8 800C8FD8 0326C823 */ subu $t9, $t9, $a2 -/* 0C9BDC 800C8FDC 3C08800F */ lui $t0, %hi(D_800E9F7C) # $t0, 0x800f -/* 0C9BE0 800C8FE0 3C09800F */ lui $t1, %hi(D_800EA1DC) # $t1, 0x800f -/* 0C9BE4 800C8FE4 2529A1DC */ addiu $t1, %lo(D_800EA1DC) # addiu $t1, $t1, -0x5e24 -/* 0C9BE8 800C8FE8 25089F7C */ addiu $t0, %lo(D_800E9F7C) # addiu $t0, $t0, -0x6084 -/* 0C9BEC 800C8FEC 0019C880 */ sll $t9, $t9, 2 -/* 0C9BF0 800C8FF0 8FC4003C */ lw $a0, 0x3c($fp) -/* 0C9BF4 800C8FF4 AFA90014 */ sw $t1, 0x14($sp) -/* 0C9BF8 800C8FF8 AFA70010 */ sw $a3, 0x10($sp) -/* 0C9BFC 800C8FFC 0C031052 */ jal play_sound -/* 0C9C00 800C9000 03282821 */ addu $a1, $t9, $t0 -.L800C9004: -/* 0C9C04 800C9004 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C9C08 800C9008 03C0E825 */ move $sp, $fp -/* 0C9C0C 800C900C 8FDE0030 */ lw $fp, 0x30($fp) -/* 0C9C10 800C9010 03E00008 */ jr $ra -/* 0C9C14 800C9014 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800C9018 -/* 0C9C18 800C9018 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C9C1C 800C901C 308600FF */ andi $a2, $a0, 0xff -/* 0C9C20 800C9020 00067100 */ sll $t6, $a2, 4 -/* 0C9C24 800C9024 01C67023 */ subu $t6, $t6, $a2 -/* 0C9C28 800C9028 3C0F800F */ lui $t7, %hi(D_800E9F7C) # $t7, 0x800f -/* 0C9C2C 800C902C AFBF002C */ sw $ra, 0x2c($sp) -/* 0C9C30 800C9030 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C9C34 800C9034 AFA40030 */ sw $a0, 0x30($sp) -/* 0C9C38 800C9038 25EF9F7C */ addiu $t7, %lo(D_800E9F7C) # addiu $t7, $t7, -0x6084 -/* 0C9C3C 800C903C 000E7080 */ sll $t6, $t6, 2 -/* 0C9C40 800C9040 03A0F025 */ move $fp, $sp -/* 0C9C44 800C9044 0C03155E */ jal func_800C5578 -/* 0C9C48 800C9048 01CF2021 */ addu $a0, $t6, $t7 -/* 0C9C4C 800C904C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9C50 800C9050 03C0E825 */ move $sp, $fp -/* 0C9C54 800C9054 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9C58 800C9058 03E00008 */ jr $ra -/* 0C9C5C 800C905C 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C9060 -/* 0C9C60 800C9060 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C9C64 800C9064 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0C9C68 800C9068 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0C9C6C 800C906C AFBE0030 */ sw $fp, 0x30($sp) -/* 0C9C70 800C9070 03A0F025 */ move $fp, $sp -/* 0C9C74 800C9074 AFBF0034 */ sw $ra, 0x34($sp) -/* 0C9C78 800C9078 AFA40038 */ sw $a0, 0x38($sp) -/* 0C9C7C 800C907C AFA5003C */ sw $a1, 0x3c($sp) -/* 0C9C80 800C9080 15C00017 */ bnez $t6, .L800C90E0 -/* 0C9C84 800C9084 308600FF */ andi $a2, $a0, 0xff -/* 0C9C88 800C9088 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f -/* 0C9C8C 800C908C 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14 -/* 0C9C90 800C9090 00CF1821 */ addu $v1, $a2, $t7 -/* 0C9C94 800C9094 90620000 */ lbu $v0, ($v1) -/* 0C9C98 800C9098 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C9C9C 800C909C 24010002 */ li $at, 2 -/* 0C9CA0 800C90A0 10400004 */ beqz $v0, .L800C90B4 -/* 0C9CA4 800C90A4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C9CA8 800C90A8 1441000D */ bne $v0, $at, .L800C90E0 -/* 0C9CAC 800C90AC 24180001 */ li $t8, 1 -/* 0C9CB0 800C90B0 A0780000 */ sb $t8, ($v1) -.L800C90B4: -/* 0C9CB4 800C90B4 0006C900 */ sll $t9, $a2, 4 -/* 0C9CB8 800C90B8 0326C823 */ subu $t9, $t9, $a2 -/* 0C9CBC 800C90BC 3C08800F */ lui $t0, %hi(D_800E9F7C) # $t0, 0x800f -/* 0C9CC0 800C90C0 25089F7C */ addiu $t0, %lo(D_800E9F7C) # addiu $t0, $t0, -0x6084 -/* 0C9CC4 800C90C4 0019C880 */ sll $t9, $t9, 2 -/* 0C9CC8 800C90C8 03282821 */ addu $a1, $t9, $t0 -/* 0C9CCC 800C90CC 24A90014 */ addiu $t1, $a1, 0x14 -/* 0C9CD0 800C90D0 8FC4003C */ lw $a0, 0x3c($fp) -/* 0C9CD4 800C90D4 AFA90014 */ sw $t1, 0x14($sp) -/* 0C9CD8 800C90D8 0C031052 */ jal play_sound -/* 0C9CDC 800C90DC AFA70010 */ sw $a3, 0x10($sp) -.L800C90E0: -/* 0C9CE0 800C90E0 8FDF0034 */ lw $ra, 0x34($fp) -/* 0C9CE4 800C90E4 03C0E825 */ move $sp, $fp -/* 0C9CE8 800C90E8 8FDE0030 */ lw $fp, 0x30($fp) -/* 0C9CEC 800C90EC 03E00008 */ jr $ra -/* 0C9CF0 800C90F0 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800C90F4 -/* 0C9CF4 800C90F4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0C9CF8 800C90F8 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0C9CFC 800C90FC 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0C9D00 800C9100 AFBE0030 */ sw $fp, 0x30($sp) -/* 0C9D04 800C9104 03A0F025 */ move $fp, $sp -/* 0C9D08 800C9108 AFBF0034 */ sw $ra, 0x34($sp) -/* 0C9D0C 800C910C AFA40038 */ sw $a0, 0x38($sp) -/* 0C9D10 800C9110 AFA5003C */ sw $a1, 0x3c($sp) -/* 0C9D14 800C9114 15C00049 */ bnez $t6, .L800C923C -/* 0C9D18 800C9118 308600FF */ andi $a2, $a0, 0xff -/* 0C9D1C 800C911C 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f -/* 0C9D20 800C9120 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14 -/* 0C9D24 800C9124 00CF1821 */ addu $v1, $a2, $t7 -/* 0C9D28 800C9128 90620000 */ lbu $v0, ($v1) -/* 0C9D2C 800C912C 000648C0 */ sll $t1, $a2, 3 -/* 0C9D30 800C9130 24010002 */ li $at, 2 -/* 0C9D34 800C9134 10400004 */ beqz $v0, .L800C9148 -/* 0C9D38 800C9138 01264823 */ subu $t1, $t1, $a2 -/* 0C9D3C 800C913C 1441003F */ bne $v0, $at, .L800C923C -/* 0C9D40 800C9140 24180001 */ li $t8, 1 -/* 0C9D44 800C9144 A0780000 */ sb $t8, ($v1) -.L800C9148: -/* 0C9D48 800C9148 8FC2003C */ lw $v0, 0x3c($fp) -/* 0C9D4C 800C914C 2401FF0F */ li $at, -241 -/* 0C9D50 800C9150 00094900 */ sll $t1, $t1, 4 -/* 0C9D54 800C9154 0041C824 */ and $t9, $v0, $at -/* 0C9D58 800C9158 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900 -/* 0C9D5C 800C915C 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003 -/* 0C9D60 800C9160 13210007 */ beq $t9, $at, .L800C9180 -/* 0C9D64 800C9164 01264823 */ subu $t1, $t1, $a2 -/* 0C9D68 800C9168 3C012900 */ lui $at, (0x29008004 >> 16) # lui $at, 0x2900 -/* 0C9D6C 800C916C 34218004 */ ori $at, (0x29008004 & 0xFFFF) # ori $at, $at, 0x8004 -/* 0C9D70 800C9170 13210003 */ beq $t9, $at, .L800C9180 -/* 0C9D74 800C9174 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900 -/* 0C9D78 800C9178 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005 -/* 0C9D7C 800C917C 17210003 */ bne $t9, $at, .L800C918C -.L800C9180: -/* 0C9D80 800C9180 24080001 */ li $t0, 1 -/* 0C9D84 800C9184 3C01800F */ lui $at, %hi(D_800EA180) # $at, 0x800f -/* 0C9D88 800C9188 A428A180 */ sh $t0, %lo(D_800EA180)($at) -.L800C918C: -/* 0C9D8C 800C918C 00094880 */ sll $t1, $t1, 2 -/* 0C9D90 800C9190 01264823 */ subu $t1, $t1, $a2 -/* 0C9D94 800C9194 000948C0 */ sll $t1, $t1, 3 -/* 0C9D98 800C9198 3C0A800F */ lui $t2, %hi(gPlayers+0xBC) -/* 0C9D9C 800C919C 01495021 */ addu $t2, $t2, $t1 -/* 0C9DA0 800C91A0 8D4A6A4C */ lw $t2, %lo(gPlayers+0xBC)($t2) -/* 0C9DA4 800C91A4 3C024000 */ lui $v0, 0x4000 -/* 0C9DA8 800C91A8 3C0C800F */ lui $t4, %hi(D_800E9F2C) -/* 0C9DAC 800C91AC 01425824 */ and $t3, $t2, $v0 -/* 0C9DB0 800C91B0 144B0015 */ bne $v0, $t3, .L800C9208 -/* 0C9DB4 800C91B4 01866021 */ addu $t4, $t4, $a2 -/* 0C9DB8 800C91B8 918C9F2C */ lbu $t4, %lo(D_800E9F2C)($t4) -/* 0C9DBC 800C91BC 00066900 */ sll $t5, $a2, 4 -/* 0C9DC0 800C91C0 01A66823 */ subu $t5, $t5, $a2 -/* 0C9DC4 800C91C4 2981001F */ slti $at, $t4, 0x1f -/* 0C9DC8 800C91C8 1420000F */ bnez $at, .L800C9208 -/* 0C9DCC 800C91CC 000D6880 */ sll $t5, $t5, 2 -/* 0C9DD0 800C91D0 3C0E800F */ lui $t6, %hi(D_800E9F7C) # $t6, 0x800f -/* 0C9DD4 800C91D4 25CE9F7C */ addiu $t6, %lo(D_800E9F7C) # addiu $t6, $t6, -0x6084 -/* 0C9DD8 800C91D8 01AE2821 */ addu $a1, $t5, $t6 -/* 0C9DDC 800C91DC 3C0F800F */ lui $t7, %hi(D_800EA1D4) # $t7, 0x800f -/* 0C9DE0 800C91E0 25EFA1D4 */ addiu $t7, %lo(D_800EA1D4) # addiu $t7, $t7, -0x5e2c -/* 0C9DE4 800C91E4 24B80014 */ addiu $t8, $a1, 0x14 -/* 0C9DE8 800C91E8 8FC4003C */ lw $a0, 0x3c($fp) -/* 0C9DEC 800C91EC 3C07800F */ lui $a3, %hi(D_800EA150) # $a3, 0x800f -/* 0C9DF0 800C91F0 24E7A150 */ addiu $a3, %lo(D_800EA150) # addiu $a3, $a3, -0x5eb0 -/* 0C9DF4 800C91F4 AFB80014 */ sw $t8, 0x14($sp) -/* 0C9DF8 800C91F8 0C031052 */ jal play_sound -/* 0C9DFC 800C91FC AFAF0010 */ sw $t7, 0x10($sp) -/* 0C9E00 800C9200 1000000F */ b .L800C9240 -/* 0C9E04 800C9204 8FDF0034 */ lw $ra, 0x34($fp) -.L800C9208: -/* 0C9E08 800C9208 0006C900 */ sll $t9, $a2, 4 -/* 0C9E0C 800C920C 0326C823 */ subu $t9, $t9, $a2 -/* 0C9E10 800C9210 3C08800F */ lui $t0, %hi(D_800E9F7C) # $t0, 0x800f -/* 0C9E14 800C9214 25089F7C */ addiu $t0, %lo(D_800E9F7C) # addiu $t0, $t0, -0x6084 -/* 0C9E18 800C9218 0019C880 */ sll $t9, $t9, 2 -/* 0C9E1C 800C921C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0C9E20 800C9220 03282821 */ addu $a1, $t9, $t0 -/* 0C9E24 800C9224 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0C9E28 800C9228 24A90014 */ addiu $t1, $a1, 0x14 -/* 0C9E2C 800C922C 8FC4003C */ lw $a0, 0x3c($fp) -/* 0C9E30 800C9230 AFA90014 */ sw $t1, 0x14($sp) -/* 0C9E34 800C9234 0C031052 */ jal play_sound -/* 0C9E38 800C9238 AFA70010 */ sw $a3, 0x10($sp) -.L800C923C: -/* 0C9E3C 800C923C 8FDF0034 */ lw $ra, 0x34($fp) -.L800C9240: -/* 0C9E40 800C9240 03C0E825 */ move $sp, $fp -/* 0C9E44 800C9244 8FDE0030 */ lw $fp, 0x30($fp) -/* 0C9E48 800C9248 03E00008 */ jr $ra -/* 0C9E4C 800C924C 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800C9250 -/* 0C9E50 800C9250 308E00FF */ andi $t6, $a0, 0xff -/* 0C9E54 800C9254 000E78C0 */ sll $t7, $t6, 3 -/* 0C9E58 800C9258 01EE7823 */ subu $t7, $t7, $t6 -/* 0C9E5C 800C925C 000F7900 */ sll $t7, $t7, 4 -/* 0C9E60 800C9260 01EE7823 */ subu $t7, $t7, $t6 -/* 0C9E64 800C9264 000F7880 */ sll $t7, $t7, 2 -/* 0C9E68 800C9268 01EE7823 */ subu $t7, $t7, $t6 -/* 0C9E6C 800C926C 000F78C0 */ sll $t7, $t7, 3 -/* 0C9E70 800C9270 3C18800F */ lui $t8, %hi(gPlayers+0x254) -/* 0C9E74 800C9274 030FC021 */ addu $t8, $t8, $t7 -/* 0C9E78 800C9278 3C08803B */ lui $t0, %hi(D_803B7194) # $t0, 0x803b -/* 0C9E7C 800C927C 8D087194 */ lw $t0, %lo(D_803B7194)($t0) -/* 0C9E80 800C9280 97186BE4 */ lhu $t8, %lo(gPlayers+0x254)($t8) -/* 0C9E84 800C9284 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C9E88 800C9288 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900 -/* 0C9E8C 800C928C 31090001 */ andi $t1, $t0, 1 -/* 0C9E90 800C9290 0018C900 */ sll $t9, $t8, 4 -/* 0C9E94 800C9294 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C9E98 800C9298 AFBE0028 */ sw $fp, 0x28($sp) -/* 0C9E9C 800C929C AFA40030 */ sw $a0, 0x30($sp) -/* 0C9EA0 800C92A0 03292821 */ addu $a1, $t9, $t1 -/* 0C9EA4 800C92A4 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001 -/* 0C9EA8 800C92A8 01C02025 */ move $a0, $t6 -/* 0C9EAC 800C92AC 03A0F025 */ move $fp, $sp -/* 0C9EB0 800C92B0 0C03243D */ jal func_800C90F4 -/* 0C9EB4 800C92B4 00A12821 */ addu $a1, $a1, $at -/* 0C9EB8 800C92B8 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9EBC 800C92BC 03C0E825 */ move $sp, $fp -/* 0C9EC0 800C92C0 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9EC4 800C92C4 03E00008 */ jr $ra -/* 0C9EC8 800C92C8 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C92CC -/* 0C9ECC 800C92CC 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0C9ED0 800C92D0 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0C9ED4 800C92D4 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0C9ED8 800C92D8 AFBE0058 */ sw $fp, 0x58($sp) -/* 0C9EDC 800C92DC AFB5004C */ sw $s5, 0x4c($sp) -/* 0C9EE0 800C92E0 AFB40048 */ sw $s4, 0x48($sp) -/* 0C9EE4 800C92E4 309400FF */ andi $s4, $a0, 0xff -/* 0C9EE8 800C92E8 00A0A825 */ move $s5, $a1 -/* 0C9EEC 800C92EC 03A0F025 */ move $fp, $sp -/* 0C9EF0 800C92F0 AFBF005C */ sw $ra, 0x5c($sp) -/* 0C9EF4 800C92F4 AFB70054 */ sw $s7, 0x54($sp) -/* 0C9EF8 800C92F8 AFB60050 */ sw $s6, 0x50($sp) -/* 0C9EFC 800C92FC AFB30044 */ sw $s3, 0x44($sp) -/* 0C9F00 800C9300 AFB20040 */ sw $s2, 0x40($sp) -/* 0C9F04 800C9304 AFB1003C */ sw $s1, 0x3c($sp) -/* 0C9F08 800C9308 AFB00038 */ sw $s0, 0x38($sp) -/* 0C9F0C 800C930C F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0C9F10 800C9310 15C00056 */ bnez $t6, .L800C946C -/* 0C9F14 800C9314 AFA40078 */ sw $a0, 0x78($sp) -/* 0C9F18 800C9318 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f -/* 0C9F1C 800C931C 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7) -/* 0C9F20 800C9320 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f -/* 0C9F24 800C9324 55E00052 */ bnel $t7, $zero, .L800C9470 -/* 0C9F28 800C9328 8FDF005C */ lw $ra, 0x5c($fp) -/* 0C9F2C 800C932C 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0) -/* 0C9F30 800C9330 28410002 */ slti $at, $v0, 2 -/* 0C9F34 800C9334 5020004E */ beql $at, $zero, .L800C9470 -/* 0C9F38 800C9338 8FDF005C */ lw $ra, 0x5c($fp) -/* 0C9F3C 800C933C 0440004B */ bltz $v0, .L800C946C -/* 0C9F40 800C9340 00008025 */ move $s0, $zero -/* 0C9F44 800C9344 0014C0C0 */ sll $t8, $s4, 3 -/* 0C9F48 800C9348 0314C023 */ subu $t8, $t8, $s4 -/* 0C9F4C 800C934C 0018C100 */ sll $t8, $t8, 4 -/* 0C9F50 800C9350 0314C023 */ subu $t8, $t8, $s4 -/* 0C9F54 800C9354 0018C080 */ sll $t8, $t8, 2 -/* 0C9F58 800C9358 0314C023 */ subu $t8, $t8, $s4 -/* 0C9F5C 800C935C 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 0C9F60 800C9360 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 0C9F64 800C9364 0018C0C0 */ sll $t8, $t8, 3 -/* 0C9F68 800C9368 03198821 */ addu $s1, $t8, $t9 -/* 0C9F6C 800C936C 3C01432A */ li $at, 0x432A0000 # 170.000000 -/* 0C9F70 800C9370 26250014 */ addiu $a1, $s1, 0x14 -/* 0C9F74 800C9374 26260034 */ addiu $a2, $s1, 0x34 -/* 0C9F78 800C9378 3C17800F */ lui $s7, %hi(D_800E9F2C) # $s7, 0x800f -/* 0C9F7C 800C937C 3C16800F */ lui $s6, %hi(D_800EA1C8) # $s6, 0x800f -/* 0C9F80 800C9380 3C13800F */ lui $s3, %hi(D_800EA1D4) # $s3, 0x800f -/* 0C9F84 800C9384 4481A000 */ mtc1 $at, $f20 -/* 0C9F88 800C9388 2673A1D4 */ addiu $s3, %lo(D_800EA1D4) # addiu $s3, $s3, -0x5e2c -/* 0C9F8C 800C938C 26D6A1C8 */ addiu $s6, %lo(D_800EA1C8) # addiu $s6, $s6, -0x5e38 -/* 0C9F90 800C9390 26F79F2C */ addiu $s7, %lo(D_800E9F2C) # addiu $s7, $s7, -0x60d4 -/* 0C9F94 800C9394 AFA60064 */ sw $a2, 0x64($sp) -/* 0C9F98 800C9398 AFA50068 */ sw $a1, 0x68($sp) -/* 0C9F9C 800C939C 3C124000 */ lui $s2, 0x4000 -.L800C93A0: -/* 0C9FA0 800C93A0 8FC50068 */ lw $a1, 0x68($fp) -/* 0C9FA4 800C93A4 8FC60064 */ lw $a2, 0x64($fp) -/* 0C9FA8 800C93A8 AFB50014 */ sw $s5, 0x14($sp) -/* 0C9FAC 800C93AC AFB00010 */ sw $s0, 0x10($sp) -/* 0C9FB0 800C93B0 328400FF */ andi $a0, $s4, 0xff -/* 0C9FB4 800C93B4 0C030722 */ jal func_800C1C88 -/* 0C9FB8 800C93B8 02C03825 */ move $a3, $s6 -/* 0C9FBC 800C93BC 10400023 */ beqz $v0, .L800C944C -/* 0C9FC0 800C93C0 00401825 */ move $v1, $v0 -/* 0C9FC4 800C93C4 E4540034 */ swc1 $f20, 0x34($v0) -/* 0C9FC8 800C93C8 8E2C00BC */ lw $t4, 0xbc($s1) -/* 0C9FCC 800C93CC 00144900 */ sll $t1, $s4, 4 -/* 0C9FD0 800C93D0 3C0B800F */ lui $t3, %hi(D_800EA06C) # $t3, 0x800f -/* 0C9FD4 800C93D4 256BA06C */ addiu $t3, %lo(D_800EA06C) # addiu $t3, $t3, -0x5f94 -/* 0C9FD8 800C93D8 252A000C */ addiu $t2, $t1, 0xc -/* 0C9FDC 800C93DC 01926824 */ and $t5, $t4, $s2 -/* 0C9FE0 800C93E0 164D0011 */ bne $s2, $t5, .L800C9428 -/* 0C9FE4 800C93E4 014B4021 */ addu $t0, $t2, $t3 -/* 0C9FE8 800C93E8 02F47021 */ addu $t6, $s7, $s4 -/* 0C9FEC 800C93EC 91CF0000 */ lbu $t7, ($t6) -/* 0C9FF0 800C93F0 24450018 */ addiu $a1, $v0, 0x18 -/* 0C9FF4 800C93F4 320600FF */ andi $a2, $s0, 0xff -/* 0C9FF8 800C93F8 29E1001F */ slti $at, $t7, 0x1f -/* 0C9FFC 800C93FC 1420000A */ bnez $at, .L800C9428 -/* 0CA000 800C9400 3C07800F */ lui $a3, %hi(D_800EA150) # $a3, 0x800f -/* 0CA004 800C9404 96380254 */ lhu $t8, 0x254($s1) -/* 0CA008 800C9408 24E7A150 */ addiu $a3, %lo(D_800EA150) # addiu $a3, $a3, -0x5eb0 -/* 0CA00C 800C940C AFB30010 */ sw $s3, 0x10($sp) -/* 0CA010 800C9410 0018C900 */ sll $t9, $t8, 4 -/* 0CA014 800C9414 03352021 */ addu $a0, $t9, $s5 -/* 0CA018 800C9418 0C031052 */ jal play_sound -/* 0CA01C 800C941C AFA80014 */ sw $t0, 0x14($sp) -/* 0CA020 800C9420 1000000A */ b .L800C944C -/* 0CA024 800C9424 00000000 */ nop -.L800C9428: -/* 0CA028 800C9428 96290254 */ lhu $t1, 0x254($s1) -/* 0CA02C 800C942C 24650018 */ addiu $a1, $v1, 0x18 -/* 0CA030 800C9430 320600FF */ andi $a2, $s0, 0xff -/* 0CA034 800C9434 00095100 */ sll $t2, $t1, 4 -/* 0CA038 800C9438 01552021 */ addu $a0, $t2, $s5 -/* 0CA03C 800C943C 2467002C */ addiu $a3, $v1, 0x2c -/* 0CA040 800C9440 AFB30010 */ sw $s3, 0x10($sp) -/* 0CA044 800C9444 0C031052 */ jal play_sound -/* 0CA048 800C9448 AFA80014 */ sw $t0, 0x14($sp) -.L800C944C: -/* 0CA04C 800C944C 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f -/* 0CA050 800C9450 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4) -/* 0CA054 800C9454 26100001 */ addiu $s0, $s0, 1 -/* 0CA058 800C9458 320B00FF */ andi $t3, $s0, 0xff -/* 0CA05C 800C945C 258D0001 */ addiu $t5, $t4, 1 -/* 0CA060 800C9460 016D082A */ slt $at, $t3, $t5 -/* 0CA064 800C9464 1420FFCE */ bnez $at, .L800C93A0 -/* 0CA068 800C9468 01608025 */ move $s0, $t3 -.L800C946C: -/* 0CA06C 800C946C 8FDF005C */ lw $ra, 0x5c($fp) -.L800C9470: -/* 0CA070 800C9470 03C0E825 */ move $sp, $fp -/* 0CA074 800C9474 D7D40030 */ ldc1 $f20, 0x30($fp) -/* 0CA078 800C9478 8FD00038 */ lw $s0, 0x38($fp) -/* 0CA07C 800C947C 8FD1003C */ lw $s1, 0x3c($fp) -/* 0CA080 800C9480 8FD20040 */ lw $s2, 0x40($fp) -/* 0CA084 800C9484 8FD30044 */ lw $s3, 0x44($fp) -/* 0CA088 800C9488 8FD40048 */ lw $s4, 0x48($fp) -/* 0CA08C 800C948C 8FD5004C */ lw $s5, 0x4c($fp) -/* 0CA090 800C9490 8FD60050 */ lw $s6, 0x50($fp) -/* 0CA094 800C9494 8FD70054 */ lw $s7, 0x54($fp) -/* 0CA098 800C9498 8FDE0058 */ lw $fp, 0x58($fp) -/* 0CA09C 800C949C 03E00008 */ jr $ra -/* 0CA0A0 800C94A0 27BD0078 */ addiu $sp, $sp, 0x78 - -glabel func_800C94A4 -/* 0CA0A4 800C94A4 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CA0A8 800C94A8 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CA0AC 800C94AC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CA0B0 800C94B0 AFBE0030 */ sw $fp, 0x30($sp) -/* 0CA0B4 800C94B4 03A0F025 */ move $fp, $sp -/* 0CA0B8 800C94B8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0CA0BC 800C94BC AFA40038 */ sw $a0, 0x38($sp) -/* 0CA0C0 800C94C0 15C000BB */ bnez $t6, .L800C97B0 -/* 0CA0C4 800C94C4 308600FF */ andi $a2, $a0, 0xff -/* 0CA0C8 800C94C8 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f -/* 0CA0CC 800C94CC 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14 -/* 0CA0D0 800C94D0 00CF1821 */ addu $v1, $a2, $t7 -/* 0CA0D4 800C94D4 90620000 */ lbu $v0, ($v1) -/* 0CA0D8 800C94D8 0006C900 */ sll $t9, $a2, 4 -/* 0CA0DC 800C94DC 24010002 */ li $at, 2 -/* 0CA0E0 800C94E0 10400004 */ beqz $v0, .L800C94F4 -/* 0CA0E4 800C94E4 0326C823 */ subu $t9, $t9, $a2 -/* 0CA0E8 800C94E8 144100B1 */ bne $v0, $at, .L800C97B0 -/* 0CA0EC 800C94EC 24180001 */ li $t8, 1 -/* 0CA0F0 800C94F0 A0780000 */ sb $t8, ($v1) -.L800C94F4: -/* 0CA0F4 800C94F4 000648C0 */ sll $t1, $a2, 3 -/* 0CA0F8 800C94F8 01264823 */ subu $t1, $t1, $a2 -/* 0CA0FC 800C94FC 00094900 */ sll $t1, $t1, 4 -/* 0CA100 800C9500 3C08800F */ lui $t0, %hi(D_800E9F7C) # $t0, 0x800f -/* 0CA104 800C9504 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CA108 800C9508 01264823 */ subu $t1, $t1, $a2 -/* 0CA10C 800C950C 44812000 */ mtc1 $at, $f4 -/* 0CA110 800C9510 44803000 */ mtc1 $zero, $f6 -/* 0CA114 800C9514 25089F7C */ addiu $t0, %lo(D_800E9F7C) # addiu $t0, $t0, -0x6084 -/* 0CA118 800C9518 0019C880 */ sll $t9, $t9, 2 -/* 0CA11C 800C951C 00094880 */ sll $t1, $t1, 2 -/* 0CA120 800C9520 03282821 */ addu $a1, $t9, $t0 -/* 0CA124 800C9524 01264823 */ subu $t1, $t1, $a2 -/* 0CA128 800C9528 000948C0 */ sll $t1, $t1, 3 -/* 0CA12C 800C952C 3C03800F */ lui $v1, %hi(gPlayers+0x254) -/* 0CA130 800C9530 00691821 */ addu $v1, $v1, $t1 -/* 0CA134 800C9534 E4A4000C */ swc1 $f4, 0xc($a1) -/* 0CA138 800C9538 E4A60010 */ swc1 $f6, 0x10($a1) -/* 0CA13C 800C953C 94636BE4 */ lhu $v1, %lo(gPlayers+0x254)($v1) -/* 0CA140 800C9540 2C610008 */ sltiu $at, $v1, 8 -/* 0CA144 800C9544 10200078 */ beqz $at, .L800C9728 -/* 0CA148 800C9548 00035080 */ sll $t2, $v1, 2 -/* 0CA14C 800C954C 3C01800F */ lui $at, %hi(D_800F38B8) -/* 0CA150 800C9550 002A0821 */ addu $at, $at, $t2 -/* 0CA154 800C9554 8C2A38B8 */ lw $t2, %lo(D_800F38B8)($at) -/* 0CA158 800C9558 01400008 */ jr $t2 -/* 0CA15C 800C955C 00000000 */ nop -glabel L800C9560 -/* 0CA160 800C9560 3C01800F */ lui $at, %hi(D_800F38D8) # $at, 0x800f -/* 0CA164 800C9564 C42038D8 */ lwc1 $f0, %lo(D_800F38D8)($at) -/* 0CA168 800C9568 3C01800F */ lui $at, %hi(D_800F38DC) # $at, 0x800f -/* 0CA16C 800C956C C42838DC */ lwc1 $f8, %lo(D_800F38DC)($at) -/* 0CA170 800C9570 3C01800F */ lui $at, %hi(D_800F38E0) # $at, 0x800f -/* 0CA174 800C9574 E4A80018 */ swc1 $f8, 0x18($a1) -/* 0CA178 800C9578 C42A38E0 */ lwc1 $f10, %lo(D_800F38E0)($at) -/* 0CA17C 800C957C 3C01800F */ lui $at, %hi(D_800F38E4) # $at, 0x800f -/* 0CA180 800C9580 E4A00020 */ swc1 $f0, 0x20($a1) -/* 0CA184 800C9584 E4AA001C */ swc1 $f10, 0x1c($a1) -/* 0CA188 800C9588 C43038E4 */ lwc1 $f16, %lo(D_800F38E4)($at) -/* 0CA18C 800C958C 3C01800F */ lui $at, %hi(D_800F38E8) # $at, 0x800f -/* 0CA190 800C9590 E4A00028 */ swc1 $f0, 0x28($a1) -/* 0CA194 800C9594 E4B00024 */ swc1 $f16, 0x24($a1) -/* 0CA198 800C9598 C43238E8 */ lwc1 $f18, %lo(D_800F38E8)($at) -/* 0CA19C 800C959C 3C01800F */ lui $at, %hi(D_800F38EC) # $at, 0x800f -/* 0CA1A0 800C95A0 E4B2002C */ swc1 $f18, 0x2c($a1) -/* 0CA1A4 800C95A4 C42438EC */ lwc1 $f4, %lo(D_800F38EC)($at) -/* 0CA1A8 800C95A8 3C01800F */ lui $at, %hi(D_800F38F0) # $at, 0x800f -/* 0CA1AC 800C95AC E4A40030 */ swc1 $f4, 0x30($a1) -/* 0CA1B0 800C95B0 C42638F0 */ lwc1 $f6, %lo(D_800F38F0)($at) -/* 0CA1B4 800C95B4 1000005C */ b .L800C9728 -/* 0CA1B8 800C95B8 E4A60034 */ swc1 $f6, 0x34($a1) -glabel L800C95BC -/* 0CA1BC 800C95BC 3C01800F */ lui $at, %hi(D_800F38F4) # $at, 0x800f -/* 0CA1C0 800C95C0 C42038F4 */ lwc1 $f0, %lo(D_800F38F4)($at) -/* 0CA1C4 800C95C4 3C01800F */ lui $at, %hi(D_800F38F8) # $at, 0x800f -/* 0CA1C8 800C95C8 C42838F8 */ lwc1 $f8, %lo(D_800F38F8)($at) -/* 0CA1CC 800C95CC 3C01800F */ lui $at, %hi(D_800F38FC) # $at, 0x800f -/* 0CA1D0 800C95D0 E4A80018 */ swc1 $f8, 0x18($a1) -/* 0CA1D4 800C95D4 C42A38FC */ lwc1 $f10, %lo(D_800F38FC)($at) -/* 0CA1D8 800C95D8 3C01800F */ lui $at, %hi(D_800F3900) # $at, 0x800f -/* 0CA1DC 800C95DC E4A00020 */ swc1 $f0, 0x20($a1) -/* 0CA1E0 800C95E0 E4AA001C */ swc1 $f10, 0x1c($a1) -/* 0CA1E4 800C95E4 C4303900 */ lwc1 $f16, %lo(D_800F3900)($at) -/* 0CA1E8 800C95E8 3C01800F */ lui $at, %hi(D_800F3904) # $at, 0x800f -/* 0CA1EC 800C95EC E4A00028 */ swc1 $f0, 0x28($a1) -/* 0CA1F0 800C95F0 E4B00024 */ swc1 $f16, 0x24($a1) -/* 0CA1F4 800C95F4 C4323904 */ lwc1 $f18, %lo(D_800F3904)($at) -/* 0CA1F8 800C95F8 3C01800F */ lui $at, %hi(D_800F3908) # $at, 0x800f -/* 0CA1FC 800C95FC E4B2002C */ swc1 $f18, 0x2c($a1) -/* 0CA200 800C9600 C4243908 */ lwc1 $f4, %lo(D_800F3908)($at) -/* 0CA204 800C9604 3C01800F */ lui $at, %hi(D_800F390C) # $at, 0x800f -/* 0CA208 800C9608 E4A40030 */ swc1 $f4, 0x30($a1) -/* 0CA20C 800C960C C426390C */ lwc1 $f6, %lo(D_800F390C)($at) -/* 0CA210 800C9610 10000045 */ b .L800C9728 -/* 0CA214 800C9614 E4A60034 */ swc1 $f6, 0x34($a1) -glabel L800C9618 -/* 0CA218 800C9618 3C01800F */ lui $at, %hi(D_800F3910) # $at, 0x800f -/* 0CA21C 800C961C C4203910 */ lwc1 $f0, %lo(D_800F3910)($at) -/* 0CA220 800C9620 3C01800F */ lui $at, %hi(D_800F3914) # $at, 0x800f -/* 0CA224 800C9624 C4283914 */ lwc1 $f8, %lo(D_800F3914)($at) -/* 0CA228 800C9628 3C01800F */ lui $at, %hi(D_800F3918) # $at, 0x800f -/* 0CA22C 800C962C E4A80018 */ swc1 $f8, 0x18($a1) -/* 0CA230 800C9630 C42A3918 */ lwc1 $f10, %lo(D_800F3918)($at) -/* 0CA234 800C9634 3C01800F */ lui $at, %hi(D_800F391C) # $at, 0x800f -/* 0CA238 800C9638 E4A00020 */ swc1 $f0, 0x20($a1) -/* 0CA23C 800C963C E4AA001C */ swc1 $f10, 0x1c($a1) -/* 0CA240 800C9640 C430391C */ lwc1 $f16, %lo(D_800F391C)($at) -/* 0CA244 800C9644 3C01800F */ lui $at, %hi(D_800F3920) # $at, 0x800f -/* 0CA248 800C9648 E4A00028 */ swc1 $f0, 0x28($a1) -/* 0CA24C 800C964C E4B00024 */ swc1 $f16, 0x24($a1) -/* 0CA250 800C9650 C4323920 */ lwc1 $f18, %lo(D_800F3920)($at) -/* 0CA254 800C9654 3C01800F */ lui $at, %hi(D_800F3924) # $at, 0x800f -/* 0CA258 800C9658 E4B2002C */ swc1 $f18, 0x2c($a1) -/* 0CA25C 800C965C C4243924 */ lwc1 $f4, %lo(D_800F3924)($at) -/* 0CA260 800C9660 3C01800F */ lui $at, %hi(D_800F3928) # $at, 0x800f -/* 0CA264 800C9664 E4A40030 */ swc1 $f4, 0x30($a1) -/* 0CA268 800C9668 C4263928 */ lwc1 $f6, %lo(D_800F3928)($at) -/* 0CA26C 800C966C 1000002E */ b .L800C9728 -/* 0CA270 800C9670 E4A60034 */ swc1 $f6, 0x34($a1) -glabel L800C9674 -/* 0CA274 800C9674 3C01800F */ lui $at, %hi(D_800F392C) # $at, 0x800f -/* 0CA278 800C9678 C420392C */ lwc1 $f0, %lo(D_800F392C)($at) -/* 0CA27C 800C967C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0CA280 800C9680 44814000 */ mtc1 $at, $f8 -/* 0CA284 800C9684 3C01800F */ lui $at, %hi(D_800F3930) # $at, 0x800f -/* 0CA288 800C9688 E4A80018 */ swc1 $f8, 0x18($a1) -/* 0CA28C 800C968C C42A3930 */ lwc1 $f10, %lo(D_800F3930)($at) -/* 0CA290 800C9690 3C01800F */ lui $at, %hi(D_800F3934) # $at, 0x800f -/* 0CA294 800C9694 E4A00020 */ swc1 $f0, 0x20($a1) -/* 0CA298 800C9698 E4AA001C */ swc1 $f10, 0x1c($a1) -/* 0CA29C 800C969C C4303934 */ lwc1 $f16, %lo(D_800F3934)($at) -/* 0CA2A0 800C96A0 3C01800F */ lui $at, %hi(D_800F3938) # $at, 0x800f -/* 0CA2A4 800C96A4 E4A00028 */ swc1 $f0, 0x28($a1) -/* 0CA2A8 800C96A8 E4B00024 */ swc1 $f16, 0x24($a1) -/* 0CA2AC 800C96AC C4323938 */ lwc1 $f18, %lo(D_800F3938)($at) -/* 0CA2B0 800C96B0 3C01800F */ lui $at, %hi(D_800F393C) # $at, 0x800f -/* 0CA2B4 800C96B4 E4B2002C */ swc1 $f18, 0x2c($a1) -/* 0CA2B8 800C96B8 C424393C */ lwc1 $f4, %lo(D_800F393C)($at) -/* 0CA2BC 800C96BC 3C01800F */ lui $at, %hi(D_800F3940) # $at, 0x800f -/* 0CA2C0 800C96C0 E4A40030 */ swc1 $f4, 0x30($a1) -/* 0CA2C4 800C96C4 C4263940 */ lwc1 $f6, %lo(D_800F3940)($at) -/* 0CA2C8 800C96C8 10000017 */ b .L800C9728 -/* 0CA2CC 800C96CC E4A60034 */ swc1 $f6, 0x34($a1) -glabel L800C96D0 -/* 0CA2D0 800C96D0 3C01800F */ lui $at, %hi(D_800F3944) # $at, 0x800f -/* 0CA2D4 800C96D4 C4203944 */ lwc1 $f0, %lo(D_800F3944)($at) -/* 0CA2D8 800C96D8 3C01800F */ lui $at, %hi(D_800F3948) # $at, 0x800f -/* 0CA2DC 800C96DC C4283948 */ lwc1 $f8, %lo(D_800F3948)($at) -/* 0CA2E0 800C96E0 3C01800F */ lui $at, %hi(D_800F394C) # $at, 0x800f -/* 0CA2E4 800C96E4 E4A80018 */ swc1 $f8, 0x18($a1) -/* 0CA2E8 800C96E8 C42A394C */ lwc1 $f10, %lo(D_800F394C)($at) -/* 0CA2EC 800C96EC 3C01800F */ lui $at, %hi(D_800F3950) # $at, 0x800f -/* 0CA2F0 800C96F0 E4A00020 */ swc1 $f0, 0x20($a1) -/* 0CA2F4 800C96F4 E4AA001C */ swc1 $f10, 0x1c($a1) -/* 0CA2F8 800C96F8 C4303950 */ lwc1 $f16, %lo(D_800F3950)($at) -/* 0CA2FC 800C96FC 3C01800F */ lui $at, %hi(D_800F3954) # $at, 0x800f -/* 0CA300 800C9700 E4A00028 */ swc1 $f0, 0x28($a1) -/* 0CA304 800C9704 E4B00024 */ swc1 $f16, 0x24($a1) -/* 0CA308 800C9708 C4323954 */ lwc1 $f18, %lo(D_800F3954)($at) -/* 0CA30C 800C970C 3C01800F */ lui $at, %hi(D_800F3958) # $at, 0x800f -/* 0CA310 800C9710 E4B2002C */ swc1 $f18, 0x2c($a1) -/* 0CA314 800C9714 C4243958 */ lwc1 $f4, %lo(D_800F3958)($at) -/* 0CA318 800C9718 3C01800F */ lui $at, %hi(D_800F395C) # $at, 0x800f -/* 0CA31C 800C971C E4A40030 */ swc1 $f4, 0x30($a1) -/* 0CA320 800C9720 C426395C */ lwc1 $f6, %lo(D_800F395C)($at) -/* 0CA324 800C9724 E4A60034 */ swc1 $f6, 0x34($a1) -.L800C9728: -/* 0CA328 800C9728 3C02800F */ lui $v0, %hi(D_800E9F74) -/* 0CA32C 800C972C 00461021 */ addu $v0, $v0, $a2 -/* 0CA330 800C9730 90429F74 */ lbu $v0, %lo(D_800E9F74)($v0) -/* 0CA334 800C9734 3C010104 */ lui $at, (0x0104FF00 >> 16) # lui $at, 0x104 -/* 0CA338 800C9738 3421FF00 */ ori $at, (0x0104FF00 & 0xFFFF) # ori $at, $at, 0xff00 -/* 0CA33C 800C973C 10400008 */ beqz $v0, .L800C9760 -/* 0CA340 800C9740 00612021 */ addu $a0, $v1, $at -/* 0CA344 800C9744 24010001 */ li $at, 1 -/* 0CA348 800C9748 1041000B */ beq $v0, $at, .L800C9778 -/* 0CA34C 800C974C 24010002 */ li $at, 2 -/* 0CA350 800C9750 1041000B */ beq $v0, $at, .L800C9780 -/* 0CA354 800C9754 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f -/* 0CA358 800C9758 10000010 */ b .L800C979C -/* 0CA35C 800C975C 24AD0010 */ addiu $t5, $a1, 0x10 -.L800C9760: -/* 0CA360 800C9760 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f -/* 0CA364 800C9764 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3) -/* 0CA368 800C9768 5160000C */ beql $t3, $zero, .L800C979C -/* 0CA36C 800C976C 24AD0010 */ addiu $t5, $a1, 0x10 -/* 0CA370 800C9770 10000009 */ b .L800C9798 -/* 0CA374 800C9774 24840014 */ addiu $a0, $a0, 0x14 -.L800C9778: -/* 0CA378 800C9778 10000007 */ b .L800C9798 -/* 0CA37C 800C977C 2484002E */ addiu $a0, $a0, 0x2e -.L800C9780: -/* 0CA380 800C9780 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4) -/* 0CA384 800C9784 55800004 */ bnel $t4, $zero, .L800C9798 -/* 0CA388 800C9788 2484003E */ addiu $a0, $a0, 0x3e -/* 0CA38C 800C978C 10000002 */ b .L800C9798 -/* 0CA390 800C9790 24840036 */ addiu $a0, $a0, 0x36 -/* 0CA394 800C9794 2484003E */ addiu $a0, $a0, 0x3e -.L800C9798: -/* 0CA398 800C9798 24AD0010 */ addiu $t5, $a1, 0x10 -.L800C979C: -/* 0CA39C 800C979C 24AE0014 */ addiu $t6, $a1, 0x14 -/* 0CA3A0 800C97A0 AFAE0014 */ sw $t6, 0x14($sp) -/* 0CA3A4 800C97A4 AFAD0010 */ sw $t5, 0x10($sp) -/* 0CA3A8 800C97A8 0C031052 */ jal play_sound -/* 0CA3AC 800C97AC 24A7000C */ addiu $a3, $a1, 0xc -.L800C97B0: -/* 0CA3B0 800C97B0 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CA3B4 800C97B4 03C0E825 */ move $sp, $fp -/* 0CA3B8 800C97B8 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CA3BC 800C97BC 03E00008 */ jr $ra -/* 0CA3C0 800C97C0 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800C97C4 -/* 0CA3C4 800C97C4 308600FF */ andi $a2, $a0, 0xff -/* 0CA3C8 800C97C8 0006C0C0 */ sll $t8, $a2, 3 -/* 0CA3CC 800C97CC 0306C023 */ subu $t8, $t8, $a2 -/* 0CA3D0 800C97D0 0018C100 */ sll $t8, $t8, 4 -/* 0CA3D4 800C97D4 0306C023 */ subu $t8, $t8, $a2 -/* 0CA3D8 800C97D8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CA3DC 800C97DC 0018C080 */ sll $t8, $t8, 2 -/* 0CA3E0 800C97E0 0306C023 */ subu $t8, $t8, $a2 -/* 0CA3E4 800C97E4 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 0CA3E8 800C97E8 AFB1002C */ sw $s1, 0x2c($sp) -/* 0CA3EC 800C97EC 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 0CA3F0 800C97F0 0018C0C0 */ sll $t8, $t8, 3 -/* 0CA3F4 800C97F4 00067100 */ sll $t6, $a2, 4 -/* 0CA3F8 800C97F8 01C67023 */ subu $t6, $t6, $a2 -/* 0CA3FC 800C97FC 03198821 */ addu $s1, $t8, $t9 -/* 0CA400 800C9800 3C0F800F */ lui $t7, %hi(D_800E9F7C) # $t7, 0x800f -/* 0CA404 800C9804 96250254 */ lhu $a1, 0x254($s1) -/* 0CA408 800C9808 AFB00028 */ sw $s0, 0x28($sp) -/* 0CA40C 800C980C 25EF9F7C */ addiu $t7, %lo(D_800E9F7C) # addiu $t7, $t7, -0x6084 -/* 0CA410 800C9810 000E7080 */ sll $t6, $t6, 2 -/* 0CA414 800C9814 3C010104 */ lui $at, (0x0104FF00 >> 16) # lui $at, 0x104 -/* 0CA418 800C9818 AFBF0034 */ sw $ra, 0x34($sp) -/* 0CA41C 800C981C AFBE0030 */ sw $fp, 0x30($sp) -/* 0CA420 800C9820 AFA40038 */ sw $a0, 0x38($sp) -/* 0CA424 800C9824 3421FF00 */ ori $at, (0x0104FF00 & 0xFFFF) # ori $at, $at, 0xff00 -/* 0CA428 800C9828 01CF8021 */ addu $s0, $t6, $t7 -/* 0CA42C 800C982C 03A0F025 */ move $fp, $sp -/* 0CA430 800C9830 02002025 */ move $a0, $s0 -/* 0CA434 800C9834 0C03155E */ jal func_800C5578 -/* 0CA438 800C9838 00A12821 */ addu $a1, $a1, $at -/* 0CA43C 800C983C 96250254 */ lhu $a1, 0x254($s1) -/* 0CA440 800C9840 3C010104 */ lui $at, (0x0104FF14 >> 16) # lui $at, 0x104 -/* 0CA444 800C9844 3421FF14 */ ori $at, (0x0104FF14 & 0xFFFF) # ori $at, $at, 0xff14 -/* 0CA448 800C9848 02002025 */ move $a0, $s0 -/* 0CA44C 800C984C 0C03155E */ jal func_800C5578 -/* 0CA450 800C9850 00A12821 */ addu $a1, $a1, $at -/* 0CA454 800C9854 96250254 */ lhu $a1, 0x254($s1) -/* 0CA458 800C9858 3C010104 */ lui $at, (0x0104FF2E >> 16) # lui $at, 0x104 -/* 0CA45C 800C985C 3421FF2E */ ori $at, (0x0104FF2E & 0xFFFF) # ori $at, $at, 0xff2e -/* 0CA460 800C9860 02002025 */ move $a0, $s0 -/* 0CA464 800C9864 0C03155E */ jal func_800C5578 -/* 0CA468 800C9868 00A12821 */ addu $a1, $a1, $at -/* 0CA46C 800C986C 96250254 */ lhu $a1, 0x254($s1) -/* 0CA470 800C9870 3C010104 */ lui $at, (0x0104FF36 >> 16) # lui $at, 0x104 -/* 0CA474 800C9874 3421FF36 */ ori $at, (0x0104FF36 & 0xFFFF) # ori $at, $at, 0xff36 -/* 0CA478 800C9878 02002025 */ move $a0, $s0 -/* 0CA47C 800C987C 0C03155E */ jal func_800C5578 -/* 0CA480 800C9880 00A12821 */ addu $a1, $a1, $at -/* 0CA484 800C9884 96250254 */ lhu $a1, 0x254($s1) -/* 0CA488 800C9888 3C010104 */ lui $at, (0x0104FF3E >> 16) # lui $at, 0x104 -/* 0CA48C 800C988C 3421FF3E */ ori $at, (0x0104FF3E & 0xFFFF) # ori $at, $at, 0xff3e -/* 0CA490 800C9890 02002025 */ move $a0, $s0 -/* 0CA494 800C9894 0C03155E */ jal func_800C5578 -/* 0CA498 800C9898 00A12821 */ addu $a1, $a1, $at -/* 0CA49C 800C989C 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CA4A0 800C98A0 03C0E825 */ move $sp, $fp -/* 0CA4A4 800C98A4 8FD00028 */ lw $s0, 0x28($fp) -/* 0CA4A8 800C98A8 8FD1002C */ lw $s1, 0x2c($fp) -/* 0CA4AC 800C98AC 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CA4B0 800C98B0 03E00008 */ jr $ra -/* 0CA4B4 800C98B4 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800C98B8 -/* 0CA4B8 800C98B8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0CA4BC 800C98BC 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CA4C0 800C98C0 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CA4C4 800C98C4 AFBE0058 */ sw $fp, 0x58($sp) -/* 0CA4C8 800C98C8 AFB60050 */ sw $s6, 0x50($sp) -/* 0CA4CC 800C98CC AFB5004C */ sw $s5, 0x4c($sp) -/* 0CA4D0 800C98D0 AFB1003C */ sw $s1, 0x3c($sp) -/* 0CA4D4 800C98D4 00C08825 */ move $s1, $a2 -/* 0CA4D8 800C98D8 0080A825 */ move $s5, $a0 -/* 0CA4DC 800C98DC 00A0B025 */ move $s6, $a1 -/* 0CA4E0 800C98E0 03A0F025 */ move $fp, $sp -/* 0CA4E4 800C98E4 AFBF005C */ sw $ra, 0x5c($sp) -/* 0CA4E8 800C98E8 AFB70054 */ sw $s7, 0x54($sp) -/* 0CA4EC 800C98EC AFB40048 */ sw $s4, 0x48($sp) -/* 0CA4F0 800C98F0 AFB30044 */ sw $s3, 0x44($sp) -/* 0CA4F4 800C98F4 AFB20040 */ sw $s2, 0x40($sp) -/* 0CA4F8 800C98F8 AFB00038 */ sw $s0, 0x38($sp) -/* 0CA4FC 800C98FC 15C0002A */ bnez $t6, .L800C99A8 -/* 0CA500 800C9900 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0CA504 800C9904 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f -/* 0CA508 800C9908 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7) -/* 0CA50C 800C990C 3C17800F */ lui $s7, %hi(D_800EA1C0) # $s7, 0x800f -/* 0CA510 800C9910 26F7A1C0 */ addiu $s7, %lo(D_800EA1C0) # addiu $s7, $s7, -0x5e40 -/* 0CA514 800C9914 55E00025 */ bnel $t7, $zero, .L800C99AC -/* 0CA518 800C9918 8FDF005C */ lw $ra, 0x5c($fp) -/* 0CA51C 800C991C 92F80000 */ lbu $t8, ($s7) -/* 0CA520 800C9920 00008025 */ move $s0, $zero -/* 0CA524 800C9924 3C01432A */ li $at, 0x432A0000 # 170.000000 -/* 0CA528 800C9928 27190001 */ addiu $t9, $t8, 1 -/* 0CA52C 800C992C 1B20001E */ blez $t9, .L800C99A8 -/* 0CA530 800C9930 3C14800F */ lui $s4, %hi(D_800EA1DC) # $s4, 0x800f -/* 0CA534 800C9934 3C13800F */ lui $s3, %hi(D_800EA1D4) # $s3, 0x800f -/* 0CA538 800C9938 3C12800F */ lui $s2, %hi(D_800EA1C8) # $s2, 0x800f -/* 0CA53C 800C993C 4481A000 */ mtc1 $at, $f20 -/* 0CA540 800C9940 2652A1C8 */ addiu $s2, %lo(D_800EA1C8) # addiu $s2, $s2, -0x5e38 -/* 0CA544 800C9944 2673A1D4 */ addiu $s3, %lo(D_800EA1D4) # addiu $s3, $s3, -0x5e2c -/* 0CA548 800C9948 2694A1DC */ addiu $s4, %lo(D_800EA1DC) # addiu $s4, $s4, -0x5e24 -.L800C994C: -/* 0CA54C 800C994C 00002025 */ move $a0, $zero -/* 0CA550 800C9950 02A02825 */ move $a1, $s5 -/* 0CA554 800C9954 02C03025 */ move $a2, $s6 -/* 0CA558 800C9958 02403825 */ move $a3, $s2 -/* 0CA55C 800C995C AFB00010 */ sw $s0, 0x10($sp) -/* 0CA560 800C9960 0C030722 */ jal func_800C1C88 -/* 0CA564 800C9964 AFB10014 */ sw $s1, 0x14($sp) -/* 0CA568 800C9968 10400008 */ beqz $v0, .L800C998C -/* 0CA56C 800C996C 02202025 */ move $a0, $s1 -/* 0CA570 800C9970 E4540034 */ swc1 $f20, 0x34($v0) -/* 0CA574 800C9974 AFB40014 */ sw $s4, 0x14($sp) -/* 0CA578 800C9978 AFB30010 */ sw $s3, 0x10($sp) -/* 0CA57C 800C997C 24450018 */ addiu $a1, $v0, 0x18 -/* 0CA580 800C9980 320600FF */ andi $a2, $s0, 0xff -/* 0CA584 800C9984 0C031052 */ jal play_sound -/* 0CA588 800C9988 2447002C */ addiu $a3, $v0, 0x2c -.L800C998C: -/* 0CA58C 800C998C 92E90000 */ lbu $t1, ($s7) -/* 0CA590 800C9990 26100001 */ addiu $s0, $s0, 1 -/* 0CA594 800C9994 320800FF */ andi $t0, $s0, 0xff -/* 0CA598 800C9998 252A0001 */ addiu $t2, $t1, 1 -/* 0CA59C 800C999C 010A082A */ slt $at, $t0, $t2 -/* 0CA5A0 800C99A0 1420FFEA */ bnez $at, .L800C994C -/* 0CA5A4 800C99A4 01008025 */ move $s0, $t0 -.L800C99A8: -/* 0CA5A8 800C99A8 8FDF005C */ lw $ra, 0x5c($fp) -.L800C99AC: -/* 0CA5AC 800C99AC 03C0E825 */ move $sp, $fp -/* 0CA5B0 800C99B0 D7D40030 */ ldc1 $f20, 0x30($fp) -/* 0CA5B4 800C99B4 8FD00038 */ lw $s0, 0x38($fp) -/* 0CA5B8 800C99B8 8FD1003C */ lw $s1, 0x3c($fp) -/* 0CA5BC 800C99BC 8FD20040 */ lw $s2, 0x40($fp) -/* 0CA5C0 800C99C0 8FD30044 */ lw $s3, 0x44($fp) -/* 0CA5C4 800C99C4 8FD40048 */ lw $s4, 0x48($fp) -/* 0CA5C8 800C99C8 8FD5004C */ lw $s5, 0x4c($fp) -/* 0CA5CC 800C99CC 8FD60050 */ lw $s6, 0x50($fp) -/* 0CA5D0 800C99D0 8FD70054 */ lw $s7, 0x54($fp) -/* 0CA5D4 800C99D4 8FDE0058 */ lw $fp, 0x58($fp) -/* 0CA5D8 800C99D8 03E00008 */ jr $ra -/* 0CA5DC 800C99DC 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel func_800C99E0 -/* 0CA5E0 800C99E0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0CA5E4 800C99E4 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CA5E8 800C99E8 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CA5EC 800C99EC AFBE0038 */ sw $fp, 0x38($sp) -/* 0CA5F0 800C99F0 AFB20030 */ sw $s2, 0x30($sp) -/* 0CA5F4 800C99F4 AFB1002C */ sw $s1, 0x2c($sp) -/* 0CA5F8 800C99F8 00A08825 */ move $s1, $a1 -/* 0CA5FC 800C99FC 00809025 */ move $s2, $a0 -/* 0CA600 800C9A00 03A0F025 */ move $fp, $sp -/* 0CA604 800C9A04 AFBF003C */ sw $ra, 0x3c($sp) -/* 0CA608 800C9A08 AFB30034 */ sw $s3, 0x34($sp) -/* 0CA60C 800C9A0C 15C00015 */ bnez $t6, .L800C9A64 -/* 0CA610 800C9A10 AFB00028 */ sw $s0, 0x28($sp) -/* 0CA614 800C9A14 3C13800F */ lui $s3, %hi(D_800EA1C0) # $s3, 0x800f -/* 0CA618 800C9A18 2673A1C0 */ addiu $s3, %lo(D_800EA1C0) # addiu $s3, $s3, -0x5e40 -/* 0CA61C 800C9A1C 926F0000 */ lbu $t7, ($s3) -/* 0CA620 800C9A20 00008025 */ move $s0, $zero -/* 0CA624 800C9A24 25F80001 */ addiu $t8, $t7, 1 -/* 0CA628 800C9A28 1B00000E */ blez $t8, .L800C9A64 -.L800C9A2C: -/* 0CA62C 800C9A2C 02402025 */ move $a0, $s2 -/* 0CA630 800C9A30 0C03087A */ jal func_800C21E8 -/* 0CA634 800C9A34 02202825 */ move $a1, $s1 -/* 0CA638 800C9A38 10400003 */ beqz $v0, .L800C9A48 -/* 0CA63C 800C9A3C 00402025 */ move $a0, $v0 -/* 0CA640 800C9A40 0C03155E */ jal func_800C5578 -/* 0CA644 800C9A44 02202825 */ move $a1, $s1 -.L800C9A48: -/* 0CA648 800C9A48 92680000 */ lbu $t0, ($s3) -/* 0CA64C 800C9A4C 26100001 */ addiu $s0, $s0, 1 -/* 0CA650 800C9A50 321900FF */ andi $t9, $s0, 0xff -/* 0CA654 800C9A54 25090001 */ addiu $t1, $t0, 1 -/* 0CA658 800C9A58 0329082A */ slt $at, $t9, $t1 -/* 0CA65C 800C9A5C 1420FFF3 */ bnez $at, .L800C9A2C -/* 0CA660 800C9A60 03208025 */ move $s0, $t9 -.L800C9A64: -/* 0CA664 800C9A64 8FDF003C */ lw $ra, 0x3c($fp) -/* 0CA668 800C9A68 03C0E825 */ move $sp, $fp -/* 0CA66C 800C9A6C 8FD00028 */ lw $s0, 0x28($fp) -/* 0CA670 800C9A70 8FD1002C */ lw $s1, 0x2c($fp) -/* 0CA674 800C9A74 8FD20030 */ lw $s2, 0x30($fp) -/* 0CA678 800C9A78 8FD30034 */ lw $s3, 0x34($fp) -/* 0CA67C 800C9A7C 8FDE0038 */ lw $fp, 0x38($fp) -/* 0CA680 800C9A80 03E00008 */ jr $ra -/* 0CA684 800C9A84 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800C9A88 -/* 0CA688 800C9A88 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0CA68C 800C9A8C 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CA690 800C9A90 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CA694 800C9A94 AFBE0058 */ sw $fp, 0x58($sp) -/* 0CA698 800C9A98 AFB30044 */ sw $s3, 0x44($sp) -/* 0CA69C 800C9A9C 309300FF */ andi $s3, $a0, 0xff -/* 0CA6A0 800C9AA0 03A0F025 */ move $fp, $sp -/* 0CA6A4 800C9AA4 AFBF005C */ sw $ra, 0x5c($sp) -/* 0CA6A8 800C9AA8 AFB70054 */ sw $s7, 0x54($sp) -/* 0CA6AC 800C9AAC AFB60050 */ sw $s6, 0x50($sp) -/* 0CA6B0 800C9AB0 AFB5004C */ sw $s5, 0x4c($sp) -/* 0CA6B4 800C9AB4 AFB40048 */ sw $s4, 0x48($sp) -/* 0CA6B8 800C9AB8 AFB20040 */ sw $s2, 0x40($sp) -/* 0CA6BC 800C9ABC AFB1003C */ sw $s1, 0x3c($sp) -/* 0CA6C0 800C9AC0 AFB00038 */ sw $s0, 0x38($sp) -/* 0CA6C4 800C9AC4 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0CA6C8 800C9AC8 15C00082 */ bnez $t6, .L800C9CD4 -/* 0CA6CC 800C9ACC AFA40078 */ sw $a0, 0x78($sp) -/* 0CA6D0 800C9AD0 3C03800F */ lui $v1, %hi(D_800EA0F0) # $v1, 0x800f -/* 0CA6D4 800C9AD4 2463A0F0 */ addiu $v1, %lo(D_800EA0F0) # addiu $v1, $v1, -0x5f10 -/* 0CA6D8 800C9AD8 90620000 */ lbu $v0, ($v1) -/* 0CA6DC 800C9ADC 0013C0C0 */ sll $t8, $s3, 3 -/* 0CA6E0 800C9AE0 24010002 */ li $at, 2 -/* 0CA6E4 800C9AE4 10400004 */ beqz $v0, .L800C9AF8 -/* 0CA6E8 800C9AE8 0313C023 */ subu $t8, $t8, $s3 -/* 0CA6EC 800C9AEC 14410079 */ bne $v0, $at, .L800C9CD4 -/* 0CA6F0 800C9AF0 240F0001 */ li $t7, 1 -/* 0CA6F4 800C9AF4 A06F0000 */ sb $t7, ($v1) -.L800C9AF8: -/* 0CA6F8 800C9AF8 0018C100 */ sll $t8, $t8, 4 -/* 0CA6FC 800C9AFC 0313C023 */ subu $t8, $t8, $s3 -/* 0CA700 800C9B00 0018C080 */ sll $t8, $t8, 2 -/* 0CA704 800C9B04 0313C023 */ subu $t8, $t8, $s3 -/* 0CA708 800C9B08 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 0CA70C 800C9B0C 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 0CA710 800C9B10 0018C0C0 */ sll $t8, $t8, 3 -/* 0CA714 800C9B14 03191821 */ addu $v1, $t8, $t9 -/* 0CA718 800C9B18 94680254 */ lhu $t0, 0x254($v1) -/* 0CA71C 800C9B1C 2D010008 */ sltiu $at, $t0, 8 -/* 0CA720 800C9B20 1020003C */ beqz $at, .L800C9C14 -/* 0CA724 800C9B24 00084080 */ sll $t0, $t0, 2 -/* 0CA728 800C9B28 3C01800F */ lui $at, %hi(D_800F3960) -/* 0CA72C 800C9B2C 00280821 */ addu $at, $at, $t0 -/* 0CA730 800C9B30 8C283960 */ lw $t0, %lo(D_800F3960)($at) -/* 0CA734 800C9B34 01000008 */ jr $t0 -/* 0CA738 800C9B38 00000000 */ nop -glabel L800C9B3C -/* 0CA73C 800C9B3C 3C01800F */ lui $at, %hi(D_800F3980) # $at, 0x800f -/* 0CA740 800C9B40 C4243980 */ lwc1 $f4, %lo(D_800F3980)($at) -/* 0CA744 800C9B44 3C0A800F */ lui $t2, %hi(D_800EA06C) # $t2, 0x800f -/* 0CA748 800C9B48 254AA06C */ addiu $t2, %lo(D_800EA06C) # addiu $t2, $t2, -0x5f94 -/* 0CA74C 800C9B4C 00134900 */ sll $t1, $s3, 4 -/* 0CA750 800C9B50 012A1021 */ addu $v0, $t1, $t2 -/* 0CA754 800C9B54 3C01800F */ lui $at, %hi(D_800F3984) # $at, 0x800f -/* 0CA758 800C9B58 E4440000 */ swc1 $f4, ($v0) -/* 0CA75C 800C9B5C C4263984 */ lwc1 $f6, %lo(D_800F3984)($at) -/* 0CA760 800C9B60 1000002C */ b .L800C9C14 -/* 0CA764 800C9B64 E4460004 */ swc1 $f6, 4($v0) -glabel L800C9B68 -/* 0CA768 800C9B68 3C01800F */ lui $at, %hi(D_800F3988) # $at, 0x800f -/* 0CA76C 800C9B6C C4283988 */ lwc1 $f8, %lo(D_800F3988)($at) -/* 0CA770 800C9B70 3C0C800F */ lui $t4, %hi(D_800EA06C) # $t4, 0x800f -/* 0CA774 800C9B74 258CA06C */ addiu $t4, %lo(D_800EA06C) # addiu $t4, $t4, -0x5f94 -/* 0CA778 800C9B78 00135900 */ sll $t3, $s3, 4 -/* 0CA77C 800C9B7C 016C1021 */ addu $v0, $t3, $t4 -/* 0CA780 800C9B80 3C01800F */ lui $at, %hi(D_800F398C) # $at, 0x800f -/* 0CA784 800C9B84 E4480000 */ swc1 $f8, ($v0) -/* 0CA788 800C9B88 C42A398C */ lwc1 $f10, %lo(D_800F398C)($at) -/* 0CA78C 800C9B8C 10000021 */ b .L800C9C14 -/* 0CA790 800C9B90 E44A0004 */ swc1 $f10, 4($v0) -glabel L800C9B94 -/* 0CA794 800C9B94 3C01800F */ lui $at, %hi(D_800F3990) # $at, 0x800f -/* 0CA798 800C9B98 C4303990 */ lwc1 $f16, %lo(D_800F3990)($at) -/* 0CA79C 800C9B9C 3C0E800F */ lui $t6, %hi(D_800EA06C) # $t6, 0x800f -/* 0CA7A0 800C9BA0 25CEA06C */ addiu $t6, %lo(D_800EA06C) # addiu $t6, $t6, -0x5f94 -/* 0CA7A4 800C9BA4 00136900 */ sll $t5, $s3, 4 -/* 0CA7A8 800C9BA8 01AE1021 */ addu $v0, $t5, $t6 -/* 0CA7AC 800C9BAC 3C01800F */ lui $at, %hi(D_800F3994) # $at, 0x800f -/* 0CA7B0 800C9BB0 E4500000 */ swc1 $f16, ($v0) -/* 0CA7B4 800C9BB4 C4323994 */ lwc1 $f18, %lo(D_800F3994)($at) -/* 0CA7B8 800C9BB8 10000016 */ b .L800C9C14 -/* 0CA7BC 800C9BBC E4520004 */ swc1 $f18, 4($v0) -glabel L800C9BC0 -/* 0CA7C0 800C9BC0 3C01800F */ lui $at, %hi(D_800F3998) # $at, 0x800f -/* 0CA7C4 800C9BC4 C4243998 */ lwc1 $f4, %lo(D_800F3998)($at) -/* 0CA7C8 800C9BC8 3C18800F */ lui $t8, %hi(D_800EA06C) # $t8, 0x800f -/* 0CA7CC 800C9BCC 2718A06C */ addiu $t8, %lo(D_800EA06C) # addiu $t8, $t8, -0x5f94 -/* 0CA7D0 800C9BD0 00137900 */ sll $t7, $s3, 4 -/* 0CA7D4 800C9BD4 01F81021 */ addu $v0, $t7, $t8 -/* 0CA7D8 800C9BD8 3C01800F */ lui $at, %hi(D_800F399C) # $at, 0x800f -/* 0CA7DC 800C9BDC E4440000 */ swc1 $f4, ($v0) -/* 0CA7E0 800C9BE0 C426399C */ lwc1 $f6, %lo(D_800F399C)($at) -/* 0CA7E4 800C9BE4 1000000B */ b .L800C9C14 -/* 0CA7E8 800C9BE8 E4460004 */ swc1 $f6, 4($v0) -glabel L800C9BEC -/* 0CA7EC 800C9BEC 3C01800F */ lui $at, %hi(D_800F39A0) # $at, 0x800f -/* 0CA7F0 800C9BF0 C42839A0 */ lwc1 $f8, %lo(D_800F39A0)($at) -/* 0CA7F4 800C9BF4 3C08800F */ lui $t0, %hi(D_800EA06C) # $t0, 0x800f -/* 0CA7F8 800C9BF8 2508A06C */ addiu $t0, %lo(D_800EA06C) # addiu $t0, $t0, -0x5f94 -/* 0CA7FC 800C9BFC 0013C900 */ sll $t9, $s3, 4 -/* 0CA800 800C9C00 03281021 */ addu $v0, $t9, $t0 -/* 0CA804 800C9C04 3C01800F */ lui $at, %hi(D_800F39A4) # $at, 0x800f -/* 0CA808 800C9C08 E4480000 */ swc1 $f8, ($v0) -/* 0CA80C 800C9C0C C42A39A4 */ lwc1 $f10, %lo(D_800F39A4)($at) -/* 0CA810 800C9C10 E44A0004 */ swc1 $f10, 4($v0) -.L800C9C14: -/* 0CA814 800C9C14 3C17800F */ lui $s7, %hi(D_800EA1C0) # $s7, 0x800f -/* 0CA818 800C9C18 26F7A1C0 */ addiu $s7, %lo(D_800EA1C0) # addiu $s7, $s7, -0x5e40 -/* 0CA81C 800C9C1C 92E20000 */ lbu $v0, ($s7) -/* 0CA820 800C9C20 28410002 */ slti $at, $v0, 2 -/* 0CA824 800C9C24 5020002C */ beql $at, $zero, .L800C9CD8 -/* 0CA828 800C9C28 8FDF005C */ lw $ra, 0x5c($fp) -/* 0CA82C 800C9C2C 04400029 */ bltz $v0, .L800C9CD4 -/* 0CA830 800C9C30 00008025 */ move $s0, $zero -/* 0CA834 800C9C34 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0CA838 800C9C38 3C123102 */ lui $s2, (0x31028000 >> 16) # lui $s2, 0x3102 -/* 0CA83C 800C9C3C 4481A000 */ mtc1 $at, $f20 -/* 0CA840 800C9C40 36528000 */ ori $s2, (0x31028000 & 0xFFFF) # ori $s2, $s2, 0x8000 -/* 0CA844 800C9C44 24740014 */ addiu $s4, $v1, 0x14 -/* 0CA848 800C9C48 24750034 */ addiu $s5, $v1, 0x34 -/* 0CA84C 800C9C4C 24760098 */ addiu $s6, $v1, 0x98 -/* 0CA850 800C9C50 AFC30064 */ sw $v1, 0x64($fp) -.L800C9C54: -/* 0CA854 800C9C54 8FC30064 */ lw $v1, 0x64($fp) -/* 0CA858 800C9C58 AFB00010 */ sw $s0, 0x10($sp) -/* 0CA85C 800C9C5C 326400FF */ andi $a0, $s3, 0xff -/* 0CA860 800C9C60 94690254 */ lhu $t1, 0x254($v1) -/* 0CA864 800C9C64 02802825 */ move $a1, $s4 -/* 0CA868 800C9C68 02A03025 */ move $a2, $s5 -/* 0CA86C 800C9C6C 01328821 */ addu $s1, $t1, $s2 -/* 0CA870 800C9C70 AFB10014 */ sw $s1, 0x14($sp) -/* 0CA874 800C9C74 0C030722 */ jal func_800C1C88 -/* 0CA878 800C9C78 02C03825 */ move $a3, $s6 -/* 0CA87C 800C9C7C 1040000E */ beqz $v0, .L800C9CB8 -/* 0CA880 800C9C80 02202025 */ move $a0, $s1 -/* 0CA884 800C9C84 3C0B800F */ lui $t3, %hi(D_800EA06C) # $t3, 0x800f -/* 0CA888 800C9C88 E4540034 */ swc1 $f20, 0x34($v0) -/* 0CA88C 800C9C8C 256BA06C */ addiu $t3, %lo(D_800EA06C) # addiu $t3, $t3, -0x5f94 -/* 0CA890 800C9C90 24450018 */ addiu $a1, $v0, 0x18 -/* 0CA894 800C9C94 2447002C */ addiu $a3, $v0, 0x2c -/* 0CA898 800C9C98 00135100 */ sll $t2, $s3, 4 -/* 0CA89C 800C9C9C 014B1021 */ addu $v0, $t2, $t3 -/* 0CA8A0 800C9CA0 244C0008 */ addiu $t4, $v0, 8 -/* 0CA8A4 800C9CA4 244D000C */ addiu $t5, $v0, 0xc -/* 0CA8A8 800C9CA8 AFAD0014 */ sw $t5, 0x14($sp) -/* 0CA8AC 800C9CAC AFAC0010 */ sw $t4, 0x10($sp) -/* 0CA8B0 800C9CB0 0C031052 */ jal play_sound -/* 0CA8B4 800C9CB4 320600FF */ andi $a2, $s0, 0xff -.L800C9CB8: -/* 0CA8B8 800C9CB8 92EF0000 */ lbu $t7, ($s7) -/* 0CA8BC 800C9CBC 26100001 */ addiu $s0, $s0, 1 -/* 0CA8C0 800C9CC0 320E00FF */ andi $t6, $s0, 0xff -/* 0CA8C4 800C9CC4 25F80001 */ addiu $t8, $t7, 1 -/* 0CA8C8 800C9CC8 01D8082A */ slt $at, $t6, $t8 -/* 0CA8CC 800C9CCC 1420FFE1 */ bnez $at, .L800C9C54 -/* 0CA8D0 800C9CD0 01C08025 */ move $s0, $t6 -.L800C9CD4: -/* 0CA8D4 800C9CD4 8FDF005C */ lw $ra, 0x5c($fp) -.L800C9CD8: -/* 0CA8D8 800C9CD8 03C0E825 */ move $sp, $fp -/* 0CA8DC 800C9CDC D7D40030 */ ldc1 $f20, 0x30($fp) -/* 0CA8E0 800C9CE0 8FD00038 */ lw $s0, 0x38($fp) -/* 0CA8E4 800C9CE4 8FD1003C */ lw $s1, 0x3c($fp) -/* 0CA8E8 800C9CE8 8FD20040 */ lw $s2, 0x40($fp) -/* 0CA8EC 800C9CEC 8FD30044 */ lw $s3, 0x44($fp) -/* 0CA8F0 800C9CF0 8FD40048 */ lw $s4, 0x48($fp) -/* 0CA8F4 800C9CF4 8FD5004C */ lw $s5, 0x4c($fp) -/* 0CA8F8 800C9CF8 8FD60050 */ lw $s6, 0x50($fp) -/* 0CA8FC 800C9CFC 8FD70054 */ lw $s7, 0x54($fp) -/* 0CA900 800C9D00 8FDE0058 */ lw $fp, 0x58($fp) -/* 0CA904 800C9D04 03E00008 */ jr $ra -/* 0CA908 800C9D08 27BD0078 */ addiu $sp, $sp, 0x78 - -glabel func_800C9D0C -/* 0CA90C 800C9D0C 308600FF */ andi $a2, $a0, 0xff -/* 0CA910 800C9D10 000670C0 */ sll $t6, $a2, 3 -/* 0CA914 800C9D14 01C67023 */ subu $t6, $t6, $a2 -/* 0CA918 800C9D18 000E7100 */ sll $t6, $t6, 4 -/* 0CA91C 800C9D1C 01C67023 */ subu $t6, $t6, $a2 -/* 0CA920 800C9D20 000E7080 */ sll $t6, $t6, 2 -/* 0CA924 800C9D24 01C67023 */ subu $t6, $t6, $a2 -/* 0CA928 800C9D28 3C0F800F */ lui $t7, %hi(gPlayers) # $t7, 0x800f -/* 0CA92C 800C9D2C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CA930 800C9D30 25EF6990 */ addiu $t7, %lo(gPlayers) # addiu $t7, $t7, 0x6990 -/* 0CA934 800C9D34 000E70C0 */ sll $t6, $t6, 3 -/* 0CA938 800C9D38 01CF1021 */ addu $v0, $t6, $t7 -/* 0CA93C 800C9D3C 94450254 */ lhu $a1, 0x254($v0) -/* 0CA940 800C9D40 3C013102 */ lui $at, (0x31028000 >> 16) # lui $at, 0x3102 -/* 0CA944 800C9D44 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CA948 800C9D48 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CA94C 800C9D4C AFA40030 */ sw $a0, 0x30($sp) -/* 0CA950 800C9D50 34218000 */ ori $at, (0x31028000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 0CA954 800C9D54 03A0F025 */ move $fp, $sp -/* 0CA958 800C9D58 24440014 */ addiu $a0, $v0, 0x14 -/* 0CA95C 800C9D5C 0C03087A */ jal func_800C21E8 -/* 0CA960 800C9D60 00A12821 */ addu $a1, $a1, $at -/* 0CA964 800C9D64 0C031543 */ jal func_800C550C -/* 0CA968 800C9D68 00402025 */ move $a0, $v0 -/* 0CA96C 800C9D6C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CA970 800C9D70 03C0E825 */ move $sp, $fp -/* 0CA974 800C9D74 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CA978 800C9D78 03E00008 */ jr $ra -/* 0CA97C 800C9D7C 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800C9D80 -/* 0CA980 800C9D80 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0CA984 800C9D84 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CA988 800C9D88 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CA98C 800C9D8C AFBE0058 */ sw $fp, 0x58($sp) -/* 0CA990 800C9D90 AFB1003C */ sw $s1, 0x3c($sp) -/* 0CA994 800C9D94 00C08825 */ move $s1, $a2 -/* 0CA998 800C9D98 03A0F025 */ move $fp, $sp -/* 0CA99C 800C9D9C AFBF005C */ sw $ra, 0x5c($sp) -/* 0CA9A0 800C9DA0 AFB70054 */ sw $s7, 0x54($sp) -/* 0CA9A4 800C9DA4 AFB60050 */ sw $s6, 0x50($sp) -/* 0CA9A8 800C9DA8 AFB5004C */ sw $s5, 0x4c($sp) -/* 0CA9AC 800C9DAC AFB40048 */ sw $s4, 0x48($sp) -/* 0CA9B0 800C9DB0 AFB30044 */ sw $s3, 0x44($sp) -/* 0CA9B4 800C9DB4 AFB20040 */ sw $s2, 0x40($sp) -/* 0CA9B8 800C9DB8 AFB00038 */ sw $s0, 0x38($sp) -/* 0CA9BC 800C9DBC F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0CA9C0 800C9DC0 AFA40060 */ sw $a0, 0x60($sp) -/* 0CA9C4 800C9DC4 15C0003D */ bnez $t6, .L800C9EBC -/* 0CA9C8 800C9DC8 AFA50064 */ sw $a1, 0x64($sp) -/* 0CA9CC 800C9DCC 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f -/* 0CA9D0 800C9DD0 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7) -/* 0CA9D4 800C9DD4 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f -/* 0CA9D8 800C9DD8 55E00039 */ bnel $t7, $zero, .L800C9EC0 -/* 0CA9DC 800C9DDC 8FDF005C */ lw $ra, 0x5c($fp) -/* 0CA9E0 800C9DE0 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0) -/* 0CA9E4 800C9DE4 28410004 */ slti $at, $v0, 4 -/* 0CA9E8 800C9DE8 50200035 */ beql $at, $zero, .L800C9EC0 -/* 0CA9EC 800C9DEC 8FDF005C */ lw $ra, 0x5c($fp) -/* 0CA9F0 800C9DF0 04400032 */ bltz $v0, .L800C9EBC -/* 0CA9F4 800C9DF4 00008025 */ move $s0, $zero -/* 0CA9F8 800C9DF8 3C01432A */ li $at, 0x432A0000 # 170.000000 -/* 0CA9FC 800C9DFC 3C17800F */ lui $s7, %hi(D_800EA1D4) # $s7, 0x800f -/* 0CAA00 800C9E00 3C16800F */ lui $s6, %hi(D_800EA17C) # $s6, 0x800f -/* 0CAA04 800C9E04 3C15800F */ lui $s5, %hi(D_800EA178) # $s5, 0x800f -/* 0CAA08 800C9E08 3C145103 */ lui $s4, (0x5103700B >> 16) # lui $s4, 0x5103 -/* 0CAA0C 800C9E0C 3C13800F */ lui $s3, %hi(D_800EA1C8) # $s3, 0x800f -/* 0CAA10 800C9E10 3C12800F */ lui $s2, %hi(D_800EA1DC) # $s2, 0x800f -/* 0CAA14 800C9E14 4481A000 */ mtc1 $at, $f20 -/* 0CAA18 800C9E18 2652A1DC */ addiu $s2, %lo(D_800EA1DC) # addiu $s2, $s2, -0x5e24 -/* 0CAA1C 800C9E1C 2673A1C8 */ addiu $s3, %lo(D_800EA1C8) # addiu $s3, $s3, -0x5e38 -/* 0CAA20 800C9E20 3694700B */ ori $s4, (0x5103700B & 0xFFFF) # ori $s4, $s4, 0x700b -/* 0CAA24 800C9E24 26B5A178 */ addiu $s5, %lo(D_800EA178) # addiu $s5, $s5, -0x5e88 -/* 0CAA28 800C9E28 26D6A17C */ addiu $s6, %lo(D_800EA17C) # addiu $s6, $s6, -0x5e84 -/* 0CAA2C 800C9E2C 26F7A1D4 */ addiu $s7, %lo(D_800EA1D4) # addiu $s7, $s7, -0x5e2c -.L800C9E30: -/* 0CAA30 800C9E30 8FC50060 */ lw $a1, 0x60($fp) -/* 0CAA34 800C9E34 8FC60064 */ lw $a2, 0x64($fp) -/* 0CAA38 800C9E38 AFB10014 */ sw $s1, 0x14($sp) -/* 0CAA3C 800C9E3C AFB00010 */ sw $s0, 0x10($sp) -/* 0CAA40 800C9E40 00002025 */ move $a0, $zero -/* 0CAA44 800C9E44 0C030722 */ jal func_800C1C88 -/* 0CAA48 800C9E48 02603825 */ move $a3, $s3 -/* 0CAA4C 800C9E4C 10400013 */ beqz $v0, .L800C9E9C -/* 0CAA50 800C9E50 00401825 */ move $v1, $v0 -/* 0CAA54 800C9E54 1634000A */ bne $s1, $s4, .L800C9E80 -/* 0CAA58 800C9E58 E4540034 */ swc1 $f20, 0x34($v0) -/* 0CAA5C 800C9E5C 02202025 */ move $a0, $s1 -/* 0CAA60 800C9E60 24450018 */ addiu $a1, $v0, 0x18 -/* 0CAA64 800C9E64 320600FF */ andi $a2, $s0, 0xff -/* 0CAA68 800C9E68 02A03825 */ move $a3, $s5 -/* 0CAA6C 800C9E6C AFB60010 */ sw $s6, 0x10($sp) -/* 0CAA70 800C9E70 0C031052 */ jal play_sound -/* 0CAA74 800C9E74 AFB20014 */ sw $s2, 0x14($sp) -/* 0CAA78 800C9E78 10000008 */ b .L800C9E9C -/* 0CAA7C 800C9E7C 00000000 */ nop -.L800C9E80: -/* 0CAA80 800C9E80 02202025 */ move $a0, $s1 -/* 0CAA84 800C9E84 24650018 */ addiu $a1, $v1, 0x18 -/* 0CAA88 800C9E88 320600FF */ andi $a2, $s0, 0xff -/* 0CAA8C 800C9E8C 2467002C */ addiu $a3, $v1, 0x2c -/* 0CAA90 800C9E90 AFB70010 */ sw $s7, 0x10($sp) -/* 0CAA94 800C9E94 0C031052 */ jal play_sound -/* 0CAA98 800C9E98 AFB20014 */ sw $s2, 0x14($sp) -.L800C9E9C: -/* 0CAA9C 800C9E9C 3C19800F */ lui $t9, %hi(D_800EA1C0) # $t9, 0x800f -/* 0CAAA0 800C9EA0 9339A1C0 */ lbu $t9, %lo(D_800EA1C0)($t9) -/* 0CAAA4 800C9EA4 26100001 */ addiu $s0, $s0, 1 -/* 0CAAA8 800C9EA8 321800FF */ andi $t8, $s0, 0xff -/* 0CAAAC 800C9EAC 27280001 */ addiu $t0, $t9, 1 -/* 0CAAB0 800C9EB0 0308082A */ slt $at, $t8, $t0 -/* 0CAAB4 800C9EB4 1420FFDE */ bnez $at, .L800C9E30 -/* 0CAAB8 800C9EB8 03008025 */ move $s0, $t8 -.L800C9EBC: -/* 0CAABC 800C9EBC 8FDF005C */ lw $ra, 0x5c($fp) -.L800C9EC0: -/* 0CAAC0 800C9EC0 03C0E825 */ move $sp, $fp -/* 0CAAC4 800C9EC4 D7D40030 */ ldc1 $f20, 0x30($fp) -/* 0CAAC8 800C9EC8 8FD00038 */ lw $s0, 0x38($fp) -/* 0CAACC 800C9ECC 8FD1003C */ lw $s1, 0x3c($fp) -/* 0CAAD0 800C9ED0 8FD20040 */ lw $s2, 0x40($fp) -/* 0CAAD4 800C9ED4 8FD30044 */ lw $s3, 0x44($fp) -/* 0CAAD8 800C9ED8 8FD40048 */ lw $s4, 0x48($fp) -/* 0CAADC 800C9EDC 8FD5004C */ lw $s5, 0x4c($fp) -/* 0CAAE0 800C9EE0 8FD60050 */ lw $s6, 0x50($fp) -/* 0CAAE4 800C9EE4 8FD70054 */ lw $s7, 0x54($fp) -/* 0CAAE8 800C9EE8 8FDE0058 */ lw $fp, 0x58($fp) -/* 0CAAEC 800C9EEC 03E00008 */ jr $ra -/* 0CAAF0 800C9EF0 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel func_800C9EF4 -/* 0CAAF4 800C9EF4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0CAAF8 800C9EF8 AFB30034 */ sw $s3, 0x34($sp) -/* 0CAAFC 800C9EFC 3C13800F */ lui $s3, %hi(D_800EA1C0) # $s3, 0x800f -/* 0CAB00 800C9F00 2673A1C0 */ addiu $s3, %lo(D_800EA1C0) # addiu $s3, $s3, -0x5e40 -/* 0CAB04 800C9F04 926E0000 */ lbu $t6, ($s3) -/* 0CAB08 800C9F08 AFBE0038 */ sw $fp, 0x38($sp) -/* 0CAB0C 800C9F0C AFB20030 */ sw $s2, 0x30($sp) -/* 0CAB10 800C9F10 AFB1002C */ sw $s1, 0x2c($sp) -/* 0CAB14 800C9F14 AFB00028 */ sw $s0, 0x28($sp) -/* 0CAB18 800C9F18 25CF0001 */ addiu $t7, $t6, 1 -/* 0CAB1C 800C9F1C 00A08825 */ move $s1, $a1 -/* 0CAB20 800C9F20 00809025 */ move $s2, $a0 -/* 0CAB24 800C9F24 03A0F025 */ move $fp, $sp -/* 0CAB28 800C9F28 AFBF003C */ sw $ra, 0x3c($sp) -/* 0CAB2C 800C9F2C 19E0000F */ blez $t7, .L800C9F6C -/* 0CAB30 800C9F30 00008025 */ move $s0, $zero -.L800C9F34: -/* 0CAB34 800C9F34 02402025 */ move $a0, $s2 -/* 0CAB38 800C9F38 0C03087A */ jal func_800C21E8 -/* 0CAB3C 800C9F3C 02202825 */ move $a1, $s1 -/* 0CAB40 800C9F40 10400003 */ beqz $v0, .L800C9F50 -/* 0CAB44 800C9F44 00402025 */ move $a0, $v0 -/* 0CAB48 800C9F48 0C03155E */ jal func_800C5578 -/* 0CAB4C 800C9F4C 02202825 */ move $a1, $s1 -.L800C9F50: -/* 0CAB50 800C9F50 92790000 */ lbu $t9, ($s3) -/* 0CAB54 800C9F54 26100001 */ addiu $s0, $s0, 1 -/* 0CAB58 800C9F58 321800FF */ andi $t8, $s0, 0xff -/* 0CAB5C 800C9F5C 27280001 */ addiu $t0, $t9, 1 -/* 0CAB60 800C9F60 0308082A */ slt $at, $t8, $t0 -/* 0CAB64 800C9F64 1420FFF3 */ bnez $at, .L800C9F34 -/* 0CAB68 800C9F68 03008025 */ move $s0, $t8 -.L800C9F6C: -/* 0CAB6C 800C9F6C 8FDF003C */ lw $ra, 0x3c($fp) -/* 0CAB70 800C9F70 03C0E825 */ move $sp, $fp -/* 0CAB74 800C9F74 8FD00028 */ lw $s0, 0x28($fp) -/* 0CAB78 800C9F78 8FD1002C */ lw $s1, 0x2c($fp) -/* 0CAB7C 800C9F7C 8FD20030 */ lw $s2, 0x30($fp) -/* 0CAB80 800C9F80 8FD30034 */ lw $s3, 0x34($fp) -/* 0CAB84 800C9F84 8FDE0038 */ lw $fp, 0x38($fp) -/* 0CAB88 800C9F88 03E00008 */ jr $ra -/* 0CAB8C 800C9F8C 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800C9F90 -/* 0CAB90 800C9F90 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CAB94 800C9F94 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CAB98 800C9F98 308E00FF */ andi $t6, $a0, 0xff -/* 0CAB9C 800C9F9C 03A0F025 */ move $fp, $sp -/* 0CABA0 800C9FA0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CABA4 800C9FA4 11C0000B */ beqz $t6, .L800C9FD4 -/* 0CABA8 800C9FA8 AFA40030 */ sw $a0, 0x30($sp) -/* 0CABAC 800C9FAC 3C044900 */ lui $a0, (0x49008005 >> 16) # lui $a0, 0x4900 -/* 0CABB0 800C9FB0 0C032384 */ jal play_sound2 -/* 0CABB4 800C9FB4 34848005 */ ori $a0, (0x49008005 & 0xFFFF) # ori $a0, $a0, 0x8005 -/* 0CABB8 800C9FB8 3C04F100 */ lui $a0, 0xf100 -/* 0CABBC 800C9FBC 0C032EEE */ jal func_800CBBB8 -/* 0CABC0 800C9FC0 00002825 */ move $a1, $zero -/* 0CABC4 800C9FC4 240F0001 */ li $t7, 1 -/* 0CABC8 800C9FC8 3C01800F */ lui $at, %hi(D_800EA16C) # $at, 0x800f -/* 0CABCC 800C9FCC 10000009 */ b .L800C9FF4 -/* 0CABD0 800C9FD0 A02FA16C */ sb $t7, %lo(D_800EA16C)($at) -.L800C9FD4: -/* 0CABD4 800C9FD4 3C044900 */ lui $a0, (0x49008006 >> 16) # lui $a0, 0x4900 -/* 0CABD8 800C9FD8 0C032384 */ jal play_sound2 -/* 0CABDC 800C9FDC 34848006 */ ori $a0, (0x49008006 & 0xFFFF) # ori $a0, $a0, 0x8006 -/* 0CABE0 800C9FE0 3C04F200 */ lui $a0, 0xf200 -/* 0CABE4 800C9FE4 0C032EEE */ jal func_800CBBB8 -/* 0CABE8 800C9FE8 00002825 */ move $a1, $zero -/* 0CABEC 800C9FEC 3C01800F */ lui $at, %hi(D_800EA16C) # $at, 0x800f -/* 0CABF0 800C9FF0 A020A16C */ sb $zero, %lo(D_800EA16C)($at) -.L800C9FF4: -/* 0CABF4 800C9FF4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CABF8 800C9FF8 03C0E825 */ move $sp, $fp -/* 0CABFC 800C9FFC 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CAC00 800CA000 03E00008 */ jr $ra -/* 0CAC04 800CA004 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CA008 -/* 0CAC08 800CA008 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CAC0C 800CA00C AFBF002C */ sw $ra, 0x2c($sp) -/* 0CAC10 800CA010 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CAC14 800CA014 AFA40030 */ sw $a0, 0x30($sp) -/* 0CAC18 800CA018 AFA50034 */ sw $a1, 0x34($sp) -/* 0CAC1C 800CA01C 03A0F025 */ move $fp, $sp -/* 0CAC20 800CA020 00002825 */ move $a1, $zero -/* 0CAC24 800CA024 00002025 */ move $a0, $zero -/* 0CAC28 800CA028 2406007F */ li $a2, 127 -/* 0CAC2C 800CA02C 0C030DB1 */ jal func_800C36C4 -/* 0CAC30 800CA030 24070001 */ li $a3, 1 -/* 0CAC34 800CA034 24040001 */ li $a0, 1 -/* 0CAC38 800CA038 00002825 */ move $a1, $zero -/* 0CAC3C 800CA03C 2406007F */ li $a2, 127 -/* 0CAC40 800CA040 0C030DB1 */ jal func_800C36C4 -/* 0CAC44 800CA044 24070001 */ li $a3, 1 -/* 0CAC48 800CA048 93C20037 */ lbu $v0, 0x37($fp) -/* 0CAC4C 800CA04C 28410004 */ slti $at, $v0, 4 -/* 0CAC50 800CA050 14200008 */ bnez $at, .L800CA074 -/* 0CAC54 800CA054 2401000C */ li $at, 12 -/* 0CAC58 800CA058 10410003 */ beq $v0, $at, .L800CA068 -/* 0CAC5C 800CA05C 24010004 */ li $at, 4 -/* 0CAC60 800CA060 54410004 */ bnel $v0, $at, .L800CA074 -/* 0CAC64 800CA064 24020004 */ li $v0, 4 -.L800CA068: -/* 0CAC68 800CA068 10000002 */ b .L800CA074 -/* 0CAC6C 800CA06C 24020005 */ li $v0, 5 -/* 0CAC70 800CA070 24020004 */ li $v0, 4 -.L800CA074: -/* 0CAC74 800CA074 93CE0033 */ lbu $t6, 0x33($fp) -/* 0CAC78 800CA078 3C01F000 */ lui $at, 0xf000 -/* 0CAC7C 800CA07C 000E7A00 */ sll $t7, $t6, 8 -/* 0CAC80 800CA080 01E1C025 */ or $t8, $t7, $at -/* 0CAC84 800CA084 0C030D12 */ jal func_800C3448 -/* 0CAC88 800CA088 03022025 */ or $a0, $t8, $v0 -/* 0CAC8C 800CA08C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CAC90 800CA090 03C0E825 */ move $sp, $fp -/* 0CAC94 800CA094 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CAC98 800CA098 03E00008 */ jr $ra -/* 0CAC9C 800CA09C 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CA0A0 -/* 0CACA0 800CA0A0 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0CACA4 800CA0A4 240E0001 */ li $t6, 1 -/* 0CACA8 800CA0A8 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f -/* 0CACAC 800CA0AC A02EA108 */ sb $t6, %lo(D_800EA108)($at) -/* 0CACB0 800CA0B0 03E00008 */ jr $ra -/* 0CACB4 800CA0B4 27BD0008 */ addiu $sp, $sp, 8 - -glabel func_800CA0B8 -/* 0CACB8 800CA0B8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0CACBC 800CA0BC 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f -/* 0CACC0 800CA0C0 A020A108 */ sb $zero, %lo(D_800EA108)($at) -/* 0CACC4 800CA0C4 03E00008 */ jr $ra -/* 0CACC8 800CA0C8 27BD0008 */ addiu $sp, $sp, 8 - -glabel func_800CA0CC -/* 0CACCC 800CA0CC 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0CACD0 800CA0D0 240E0001 */ li $t6, 1 -/* 0CACD4 800CA0D4 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f -/* 0CACD8 800CA0D8 A02EA108 */ sb $t6, %lo(D_800EA108)($at) -/* 0CACDC 800CA0DC 03E00008 */ jr $ra -/* 0CACE0 800CA0E0 27BD0008 */ addiu $sp, $sp, 8 - -glabel func_800CA0E4 -/* 0CACE4 800CA0E4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CACE8 800CA0E8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CACEC 800CA0EC AFBE0028 */ sw $fp, 0x28($sp) -/* 0CACF0 800CA0F0 03A0F025 */ move $fp, $sp -/* 0CACF4 800CA0F4 0C03149E */ jal func_800C5278 -/* 0CACF8 800CA0F8 24040003 */ li $a0, 3 -/* 0CACFC 800CA0FC 0C03149E */ jal func_800C5278 -/* 0CAD00 800CA100 24040005 */ li $a0, 5 -/* 0CAD04 800CA104 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CAD08 800CA108 03C0E825 */ move $sp, $fp -/* 0CAD0C 800CA10C 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CAD10 800CA110 03E00008 */ jr $ra -/* 0CAD14 800CA114 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CA118 -/* 0CAD18 800CA118 3C05800F */ lui $a1, %hi(D_800EA0EC) # $a1, 0x800f -/* 0CAD1C 800CA11C 24A5A0EC */ addiu $a1, %lo(D_800EA0EC) # addiu $a1, $a1, -0x5f14 -/* 0CAD20 800CA120 308E00FF */ andi $t6, $a0, 0xff -/* 0CAD24 800CA124 24060001 */ li $a2, 1 -/* 0CAD28 800CA128 00AE7821 */ addu $t7, $a1, $t6 -/* 0CAD2C 800CA12C A1E60000 */ sb $a2, ($t7) -/* 0CAD30 800CA130 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f -/* 0CAD34 800CA134 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0) -/* 0CAD38 800CA138 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CAD3C 800CA13C 000EC080 */ sll $t8, $t6, 2 -/* 0CAD40 800CA140 3C01800F */ lui $at, %hi(D_800E9EA4) -/* 0CAD44 800CA144 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CAD48 800CA148 24030001 */ li $v1, 1 -/* 0CAD4C 800CA14C 00380821 */ addu $at, $at, $t8 -/* 0CAD50 800CA150 03A0F025 */ move $fp, $sp -/* 0CAD54 800CA154 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CAD58 800CA158 AFA40030 */ sw $a0, 0x30($sp) -/* 0CAD5C 800CA15C 10400009 */ beqz $v0, .L800CA184 -/* 0CAD60 800CA160 AC239EA4 */ sw $v1, %lo(D_800E9EA4)($at) -/* 0CAD64 800CA164 1043000C */ beq $v0, $v1, .L800CA198 -/* 0CAD68 800CA168 24010002 */ li $at, 2 -/* 0CAD6C 800CA16C 10410015 */ beq $v0, $at, .L800CA1C4 -/* 0CAD70 800CA170 24010003 */ li $at, 3 -/* 0CAD74 800CA174 50410022 */ beql $v0, $at, .L800CA200 -/* 0CAD78 800CA178 90AC0000 */ lbu $t4, ($a1) -/* 0CAD7C 800CA17C 1000002F */ b .L800CA23C -/* 0CAD80 800CA180 8FDF002C */ lw $ra, 0x2c($fp) -.L800CA184: -/* 0CAD84 800CA184 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0CAD88 800CA188 0C032839 */ jal func_800CA0E4 -/* 0CAD8C 800CA18C A026A0F0 */ sb $a2, %lo(D_800EA0F0)($at) -/* 0CAD90 800CA190 1000002A */ b .L800CA23C -/* 0CAD94 800CA194 8FDF002C */ lw $ra, 0x2c($fp) -.L800CA198: -/* 0CAD98 800CA198 90B90000 */ lbu $t9, ($a1) -/* 0CAD9C 800CA19C 54790027 */ bnel $v1, $t9, .L800CA23C -/* 0CADA0 800CA1A0 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CADA4 800CA1A4 90A80001 */ lbu $t0, 1($a1) -/* 0CADA8 800CA1A8 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0CADAC 800CA1AC 54680023 */ bnel $v1, $t0, .L800CA23C -/* 0CADB0 800CA1B0 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CADB4 800CA1B4 0C032839 */ jal func_800CA0E4 -/* 0CADB8 800CA1B8 A026A0F0 */ sb $a2, %lo(D_800EA0F0)($at) -/* 0CADBC 800CA1BC 1000001F */ b .L800CA23C -/* 0CADC0 800CA1C0 8FDF002C */ lw $ra, 0x2c($fp) -.L800CA1C4: -/* 0CADC4 800CA1C4 90A90000 */ lbu $t1, ($a1) -/* 0CADC8 800CA1C8 5469001C */ bnel $v1, $t1, .L800CA23C -/* 0CADCC 800CA1CC 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CADD0 800CA1D0 90AA0001 */ lbu $t2, 1($a1) -/* 0CADD4 800CA1D4 546A0019 */ bnel $v1, $t2, .L800CA23C -/* 0CADD8 800CA1D8 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CADDC 800CA1DC 90AB0002 */ lbu $t3, 2($a1) -/* 0CADE0 800CA1E0 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0CADE4 800CA1E4 546B0015 */ bnel $v1, $t3, .L800CA23C -/* 0CADE8 800CA1E8 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CADEC 800CA1EC 0C032839 */ jal func_800CA0E4 -/* 0CADF0 800CA1F0 A026A0F0 */ sb $a2, %lo(D_800EA0F0)($at) -/* 0CADF4 800CA1F4 10000011 */ b .L800CA23C -/* 0CADF8 800CA1F8 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CADFC 800CA1FC 90AC0000 */ lbu $t4, ($a1) -.L800CA200: -/* 0CAE00 800CA200 546C000E */ bnel $v1, $t4, .L800CA23C -/* 0CAE04 800CA204 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CAE08 800CA208 90AD0001 */ lbu $t5, 1($a1) -/* 0CAE0C 800CA20C 546D000B */ bnel $v1, $t5, .L800CA23C -/* 0CAE10 800CA210 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CAE14 800CA214 90AE0002 */ lbu $t6, 2($a1) -/* 0CAE18 800CA218 546E0008 */ bnel $v1, $t6, .L800CA23C -/* 0CAE1C 800CA21C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CAE20 800CA220 90AF0003 */ lbu $t7, 3($a1) -/* 0CAE24 800CA224 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0CAE28 800CA228 546F0004 */ bnel $v1, $t7, .L800CA23C -/* 0CAE2C 800CA22C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CAE30 800CA230 0C032839 */ jal func_800CA0E4 -/* 0CAE34 800CA234 A026A0F0 */ sb $a2, %lo(D_800EA0F0)($at) -/* 0CAE38 800CA238 8FDF002C */ lw $ra, 0x2c($fp) -.L800CA23C: -/* 0CAE3C 800CA23C 03C0E825 */ move $sp, $fp -/* 0CAE40 800CA240 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CAE44 800CA244 03E00008 */ jr $ra -/* 0CAE48 800CA248 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CA24C -/* 0CAE4C 800CA24C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0CAE50 800CA250 308E00FF */ andi $t6, $a0, 0xff -/* 0CAE54 800CA254 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0CAE58 800CA258 AFA40010 */ sw $a0, 0x10($sp) -/* 0CAE5C 800CA25C 002E0821 */ addu $at, $at, $t6 -/* 0CAE60 800CA260 240F0002 */ li $t7, 2 -/* 0CAE64 800CA264 A02FA0EC */ sb $t7, %lo(D_800EA0EC)($at) -/* 0CAE68 800CA268 03E00008 */ jr $ra -/* 0CAE6C 800CA26C 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800CA270 -/* 0CAE70 800CA270 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0CAE74 800CA274 240E0001 */ li $t6, 1 -/* 0CAE78 800CA278 3C01800F */ lui $at, %hi(D_800EA0F4) # $at, 0x800f -/* 0CAE7C 800CA27C A02EA0F4 */ sb $t6, %lo(D_800EA0F4)($at) -/* 0CAE80 800CA280 03E00008 */ jr $ra -/* 0CAE84 800CA284 27BD0008 */ addiu $sp, $sp, 8 - -glabel func_800CA288 -/* 0CAE88 800CA288 308E00FF */ andi $t6, $a0, 0xff -/* 0CAE8C 800CA28C 000EC900 */ sll $t9, $t6, 4 -/* 0CAE90 800CA290 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0CAE94 800CA294 032EC823 */ subu $t9, $t9, $t6 -/* 0CAE98 800CA298 0019C880 */ sll $t9, $t9, 2 -/* 0CAE9C 800CA29C 3C01800F */ lui $at, %hi(D_800E9F90) -/* 0CAEA0 800CA2A0 AFA40010 */ sw $a0, 0x10($sp) -/* 0CAEA4 800CA2A4 AFA50014 */ sw $a1, 0x14($sp) -/* 0CAEA8 800CA2A8 00390821 */ addu $at, $at, $t9 -/* 0CAEAC 800CA2AC A0259F90 */ sb $a1, %lo(D_800E9F90)($at) -/* 0CAEB0 800CA2B0 03E00008 */ jr $ra -/* 0CAEB4 800CA2B4 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800CA2B8 -/* 0CAEB8 800CA2B8 308E00FF */ andi $t6, $a0, 0xff -/* 0CAEBC 800CA2BC 000E7900 */ sll $t7, $t6, 4 -/* 0CAEC0 800CA2C0 01EE7823 */ subu $t7, $t7, $t6 -/* 0CAEC4 800CA2C4 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0CAEC8 800CA2C8 000F7880 */ sll $t7, $t7, 2 -/* 0CAECC 800CA2CC 3C01800F */ lui $at, %hi(D_800E9F90) -/* 0CAED0 800CA2D0 AFA40010 */ sw $a0, 0x10($sp) -/* 0CAED4 800CA2D4 002F0821 */ addu $at, $at, $t7 -/* 0CAED8 800CA2D8 A0209F90 */ sb $zero, %lo(D_800E9F90)($at) -/* 0CAEDC 800CA2DC 03E00008 */ jr $ra -/* 0CAEE0 800CA2E0 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800CA2E4 -/* 0CAEE4 800CA2E4 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0CAEE8 800CA2E8 308E00FF */ andi $t6, $a0, 0xff -/* 0CAEEC 800CA2EC 000EC900 */ sll $t9, $t6, 4 -/* 0CAEF0 800CA2F0 3C01800F */ lui $at, %hi(D_800EA06C + 0xc) -/* 0CAEF4 800CA2F4 AFA40010 */ sw $a0, 0x10($sp) -/* 0CAEF8 800CA2F8 AFA50014 */ sw $a1, 0x14($sp) -/* 0CAEFC 800CA2FC 00390821 */ addu $at, $at, $t9 -/* 0CAF00 800CA300 A025A078 */ sb $a1, %lo(D_800EA06C + 0xc)($at) -/* 0CAF04 800CA304 03E00008 */ jr $ra -/* 0CAF08 800CA308 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800CA30C -/* 0CAF0C 800CA30C 308E00FF */ andi $t6, $a0, 0xff -/* 0CAF10 800CA310 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0CAF14 800CA314 000E7900 */ sll $t7, $t6, 4 -/* 0CAF18 800CA318 3C01800F */ lui $at, %hi(D_800EA06C + 0xc) -/* 0CAF1C 800CA31C AFA40010 */ sw $a0, 0x10($sp) -/* 0CAF20 800CA320 002F0821 */ addu $at, $at, $t7 -/* 0CAF24 800CA324 A020A078 */ sb $zero, %lo(D_800EA06C + 0xc)($at) -/* 0CAF28 800CA328 03E00008 */ jr $ra -/* 0CAF2C 800CA32C 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_800CA330 -/* 0CAF30 800CA330 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CAF34 800CA334 308500FF */ andi $a1, $a0, 0xff -/* 0CAF38 800CA338 3C011000 */ lui $at, (0x100000FF >> 16) # lui $at, 0x1000 -/* 0CAF3C 800CA33C AFBF002C */ sw $ra, 0x2c($sp) -/* 0CAF40 800CA340 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CAF44 800CA344 AFA40038 */ sw $a0, 0x38($sp) -/* 0CAF48 800CA348 342100FF */ ori $at, (0x100000FF & 0xFFFF) # ori $at, $at, 0xff -/* 0CAF4C 800CA34C 00051400 */ sll $v0, $a1, 0x10 -/* 0CAF50 800CA350 03A0F025 */ move $fp, $sp -/* 0CAF54 800CA354 00412025 */ or $a0, $v0, $at -/* 0CAF58 800CA358 0C030D12 */ jal func_800C3448 -/* 0CAF5C 800CA35C AFA20034 */ sw $v0, 0x34($sp) -/* 0CAF60 800CA360 8FC20034 */ lw $v0, 0x34($fp) -/* 0CAF64 800CA364 3C011100 */ lui $at, (0x110000FF >> 16) # lui $at, 0x1100 -/* 0CAF68 800CA368 342100FF */ ori $at, (0x110000FF & 0xFFFF) # ori $at, $at, 0xff -/* 0CAF6C 800CA36C 0C030D12 */ jal func_800C3448 -/* 0CAF70 800CA370 00412025 */ or $a0, $v0, $at -/* 0CAF74 800CA374 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CAF78 800CA378 03C0E825 */ move $sp, $fp -/* 0CAF7C 800CA37C 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CAF80 800CA380 03E00008 */ jr $ra -/* 0CAF84 800CA384 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800CA388 -/* 0CAF88 800CA388 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CAF8C 800CA38C AFB00024 */ sw $s0, 0x24($sp) -/* 0CAF90 800CA390 00808025 */ move $s0, $a0 -/* 0CAF94 800CA394 00107040 */ sll $t6, $s0, 1 -/* 0CAF98 800CA398 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CAF9C 800CA39C AFBE0028 */ sw $fp, 0x28($sp) -/* 0CAFA0 800CA3A0 AFA40030 */ sw $a0, 0x30($sp) -/* 0CAFA4 800CA3A4 31D000FF */ andi $s0, $t6, 0xff -/* 0CAFA8 800CA3A8 03A0F025 */ move $fp, $sp -/* 0CAFAC 800CA3AC 3206FFFF */ andi $a2, $s0, 0xffff -/* 0CAFB0 800CA3B0 00002025 */ move $a0, $zero -/* 0CAFB4 800CA3B4 0C03162E */ jal func_800C58B8 -/* 0CAFB8 800CA3B8 00002825 */ move $a1, $zero -/* 0CAFBC 800CA3BC 24040001 */ li $a0, 1 -/* 0CAFC0 800CA3C0 00002825 */ move $a1, $zero -/* 0CAFC4 800CA3C4 0C03162E */ jal func_800C58B8 -/* 0CAFC8 800CA3C8 3206FFFF */ andi $a2, $s0, 0xffff -/* 0CAFCC 800CA3CC 24040002 */ li $a0, 2 -/* 0CAFD0 800CA3D0 00002825 */ move $a1, $zero -/* 0CAFD4 800CA3D4 0C03162E */ jal func_800C58B8 -/* 0CAFD8 800CA3D8 3206FFFF */ andi $a2, $s0, 0xffff -/* 0CAFDC 800CA3DC 24040003 */ li $a0, 3 -/* 0CAFE0 800CA3E0 00002825 */ move $a1, $zero -/* 0CAFE4 800CA3E4 0C03162E */ jal func_800C58B8 -/* 0CAFE8 800CA3E8 3206FFFF */ andi $a2, $s0, 0xffff -/* 0CAFEC 800CA3EC 24040005 */ li $a0, 5 -/* 0CAFF0 800CA3F0 00002825 */ move $a1, $zero -/* 0CAFF4 800CA3F4 0C03162E */ jal func_800C58B8 -/* 0CAFF8 800CA3F8 3206FFFF */ andi $a2, $s0, 0xffff -/* 0CAFFC 800CA3FC 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CB000 800CA400 03C0E825 */ move $sp, $fp -/* 0CB004 800CA404 8FD00024 */ lw $s0, 0x24($fp) -/* 0CB008 800CA408 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CB00C 800CA40C 03E00008 */ jr $ra -/* 0CB010 800CA410 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CA414 -/* 0CB014 800CA414 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CB018 800CA418 3C0E800F */ lui $t6, %hi(D_800EA104) # $t6, 0x800f -/* 0CB01C 800CA41C 91CEA104 */ lbu $t6, %lo(D_800EA104)($t6) -/* 0CB020 800CA420 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CB024 800CA424 03A0F025 */ move $fp, $sp -/* 0CB028 800CA428 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CB02C 800CA42C AFA40030 */ sw $a0, 0x30($sp) -/* 0CB030 800CA430 15C00012 */ bnez $t6, .L800CA47C -/* 0CB034 800CA434 AFA50034 */ sw $a1, 0x34($sp) -/* 0CB038 800CA438 0C030D42 */ jal func_800C3508 -/* 0CB03C 800CA43C 00002025 */ move $a0, $zero -/* 0CB040 800CA440 3C013000 */ lui $at, 0x3000 -/* 0CB044 800CA444 0C030D12 */ jal func_800C3448 -/* 0CB048 800CA448 00412025 */ or $a0, $v0, $at -/* 0CB04C 800CA44C 0C030D7A */ jal func_800C35E8 -/* 0CB050 800CA450 00002025 */ move $a0, $zero -/* 0CB054 800CA454 97C40036 */ lhu $a0, 0x36($fp) -/* 0CB058 800CA458 3C01C151 */ lui $at, 0xc151 -/* 0CB05C 800CA45C 00817825 */ or $t7, $a0, $at -/* 0CB060 800CA460 0C030D12 */ jal func_800C3448 -/* 0CB064 800CA464 01E02025 */ move $a0, $t7 -/* 0CB068 800CA468 97C40032 */ lhu $a0, 0x32($fp) -/* 0CB06C 800CA46C 3C010100 */ lui $at, 0x100 -/* 0CB070 800CA470 0081C025 */ or $t8, $a0, $at -/* 0CB074 800CA474 0C030D12 */ jal func_800C3448 -/* 0CB078 800CA478 03002025 */ move $a0, $t8 -.L800CA47C: -/* 0CB07C 800CA47C 24190001 */ li $t9, 1 -/* 0CB080 800CA480 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0CB084 800CA484 A039A104 */ sb $t9, %lo(D_800EA104)($at) -/* 0CB088 800CA488 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CB08C 800CA48C 03C0E825 */ move $sp, $fp -/* 0CB090 800CA490 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CB094 800CA494 03E00008 */ jr $ra -/* 0CB098 800CA498 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CA49C -/* 0CB09C 800CA49C 3C0F800F */ lui $t7, %hi(D_800EA108) # $t7, 0x800f -/* 0CB0A0 800CA4A0 91EFA108 */ lbu $t7, %lo(D_800EA108)($t7) -/* 0CB0A4 800CA4A4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CB0A8 800CA4A8 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CB0AC 800CA4AC AFA40030 */ sw $a0, 0x30($sp) -/* 0CB0B0 800CA4B0 308E00FF */ andi $t6, $a0, 0xff -/* 0CB0B4 800CA4B4 01C02025 */ move $a0, $t6 -/* 0CB0B8 800CA4B8 03A0F025 */ move $fp, $sp -/* 0CB0BC 800CA4BC 15E00032 */ bnez $t7, .L800CA588 -/* 0CB0C0 800CA4C0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CB0C4 800CA4C4 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f -/* 0CB0C8 800CA4C8 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8) -/* 0CB0CC 800CA4CC 3C051900 */ lui $a1, (0x1900FF3A >> 16) # lui $a1, 0x1900 -/* 0CB0D0 800CA4D0 3C19800F */ lui $t9, %hi(D_800EA164) # $t9, 0x800f -/* 0CB0D4 800CA4D4 2B010002 */ slti $at, $t8, 2 -/* 0CB0D8 800CA4D8 14200005 */ bnez $at, .L800CA4F0 -/* 0CB0DC 800CA4DC 00000000 */ nop -/* 0CB0E0 800CA4E0 0C032418 */ jal func_800C9060 -/* 0CB0E4 800CA4E4 34A5FF3A */ ori $a1, (0x1900FF3A & 0xFFFF) # ori $a1, $a1, 0xff3a -/* 0CB0E8 800CA4E8 10000022 */ b .L800CA574 -/* 0CB0EC 800CA4EC 00000000 */ nop -.L800CA4F0: -/* 0CB0F0 800CA4F0 9339A164 */ lbu $t9, %lo(D_800EA164)($t9) -/* 0CB0F4 800CA4F4 3C041001 */ lui $a0, 0x1001 -/* 0CB0F8 800CA4F8 1320000E */ beqz $t9, .L800CA534 -/* 0CB0FC 800CA4FC 00000000 */ nop -/* 0CB100 800CA500 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0CB104 800CA504 0C030D12 */ jal func_800C3448 -/* 0CB108 800CA508 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CB10C 800CA50C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0CB110 800CA510 0C030D12 */ jal func_800C3448 -/* 0CB114 800CA514 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CB118 800CA518 0C0323BE */ jal func_800C8EF8 -/* 0CB11C 800CA51C 2404000C */ li $a0, 12 -/* 0CB120 800CA520 3C04C151 */ lui $a0, (0xC15100FF >> 16) # lui $a0, 0xc151 -/* 0CB124 800CA524 0C030D12 */ jal func_800C3448 -/* 0CB128 800CA528 34840011 */ ori $a0, (0xC1510011 & 0xFFFF) # ori $a0, $a0, 0x11 -/* 0CB12C 800CA52C 10000011 */ b .L800CA574 -/* 0CB130 800CA530 00000000 */ nop -.L800CA534: -/* 0CB134 800CA534 0C030D12 */ jal func_800C3448 -/* 0CB138 800CA538 348400FF */ ori $a0, (0xC15100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CB13C 800CA53C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0CB140 800CA540 0C030D12 */ jal func_800C3448 -/* 0CB144 800CA544 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CB148 800CA548 0C0323BE */ jal func_800C8EF8 -/* 0CB14C 800CA54C 2404000C */ li $a0, 12 -/* 0CB150 800CA550 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f -/* 0CB154 800CA554 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0) -/* 0CB158 800CA558 3C01C150 */ lui $at, 0xc150 -/* 0CB15C 800CA55C 00814025 */ or $t0, $a0, $at -/* 0CB160 800CA560 0C030D12 */ jal func_800C3448 -/* 0CB164 800CA564 01002025 */ move $a0, $t0 -/* 0CB168 800CA568 3C04C130 */ lui $a0, (0xC130017D >> 16) # lui $a0, 0xc130 -/* 0CB16C 800CA56C 0C030D12 */ jal func_800C3448 -/* 0CB170 800CA570 3484017D */ ori $a0, (0xC130017D & 0xFFFF) # ori $a0, $a0, 0x17d -.L800CA574: -/* 0CB174 800CA574 3C028019 */ lui $v0, %hi(D_8018FC08) # $v0, 0x8019 -/* 0CB178 800CA578 2442FC08 */ addiu $v0, %lo(D_8018FC08) # addiu $v0, $v0, -0x3f8 -/* 0CB17C 800CA57C 90490000 */ lbu $t1, ($v0) -/* 0CB180 800CA580 252A0001 */ addiu $t2, $t1, 1 -/* 0CB184 800CA584 A04A0000 */ sb $t2, ($v0) -.L800CA588: -/* 0CB188 800CA588 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CB18C 800CA58C 03C0E825 */ move $sp, $fp -/* 0CB190 800CA590 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CB194 800CA594 03E00008 */ jr $ra -/* 0CB198 800CA598 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CA59C -/* 0CB19C 800CA59C 308600FF */ andi $a2, $a0, 0xff -/* 0CB1A0 800CA5A0 3C0E800F */ lui $t6, %hi(D_800EA0EC) -/* 0CB1A4 800CA5A4 01C67021 */ addu $t6, $t6, $a2 -/* 0CB1A8 800CA5A8 91CEA0EC */ lbu $t6, %lo(D_800EA0EC)($t6) -/* 0CB1AC 800CA5AC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CB1B0 800CA5B0 AFBE0030 */ sw $fp, 0x30($sp) -/* 0CB1B4 800CA5B4 03A0F025 */ move $fp, $sp -/* 0CB1B8 800CA5B8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0CB1BC 800CA5BC 15C00057 */ bnez $t6, .L800CA71C -/* 0CB1C0 800CA5C0 AFA40038 */ sw $a0, 0x38($sp) -/* 0CB1C4 800CA5C4 3C0F800F */ lui $t7, %hi(D_800EA108) # $t7, 0x800f -/* 0CB1C8 800CA5C8 91EFA108 */ lbu $t7, %lo(D_800EA108)($t7) -/* 0CB1CC 800CA5CC 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0CB1D0 800CA5D0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0CB1D4 800CA5D4 15E00051 */ bnez $t7, .L800CA71C -/* 0CB1D8 800CA5D8 0006C0C0 */ sll $t8, $a2, 3 -/* 0CB1DC 800CA5DC 0306C023 */ subu $t8, $t8, $a2 -/* 0CB1E0 800CA5E0 0018C100 */ sll $t8, $t8, 4 -/* 0CB1E4 800CA5E4 0306C023 */ subu $t8, $t8, $a2 -/* 0CB1E8 800CA5E8 0018C080 */ sll $t8, $t8, 2 -/* 0CB1EC 800CA5EC 0306C023 */ subu $t8, $t8, $a2 -/* 0CB1F0 800CA5F0 0018C0C0 */ sll $t8, $t8, 3 -/* 0CB1F4 800CA5F4 3C04800F */ lui $a0, %hi(gPlayers+0x254) -/* 0CB1F8 800CA5F8 00982021 */ addu $a0, $a0, $t8 -/* 0CB1FC 800CA5FC 00064100 */ sll $t0, $a2, 4 -/* 0CB200 800CA600 94846BE4 */ lhu $a0, %lo(gPlayers+0x254)($a0) -/* 0CB204 800CA604 01064023 */ subu $t0, $t0, $a2 -/* 0CB208 800CA608 3C09800F */ lui $t1, %hi(D_800E9F7C) # $t1, 0x800f -/* 0CB20C 800CA60C 25299F7C */ addiu $t1, %lo(D_800E9F7C) # addiu $t1, $t1, -0x6084 -/* 0CB210 800CA610 00084080 */ sll $t0, $t0, 2 -/* 0CB214 800CA614 01092821 */ addu $a1, $t0, $t1 -/* 0CB218 800CA618 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900 -/* 0CB21C 800CA61C 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001 -/* 0CB220 800CA620 24AA0014 */ addiu $t2, $a1, 0x14 -/* 0CB224 800CA624 0004C900 */ sll $t9, $a0, 4 -/* 0CB228 800CA628 03212021 */ addu $a0, $t9, $at -/* 0CB22C 800CA62C AFAA0014 */ sw $t2, 0x14($sp) -/* 0CB230 800CA630 AFA70010 */ sw $a3, 0x10($sp) -/* 0CB234 800CA634 0C031052 */ jal play_sound -/* 0CB238 800CA638 A3A6003B */ sb $a2, 0x3b($sp) -/* 0CB23C 800CA63C 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f -/* 0CB240 800CA640 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4) -/* 0CB244 800CA644 240B0001 */ li $t3, 1 -/* 0CB248 800CA648 3C01800F */ lui $at, %hi(D_800EA164) # $at, 0x800f -/* 0CB24C 800CA64C A02BA164 */ sb $t3, %lo(D_800EA164)($at) -/* 0CB250 800CA650 29810002 */ slti $at, $t4, 2 -/* 0CB254 800CA654 14200007 */ bnez $at, .L800CA674 -/* 0CB258 800CA658 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0CB25C 800CA65C 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100 -/* 0CB260 800CA660 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c -/* 0CB264 800CA664 0C0323E0 */ jal func_800C8F80 -/* 0CB268 800CA668 93C4003B */ lbu $a0, 0x3b($fp) -/* 0CB26C 800CA66C 10000027 */ b .L800CA70C -/* 0CB270 800CA670 93D8003B */ lbu $t8, 0x3b($fp) -.L800CA674: -/* 0CB274 800CA674 0C030D12 */ jal func_800C3448 -/* 0CB278 800CA678 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CB27C 800CA67C 3C0D800F */ lui $t5, %hi(D_800EA104) # $t5, 0x800f -/* 0CB280 800CA680 91ADA104 */ lbu $t5, %lo(D_800EA104)($t5) -/* 0CB284 800CA684 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100 -/* 0CB288 800CA688 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c -/* 0CB28C 800CA68C 11A00005 */ beqz $t5, .L800CA6A4 -/* 0CB290 800CA690 3C0E8019 */ lui $t6, %hi(D_8018FC08) # $t6, 0x8019 -/* 0CB294 800CA694 0C0323E0 */ jal func_800C8F80 -/* 0CB298 800CA698 93C4003B */ lbu $a0, 0x3b($fp) -/* 0CB29C 800CA69C 1000001B */ b .L800CA70C -/* 0CB2A0 800CA6A0 93D8003B */ lbu $t8, 0x3b($fp) -.L800CA6A4: -/* 0CB2A4 800CA6A4 91CEFC08 */ lbu $t6, %lo(D_8018FC08)($t6) -/* 0CB2A8 800CA6A8 11C00015 */ beqz $t6, .L800CA700 -/* 0CB2AC 800CA6AC 00000000 */ nop -/* 0CB2B0 800CA6B0 0C030D42 */ jal func_800C3508 -/* 0CB2B4 800CA6B4 24040001 */ li $a0, 1 -/* 0CB2B8 800CA6B8 2401000C */ li $at, 12 -/* 0CB2BC 800CA6BC 10410005 */ beq $v0, $at, .L800CA6D4 -/* 0CB2C0 800CA6C0 3C040101 */ lui $a0, (0x0101000C >> 16) # lui $a0, 0x101 -/* 0CB2C4 800CA6C4 0C030D5F */ jal func_800C357C -/* 0CB2C8 800CA6C8 3484000C */ ori $a0, (0x0101000C & 0xFFFF) # ori $a0, $a0, 0xc -/* 0CB2CC 800CA6CC 14400008 */ bnez $v0, .L800CA6F0 -/* 0CB2D0 800CA6D0 00000000 */ nop -.L800CA6D4: -/* 0CB2D4 800CA6D4 0C030D12 */ jal func_800C3448 -/* 0CB2D8 800CA6D8 3C04C1F0 */ lui $a0, 0xc1f0 -/* 0CB2DC 800CA6DC 3C04C151 */ lui $a0, (0xC1510011 >> 16) # lui $a0, 0xc151 -/* 0CB2E0 800CA6E0 0C030D12 */ jal func_800C3448 -/* 0CB2E4 800CA6E4 34840011 */ ori $a0, (0xC1510011 & 0xFFFF) # ori $a0, $a0, 0x11 -/* 0CB2E8 800CA6E8 10000008 */ b .L800CA70C -/* 0CB2EC 800CA6EC 93D8003B */ lbu $t8, 0x3b($fp) -.L800CA6F0: -/* 0CB2F0 800CA6F0 0C0323BE */ jal func_800C8EF8 -/* 0CB2F4 800CA6F4 24040011 */ li $a0, 17 -/* 0CB2F8 800CA6F8 10000004 */ b .L800CA70C -/* 0CB2FC 800CA6FC 93D8003B */ lbu $t8, 0x3b($fp) -.L800CA700: -/* 0CB300 800CA700 0C0323BE */ jal func_800C8EF8 -/* 0CB304 800CA704 24040011 */ li $a0, 17 -/* 0CB308 800CA708 93D8003B */ lbu $t8, 0x3b($fp) -.L800CA70C: -/* 0CB30C 800CA70C 3C01800F */ lui $at, %hi(D_800EA10C) -/* 0CB310 800CA710 240F0001 */ li $t7, 1 -/* 0CB314 800CA714 00380821 */ addu $at, $at, $t8 -/* 0CB318 800CA718 A02FA10C */ sb $t7, %lo(D_800EA10C)($at) -.L800CA71C: -/* 0CB31C 800CA71C 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CB320 800CA720 03C0E825 */ move $sp, $fp -/* 0CB324 800CA724 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CB328 800CA728 03E00008 */ jr $ra -/* 0CB32C 800CA72C 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800CA730 -/* 0CB330 800CA730 308600FF */ andi $a2, $a0, 0xff -/* 0CB334 800CA734 3C0E800F */ lui $t6, %hi(D_800EA0EC) -/* 0CB338 800CA738 01C67021 */ addu $t6, $t6, $a2 -/* 0CB33C 800CA73C 91CEA0EC */ lbu $t6, %lo(D_800EA0EC)($t6) -/* 0CB340 800CA740 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0CB344 800CA744 AFBE0030 */ sw $fp, 0x30($sp) -/* 0CB348 800CA748 03A0F025 */ move $fp, $sp -/* 0CB34C 800CA74C AFBF0034 */ sw $ra, 0x34($sp) -/* 0CB350 800CA750 15C00087 */ bnez $t6, .L800CA970 -/* 0CB354 800CA754 AFA40040 */ sw $a0, 0x40($sp) -/* 0CB358 800CA758 3C0F800F */ lui $t7, %hi(D_800EA108) # $t7, 0x800f -/* 0CB35C 800CA75C 91EFA108 */ lbu $t7, %lo(D_800EA108)($t7) -/* 0CB360 800CA760 3C02800F */ lui $v0, %hi(D_800EA10C) # $v0, 0x800f -/* 0CB364 800CA764 2442A10C */ addiu $v0, %lo(D_800EA10C) # addiu $v0, $v0, -0x5ef4 -/* 0CB368 800CA768 15E00081 */ bnez $t7, .L800CA970 -/* 0CB36C 800CA76C 00461821 */ addu $v1, $v0, $a2 -/* 0CB370 800CA770 90780000 */ lbu $t8, ($v1) -/* 0CB374 800CA774 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0CB378 800CA778 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0CB37C 800CA77C 1300007C */ beqz $t8, .L800CA970 -/* 0CB380 800CA780 0006C8C0 */ sll $t9, $a2, 3 -/* 0CB384 800CA784 0326C823 */ subu $t9, $t9, $a2 -/* 0CB388 800CA788 0019C900 */ sll $t9, $t9, 4 -/* 0CB38C 800CA78C 0326C823 */ subu $t9, $t9, $a2 -/* 0CB390 800CA790 0019C880 */ sll $t9, $t9, 2 -/* 0CB394 800CA794 0326C823 */ subu $t9, $t9, $a2 -/* 0CB398 800CA798 0019C8C0 */ sll $t9, $t9, 3 -/* 0CB39C 800CA79C 3C04800F */ lui $a0, %hi(gPlayers+0x254) -/* 0CB3A0 800CA7A0 00992021 */ addu $a0, $a0, $t9 -/* 0CB3A4 800CA7A4 00064900 */ sll $t1, $a2, 4 -/* 0CB3A8 800CA7A8 94846BE4 */ lhu $a0, %lo(gPlayers+0x254)($a0) -/* 0CB3AC 800CA7AC 01264823 */ subu $t1, $t1, $a2 -/* 0CB3B0 800CA7B0 3C0A800F */ lui $t2, %hi(D_800E9F7C) # $t2, 0x800f -/* 0CB3B4 800CA7B4 254A9F7C */ addiu $t2, %lo(D_800E9F7C) # addiu $t2, $t2, -0x6084 -/* 0CB3B8 800CA7B8 00094880 */ sll $t1, $t1, 2 -/* 0CB3BC 800CA7BC 012A2821 */ addu $a1, $t1, $t2 -/* 0CB3C0 800CA7C0 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 -/* 0CB3C4 800CA7C4 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 -/* 0CB3C8 800CA7C8 24AB0014 */ addiu $t3, $a1, 0x14 -/* 0CB3CC 800CA7CC 00044100 */ sll $t0, $a0, 4 -/* 0CB3D0 800CA7D0 01012021 */ addu $a0, $t0, $at -/* 0CB3D4 800CA7D4 AFAB0014 */ sw $t3, 0x14($sp) -/* 0CB3D8 800CA7D8 AFA70010 */ sw $a3, 0x10($sp) -/* 0CB3DC 800CA7DC AFA3003C */ sw $v1, 0x3c($sp) -/* 0CB3E0 800CA7E0 0C031052 */ jal play_sound -/* 0CB3E4 800CA7E4 A3A60043 */ sb $a2, 0x43($sp) -/* 0CB3E8 800CA7E8 8FCC003C */ lw $t4, 0x3c($fp) -/* 0CB3EC 800CA7EC 3C02800F */ lui $v0, %hi(D_800EA10C) # $v0, 0x800f -/* 0CB3F0 800CA7F0 2442A10C */ addiu $v0, %lo(D_800EA10C) # addiu $v0, $v0, -0x5ef4 -/* 0CB3F4 800CA7F4 918D0000 */ lbu $t5, ($t4) -/* 0CB3F8 800CA7F8 93C60043 */ lbu $a2, 0x43($fp) -/* 0CB3FC 800CA7FC 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f -/* 0CB400 800CA800 51A0005A */ beql $t5, $zero, .L800CA96C -/* 0CB404 800CA804 8FCD003C */ lw $t5, 0x3c($fp) -/* 0CB408 800CA808 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6) -/* 0CB40C 800CA80C 30C400FF */ andi $a0, $a2, 0xff -/* 0CB410 800CA810 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100 -/* 0CB414 800CA814 29C10002 */ slti $at, $t6, 2 -/* 0CB418 800CA818 54200006 */ bnel $at, $zero, .L800CA834 -/* 0CB41C 800CA81C 8FCF003C */ lw $t7, 0x3c($fp) -/* 0CB420 800CA820 0C032406 */ jal func_800C9018 -/* 0CB424 800CA824 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c -/* 0CB428 800CA828 10000050 */ b .L800CA96C -/* 0CB42C 800CA82C 8FCD003C */ lw $t5, 0x3c($fp) -/* 0CB430 800CA830 8FCF003C */ lw $t7, 0x3c($fp) -.L800CA834: -/* 0CB434 800CA834 3C18800F */ lui $t8, %hi(D_800EA104) # $t8, 0x800f -/* 0CB438 800CA838 30C400FF */ andi $a0, $a2, 0xff -/* 0CB43C 800CA83C A1E00000 */ sb $zero, ($t7) -/* 0CB440 800CA840 9318A104 */ lbu $t8, %lo(D_800EA104)($t8) -/* 0CB444 800CA844 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100 -/* 0CB448 800CA848 53000006 */ beql $t8, $zero, .L800CA864 -/* 0CB44C 800CA84C 90590000 */ lbu $t9, ($v0) -/* 0CB450 800CA850 0C032406 */ jal func_800C9018 -/* 0CB454 800CA854 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c -/* 0CB458 800CA858 10000041 */ b .L800CA960 -/* 0CB45C 800CA85C 00000000 */ nop -/* 0CB460 800CA860 90590000 */ lbu $t9, ($v0) -.L800CA864: -/* 0CB464 800CA864 1720003E */ bnez $t9, .L800CA960 -/* 0CB468 800CA868 00000000 */ nop -/* 0CB46C 800CA86C 90480001 */ lbu $t0, 1($v0) -/* 0CB470 800CA870 3C098019 */ lui $t1, %hi(D_8018FC08) # $t1, 0x8019 -/* 0CB474 800CA874 1500003A */ bnez $t0, .L800CA960 -/* 0CB478 800CA878 00000000 */ nop -/* 0CB47C 800CA87C 9129FC08 */ lbu $t1, %lo(D_8018FC08)($t1) -/* 0CB480 800CA880 3C0A803B */ lui $t2, %hi(D_803B1658) # $t2, 0x803b -/* 0CB484 800CA884 3C041101 */ lui $a0, 0x1101 -/* 0CB488 800CA888 11200030 */ beqz $t1, .L800CA94C -/* 0CB48C 800CA88C 00000000 */ nop -/* 0CB490 800CA890 8D4A1658 */ lw $t2, %lo(D_803B1658)($t2) -/* 0CB494 800CA894 24040001 */ li $a0, 1 -/* 0CB498 800CA898 000A5FC2 */ srl $t3, $t2, 0x1f -/* 0CB49C 800CA89C 1560000B */ bnez $t3, .L800CA8CC -/* 0CB4A0 800CA8A0 00000000 */ nop -/* 0CB4A4 800CA8A4 0C030D82 */ jal func_800C3608 -/* 0CB4A8 800CA8A8 24050005 */ li $a1, 5 -/* 0CB4AC 800CA8AC 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f -/* 0CB4B0 800CA8B0 0C0323AB */ jal func_800C8EAC -/* 0CB4B4 800CA8B4 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0) -/* 0CB4B8 800CA8B8 3C04B001 */ lui $a0, (0xB001307D >> 16) # lui $a0, 0xb001 -/* 0CB4BC 800CA8BC 0C030D12 */ jal func_800C3448 -/* 0CB4C0 800CA8C0 3484307D */ ori $a0, (0xB001307D & 0xFFFF) # ori $a0, $a0, 0x307d -/* 0CB4C4 800CA8C4 10000026 */ b .L800CA960 -/* 0CB4C8 800CA8C8 00000000 */ nop -.L800CA8CC: -/* 0CB4CC 800CA8CC 0C030D42 */ jal func_800C3508 -/* 0CB4D0 800CA8D0 24040001 */ li $a0, 1 -/* 0CB4D4 800CA8D4 2401000C */ li $at, 12 -/* 0CB4D8 800CA8D8 10410005 */ beq $v0, $at, .L800CA8F0 -/* 0CB4DC 800CA8DC 3C040101 */ lui $a0, (0x0101000C >> 16) # lui $a0, 0x101 -/* 0CB4E0 800CA8E0 0C030D5F */ jal func_800C357C -/* 0CB4E4 800CA8E4 3484000C */ ori $a0, (0x0101000C & 0xFFFF) # ori $a0, $a0, 0xc -/* 0CB4E8 800CA8E8 1440000E */ bnez $v0, .L800CA924 -/* 0CB4EC 800CA8EC 3C041101 */ lui $a0, 0x1101 -.L800CA8F0: -/* 0CB4F0 800CA8F0 0C030D12 */ jal func_800C3448 -/* 0CB4F4 800CA8F4 3C04C1F0 */ lui $a0, 0xc1f0 -/* 0CB4F8 800CA8F8 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f -/* 0CB4FC 800CA8FC 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0) -/* 0CB500 800CA900 3C01C150 */ lui $at, 0xc150 -/* 0CB504 800CA904 00816025 */ or $t4, $a0, $at -/* 0CB508 800CA908 0C030D12 */ jal func_800C3448 -/* 0CB50C 800CA90C 01802025 */ move $a0, $t4 -/* 0CB510 800CA910 3C04C130 */ lui $a0, (0xC13000FF >> 16) # lui $a0, 0xc130 -/* 0CB514 800CA914 0C030D12 */ jal func_800C3448 -/* 0CB518 800CA918 3484017D */ ori $a0, (0xC130017D & 0xFFFF) # ori $a0, $a0, 0x17d -/* 0CB51C 800CA91C 10000010 */ b .L800CA960 -/* 0CB520 800CA920 00000000 */ nop -.L800CA924: -/* 0CB524 800CA924 0C030D12 */ jal func_800C3448 -/* 0CB528 800CA928 348400FF */ ori $a0, (0xC13000FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CB52C 800CA92C 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f -/* 0CB530 800CA930 0C0323AB */ jal func_800C8EAC -/* 0CB534 800CA934 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0) -/* 0CB538 800CA938 3C04B001 */ lui $a0, (0xB00100FF >> 16) # lui $a0, 0xb001 -/* 0CB53C 800CA93C 0C030D12 */ jal func_800C3448 -/* 0CB540 800CA940 3484307D */ ori $a0, (0xB001307D & 0xFFFF) # ori $a0, $a0, 0x307d -/* 0CB544 800CA944 10000006 */ b .L800CA960 -/* 0CB548 800CA948 00000000 */ nop -.L800CA94C: -/* 0CB54C 800CA94C 0C030D12 */ jal func_800C3448 -/* 0CB550 800CA950 348400FF */ ori $a0, (0xB00100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CB554 800CA954 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f -/* 0CB558 800CA958 0C0323AB */ jal func_800C8EAC -/* 0CB55C 800CA95C 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0) -.L800CA960: -/* 0CB560 800CA960 3C01800F */ lui $at, %hi(D_800EA164) # $at, 0x800f -/* 0CB564 800CA964 A020A164 */ sb $zero, %lo(D_800EA164)($at) -/* 0CB568 800CA968 8FCD003C */ lw $t5, 0x3c($fp) -.L800CA96C: -/* 0CB56C 800CA96C A1A00000 */ sb $zero, ($t5) -.L800CA970: -/* 0CB570 800CA970 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CB574 800CA974 03C0E825 */ move $sp, $fp -/* 0CB578 800CA978 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CB57C 800CA97C 03E00008 */ jr $ra -/* 0CB580 800CA980 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800CA984 -/* 0CB584 800CA984 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0CB588 800CA988 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CB58C 800CA98C 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CB590 800CA990 AFBE0050 */ sw $fp, 0x50($sp) -/* 0CB594 800CA994 AFB50044 */ sw $s5, 0x44($sp) -/* 0CB598 800CA998 309500FF */ andi $s5, $a0, 0xff -/* 0CB59C 800CA99C 03A0F025 */ move $fp, $sp -/* 0CB5A0 800CA9A0 AFBF0054 */ sw $ra, 0x54($sp) -/* 0CB5A4 800CA9A4 AFB7004C */ sw $s7, 0x4c($sp) -/* 0CB5A8 800CA9A8 AFB60048 */ sw $s6, 0x48($sp) -/* 0CB5AC 800CA9AC AFB40040 */ sw $s4, 0x40($sp) -/* 0CB5B0 800CA9B0 AFB3003C */ sw $s3, 0x3c($sp) -/* 0CB5B4 800CA9B4 AFB20038 */ sw $s2, 0x38($sp) -/* 0CB5B8 800CA9B8 AFB10034 */ sw $s1, 0x34($sp) -/* 0CB5BC 800CA9BC AFB00030 */ sw $s0, 0x30($sp) -/* 0CB5C0 800CA9C0 15C00035 */ bnez $t6, .L800CAA98 -/* 0CB5C4 800CA9C4 AFA40058 */ sw $a0, 0x58($sp) -/* 0CB5C8 800CA9C8 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f -/* 0CB5CC 800CA9CC 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7) -/* 0CB5D0 800CA9D0 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f -/* 0CB5D4 800CA9D4 55E00031 */ bnel $t7, $zero, .L800CAA9C -/* 0CB5D8 800CA9D8 8FDF0054 */ lw $ra, 0x54($fp) -/* 0CB5DC 800CA9DC 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8) -/* 0CB5E0 800CA9E0 001540C0 */ sll $t0, $s5, 3 -/* 0CB5E4 800CA9E4 01154023 */ subu $t0, $t0, $s5 -/* 0CB5E8 800CA9E8 27190001 */ addiu $t9, $t8, 1 -/* 0CB5EC 800CA9EC 1B20002A */ blez $t9, .L800CAA98 -/* 0CB5F0 800CA9F0 00008025 */ move $s0, $zero -/* 0CB5F4 800CA9F4 00084100 */ sll $t0, $t0, 4 -/* 0CB5F8 800CA9F8 01154023 */ subu $t0, $t0, $s5 -/* 0CB5FC 800CA9FC 00084080 */ sll $t0, $t0, 2 -/* 0CB600 800CAA00 01154023 */ subu $t0, $t0, $s5 -/* 0CB604 800CAA04 3C09800F */ lui $t1, %hi(gPlayers) # $t1, 0x800f -/* 0CB608 800CAA08 25296990 */ addiu $t1, %lo(gPlayers) # addiu $t1, $t1, 0x6990 -/* 0CB60C 800CAA0C 000840C0 */ sll $t0, $t0, 3 -/* 0CB610 800CAA10 01091021 */ addu $v0, $t0, $t1 -/* 0CB614 800CAA14 3C14800F */ lui $s4, %hi(D_800EA1DC) # $s4, 0x800f -/* 0CB618 800CAA18 3C13800F */ lui $s3, %hi(D_800EA1C8) # $s3, 0x800f -/* 0CB61C 800CAA1C 3C12800F */ lui $s2, %hi(D_800EA1D4) # $s2, 0x800f -/* 0CB620 800CAA20 3C113102 */ lui $s1, (0x31029008 >> 16) # lui $s1, 0x3102 -/* 0CB624 800CAA24 36319008 */ ori $s1, (0x31029008 & 0xFFFF) # ori $s1, $s1, 0x9008 -/* 0CB628 800CAA28 2652A1D4 */ addiu $s2, %lo(D_800EA1D4) # addiu $s2, $s2, -0x5e2c -/* 0CB62C 800CAA2C 2673A1C8 */ addiu $s3, %lo(D_800EA1C8) # addiu $s3, $s3, -0x5e38 -/* 0CB630 800CAA30 2694A1DC */ addiu $s4, %lo(D_800EA1DC) # addiu $s4, $s4, -0x5e24 -/* 0CB634 800CAA34 24560014 */ addiu $s6, $v0, 0x14 -/* 0CB638 800CAA38 24570098 */ addiu $s7, $v0, 0x98 -.L800CAA3C: -/* 0CB63C 800CAA3C 32A400FF */ andi $a0, $s5, 0xff -/* 0CB640 800CAA40 02C02825 */ move $a1, $s6 -/* 0CB644 800CAA44 02603025 */ move $a2, $s3 -/* 0CB648 800CAA48 02E03825 */ move $a3, $s7 -/* 0CB64C 800CAA4C AFB00010 */ sw $s0, 0x10($sp) -/* 0CB650 800CAA50 0C030722 */ jal func_800C1C88 -/* 0CB654 800CAA54 AFB10014 */ sw $s1, 0x14($sp) -/* 0CB658 800CAA58 10400007 */ beqz $v0, .L800CAA78 -/* 0CB65C 800CAA5C 02202025 */ move $a0, $s1 -/* 0CB660 800CAA60 24450018 */ addiu $a1, $v0, 0x18 -/* 0CB664 800CAA64 320600FF */ andi $a2, $s0, 0xff -/* 0CB668 800CAA68 02403825 */ move $a3, $s2 -/* 0CB66C 800CAA6C AFB20010 */ sw $s2, 0x10($sp) -/* 0CB670 800CAA70 0C031052 */ jal play_sound -/* 0CB674 800CAA74 AFB40014 */ sw $s4, 0x14($sp) -.L800CAA78: -/* 0CB678 800CAA78 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f -/* 0CB67C 800CAA7C 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3) -/* 0CB680 800CAA80 26100001 */ addiu $s0, $s0, 1 -/* 0CB684 800CAA84 320A00FF */ andi $t2, $s0, 0xff -/* 0CB688 800CAA88 256C0001 */ addiu $t4, $t3, 1 -/* 0CB68C 800CAA8C 014C082A */ slt $at, $t2, $t4 -/* 0CB690 800CAA90 1420FFEA */ bnez $at, .L800CAA3C -/* 0CB694 800CAA94 01408025 */ move $s0, $t2 -.L800CAA98: -/* 0CB698 800CAA98 8FDF0054 */ lw $ra, 0x54($fp) -.L800CAA9C: -/* 0CB69C 800CAA9C 03C0E825 */ move $sp, $fp -/* 0CB6A0 800CAAA0 8FD00030 */ lw $s0, 0x30($fp) -/* 0CB6A4 800CAAA4 8FD10034 */ lw $s1, 0x34($fp) -/* 0CB6A8 800CAAA8 8FD20038 */ lw $s2, 0x38($fp) -/* 0CB6AC 800CAAAC 8FD3003C */ lw $s3, 0x3c($fp) -/* 0CB6B0 800CAAB0 8FD40040 */ lw $s4, 0x40($fp) -/* 0CB6B4 800CAAB4 8FD50044 */ lw $s5, 0x44($fp) -/* 0CB6B8 800CAAB8 8FD60048 */ lw $s6, 0x48($fp) -/* 0CB6BC 800CAABC 8FD7004C */ lw $s7, 0x4c($fp) -/* 0CB6C0 800CAAC0 8FDE0050 */ lw $fp, 0x50($fp) -/* 0CB6C4 800CAAC4 03E00008 */ jr $ra -/* 0CB6C8 800CAAC8 27BD0058 */ addiu $sp, $sp, 0x58 - -glabel func_800CAACC -/* 0CB6CC 800CAACC 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CB6D0 800CAAD0 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CB6D4 800CAAD4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CB6D8 800CAAD8 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CB6DC 800CAADC 03A0F025 */ move $fp, $sp -/* 0CB6E0 800CAAE0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CB6E4 800CAAE4 AFA40030 */ sw $a0, 0x30($sp) -/* 0CB6E8 800CAAE8 15C00013 */ bnez $t6, .L800CAB38 -/* 0CB6EC 800CAAEC 308600FF */ andi $a2, $a0, 0xff -/* 0CB6F0 800CAAF0 000678C0 */ sll $t7, $a2, 3 -/* 0CB6F4 800CAAF4 01E67823 */ subu $t7, $t7, $a2 -/* 0CB6F8 800CAAF8 000F7900 */ sll $t7, $t7, 4 -/* 0CB6FC 800CAAFC 01E67823 */ subu $t7, $t7, $a2 -/* 0CB700 800CAB00 000F7880 */ sll $t7, $t7, 2 -/* 0CB704 800CAB04 01E67823 */ subu $t7, $t7, $a2 -/* 0CB708 800CAB08 000F78C0 */ sll $t7, $t7, 3 -/* 0CB70C 800CAB0C 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 0CB710 800CAB10 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 0CB714 800CAB14 25F80014 */ addiu $t8, $t7, 0x14 -/* 0CB718 800CAB18 3C053102 */ lui $a1, (0x31029008 >> 16) # lui $a1, 0x3102 -/* 0CB71C 800CAB1C 34A59008 */ ori $a1, (0x31029008 & 0xFFFF) # ori $a1, $a1, 0x9008 -/* 0CB720 800CAB20 0C03087A */ jal func_800C21E8 -/* 0CB724 800CAB24 03192021 */ addu $a0, $t8, $t9 -/* 0CB728 800CAB28 3C053102 */ lui $a1, (0x31029008 >> 16) # lui $a1, 0x3102 -/* 0CB72C 800CAB2C 34A59008 */ ori $a1, (0x31029008 & 0xFFFF) # ori $a1, $a1, 0x9008 -/* 0CB730 800CAB30 0C03155E */ jal func_800C5578 -/* 0CB734 800CAB34 00402025 */ move $a0, $v0 -.L800CAB38: -/* 0CB738 800CAB38 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CB73C 800CAB3C 03C0E825 */ move $sp, $fp -/* 0CB740 800CAB40 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CB744 800CAB44 03E00008 */ jr $ra -/* 0CB748 800CAB48 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CAB4C -/* 0CB74C 800CAB4C 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CB750 800CAB50 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CB754 800CAB54 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CB758 800CAB58 AFBE0030 */ sw $fp, 0x30($sp) -/* 0CB75C 800CAB5C 03A0F025 */ move $fp, $sp -/* 0CB760 800CAB60 AFBF0034 */ sw $ra, 0x34($sp) -/* 0CB764 800CAB64 15C00023 */ bnez $t6, .L800CABF4 -/* 0CB768 800CAB68 AFA40038 */ sw $a0, 0x38($sp) -/* 0CB76C 800CAB6C 93AF003B */ lbu $t7, 0x3b($sp) -/* 0CB770 800CAB70 3C18800F */ lui $t8, %hi(D_800EA0EC) # $t8, 0x800f -/* 0CB774 800CAB74 2718A0EC */ addiu $t8, %lo(D_800EA0EC) # addiu $t8, $t8, -0x5f14 -/* 0CB778 800CAB78 01F81821 */ addu $v1, $t7, $t8 -/* 0CB77C 800CAB7C 90620000 */ lbu $v0, ($v1) -/* 0CB780 800CAB80 24010002 */ li $at, 2 -/* 0CB784 800CAB84 00002025 */ move $a0, $zero -/* 0CB788 800CAB88 10400004 */ beqz $v0, .L800CAB9C -/* 0CB78C 800CAB8C 24050001 */ li $a1, 1 -/* 0CB790 800CAB90 14410015 */ bne $v0, $at, .L800CABE8 -/* 0CB794 800CAB94 24190001 */ li $t9, 1 -/* 0CB798 800CAB98 A0790000 */ sb $t9, ($v1) -.L800CAB9C: -/* 0CB79C 800CAB9C 24060055 */ li $a2, 85 -/* 0CB7A0 800CABA0 0C030DB1 */ jal func_800C36C4 -/* 0CB7A4 800CABA4 24070005 */ li $a3, 5 -/* 0CB7A8 800CABA8 3C051900 */ lui $a1, (0x1900F013 >> 16) # lui $a1, 0x1900 -/* 0CB7AC 800CABAC 34A5F013 */ ori $a1, (0x1900F013 & 0xFFFF) # ori $a1, $a1, 0xf013 -/* 0CB7B0 800CABB0 0C032418 */ jal func_800C9060 -/* 0CB7B4 800CABB4 93C4003B */ lbu $a0, 0x3b($fp) -/* 0CB7B8 800CABB8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0CB7BC 800CABBC 3C08800F */ lui $t0, %hi(D_800EA1DC) # $t0, 0x800f -/* 0CB7C0 800CABC0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0CB7C4 800CABC4 2508A1DC */ addiu $t0, %lo(D_800EA1DC) # addiu $t0, $t0, -0x5e24 -/* 0CB7C8 800CABC8 3C045101 */ lui $a0, (0x5101C00C >> 16) # lui $a0, 0x5101 -/* 0CB7CC 800CABCC 3C05800F */ lui $a1, %hi(D_800EA1C8) # $a1, 0x800f -/* 0CB7D0 800CABD0 24A5A1C8 */ addiu $a1, %lo(D_800EA1C8) # addiu $a1, $a1, -0x5e38 -/* 0CB7D4 800CABD4 3484C00C */ ori $a0, (0x5101C00C & 0xFFFF) # ori $a0, $a0, 0xc00c -/* 0CB7D8 800CABD8 AFA80014 */ sw $t0, 0x14($sp) -/* 0CB7DC 800CABDC AFA70010 */ sw $a3, 0x10($sp) -/* 0CB7E0 800CABE0 0C031052 */ jal play_sound -/* 0CB7E4 800CABE4 00003025 */ move $a2, $zero -.L800CABE8: -/* 0CB7E8 800CABE8 24090001 */ li $t1, 1 -/* 0CB7EC 800CABEC 3C01800F */ lui $at, %hi(D_800EA168) # $at, 0x800f -/* 0CB7F0 800CABF0 A029A168 */ sb $t1, %lo(D_800EA168)($at) -.L800CABF4: -/* 0CB7F4 800CABF4 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CB7F8 800CABF8 03C0E825 */ move $sp, $fp -/* 0CB7FC 800CABFC 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CB800 800CAC00 03E00008 */ jr $ra -/* 0CB804 800CAC04 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800CAC08 -/* 0CB808 800CAC08 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CB80C 800CAC0C 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CB810 800CAC10 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0CB814 800CAC14 AFBE0020 */ sw $fp, 0x20($sp) -/* 0CB818 800CAC18 03A0F025 */ move $fp, $sp -/* 0CB81C 800CAC1C 15C0000B */ bnez $t6, .L800CAC4C -/* 0CB820 800CAC20 AFBF0024 */ sw $ra, 0x24($sp) -/* 0CB824 800CAC24 00002025 */ move $a0, $zero -/* 0CB828 800CAC28 24050001 */ li $a1, 1 -/* 0CB82C 800CAC2C 2406007F */ li $a2, 127 -/* 0CB830 800CAC30 0C030DB1 */ jal func_800C36C4 -/* 0CB834 800CAC34 24070019 */ li $a3, 25 -/* 0CB838 800CAC38 3C045101 */ lui $a0, (0x5101C00C >> 16) # lui $a0, 0x5101 -/* 0CB83C 800CAC3C 0C0315BC */ jal func_800C56F0 -/* 0CB840 800CAC40 3484C00C */ ori $a0, (0x5101C00C & 0xFFFF) # ori $a0, $a0, 0xc00c -/* 0CB844 800CAC44 3C01800F */ lui $at, %hi(D_800EA168) # $at, 0x800f -/* 0CB848 800CAC48 A020A168 */ sb $zero, %lo(D_800EA168)($at) -.L800CAC4C: -/* 0CB84C 800CAC4C 8FDF0024 */ lw $ra, 0x24($fp) -/* 0CB850 800CAC50 03C0E825 */ move $sp, $fp -/* 0CB854 800CAC54 8FDE0020 */ lw $fp, 0x20($fp) -/* 0CB858 800CAC58 03E00008 */ jr $ra -/* 0CB85C 800CAC5C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_800CAC60 -/* 0CB860 800CAC60 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CB864 800CAC64 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CB868 800CAC68 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CB86C 800CAC6C AFBE0030 */ sw $fp, 0x30($sp) -/* 0CB870 800CAC70 03A0F025 */ move $fp, $sp -/* 0CB874 800CAC74 AFBF0034 */ sw $ra, 0x34($sp) -/* 0CB878 800CAC78 15C0002C */ bnez $t6, .L800CAD2C -/* 0CB87C 800CAC7C AFA40038 */ sw $a0, 0x38($sp) -/* 0CB880 800CAC80 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f -/* 0CB884 800CAC84 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7) -/* 0CB888 800CAC88 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0CB88C 800CAC8C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0CB890 800CAC90 15E00026 */ bnez $t7, .L800CAD2C -/* 0CB894 800CAC94 3C041900 */ lui $a0, (0x1900F00C >> 16) # lui $a0, 0x1900 -/* 0CB898 800CAC98 3C18800F */ lui $t8, %hi(D_800EA1DC) # $t8, 0x800f -/* 0CB89C 800CAC9C 2718A1DC */ addiu $t8, %lo(D_800EA1DC) # addiu $t8, $t8, -0x5e24 -/* 0CB8A0 800CACA0 3C05800F */ lui $a1, %hi(D_800EA1C8) # $a1, 0x800f -/* 0CB8A4 800CACA4 24A5A1C8 */ addiu $a1, %lo(D_800EA1C8) # addiu $a1, $a1, -0x5e38 -/* 0CB8A8 800CACA8 AFB80014 */ sw $t8, 0x14($sp) -/* 0CB8AC 800CACAC 3484F00C */ ori $a0, (0x1900F00C & 0xFFFF) # ori $a0, $a0, 0xf00c -/* 0CB8B0 800CACB0 00003025 */ move $a2, $zero -/* 0CB8B4 800CACB4 0C031052 */ jal play_sound -/* 0CB8B8 800CACB8 AFA70010 */ sw $a3, 0x10($sp) -/* 0CB8BC 800CACBC 3C03800F */ lui $v1, %hi(D_800EA10C) # $v1, 0x800f -/* 0CB8C0 800CACC0 2463A10C */ addiu $v1, %lo(D_800EA10C) # addiu $v1, $v1, -0x5ef4 -/* 0CB8C4 800CACC4 90790000 */ lbu $t9, ($v1) -/* 0CB8C8 800CACC8 24020001 */ li $v0, 1 -/* 0CB8CC 800CACCC 50590018 */ beql $v0, $t9, .L800CAD30 -/* 0CB8D0 800CACD0 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CB8D4 800CACD4 90680001 */ lbu $t0, 1($v1) -/* 0CB8D8 800CACD8 00002025 */ move $a0, $zero -/* 0CB8DC 800CACDC 24050001 */ li $a1, 1 -/* 0CB8E0 800CACE0 10480012 */ beq $v0, $t0, .L800CAD2C -/* 0CB8E4 800CACE4 24060037 */ li $a2, 55 -/* 0CB8E8 800CACE8 0C030DB1 */ jal func_800C36C4 -/* 0CB8EC 800CACEC 24070005 */ li $a3, 5 -/* 0CB8F0 800CACF0 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0CB8F4 800CACF4 3C09800F */ lui $t1, %hi(D_800EA1DC) # $t1, 0x800f -/* 0CB8F8 800CACF8 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0CB8FC 800CACFC 2529A1DC */ addiu $t1, %lo(D_800EA1DC) # addiu $t1, $t1, -0x5e24 -/* 0CB900 800CAD00 3C045101 */ lui $a0, (0x5101C00C >> 16) # lui $a0, 0x5101 -/* 0CB904 800CAD04 3C05800F */ lui $a1, %hi(D_800EA1C8) # $a1, 0x800f -/* 0CB908 800CAD08 24A5A1C8 */ addiu $a1, %lo(D_800EA1C8) # addiu $a1, $a1, -0x5e38 -/* 0CB90C 800CAD0C 3484C00C */ ori $a0, (0x5101C00C & 0xFFFF) # ori $a0, $a0, 0xc00c -/* 0CB910 800CAD10 AFA90014 */ sw $t1, 0x14($sp) -/* 0CB914 800CAD14 AFA70010 */ sw $a3, 0x10($sp) -/* 0CB918 800CAD18 0C031052 */ jal play_sound -/* 0CB91C 800CAD1C 00003025 */ move $a2, $zero -/* 0CB920 800CAD20 240A0001 */ li $t2, 1 -/* 0CB924 800CAD24 3C01800F */ lui $at, %hi(D_800EA168) # $at, 0x800f -/* 0CB928 800CAD28 A02AA168 */ sb $t2, %lo(D_800EA168)($at) -.L800CAD2C: -/* 0CB92C 800CAD2C 8FDF0034 */ lw $ra, 0x34($fp) -.L800CAD30: -/* 0CB930 800CAD30 03C0E825 */ move $sp, $fp -/* 0CB934 800CAD34 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CB938 800CAD38 03E00008 */ jr $ra -/* 0CB93C 800CAD3C 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800CAD40 -/* 0CB940 800CAD40 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CB944 800CAD44 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CB948 800CAD48 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CB94C 800CAD4C AFBE0028 */ sw $fp, 0x28($sp) -/* 0CB950 800CAD50 03A0F025 */ move $fp, $sp -/* 0CB954 800CAD54 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CB958 800CAD58 15C00018 */ bnez $t6, .L800CADBC -/* 0CB95C 800CAD5C AFA40030 */ sw $a0, 0x30($sp) -/* 0CB960 800CAD60 3C02800F */ lui $v0, %hi(D_800EA170) # $v0, 0x800f -/* 0CB964 800CAD64 2442A170 */ addiu $v0, %lo(D_800EA170) # addiu $v0, $v0, -0x5e90 -/* 0CB968 800CAD68 904F0000 */ lbu $t7, ($v0) -/* 0CB96C 800CAD6C 55E0000F */ bnel $t7, $zero, .L800CADAC -/* 0CB970 800CAD70 3C045101 */ lui $a0, 0x5101 -/* 0CB974 800CAD74 90580001 */ lbu $t8, 1($v0) -/* 0CB978 800CAD78 5700000C */ bnel $t8, $zero, .L800CADAC -/* 0CB97C 800CAD7C 3C045101 */ lui $a0, 0x5101 -/* 0CB980 800CAD80 90590002 */ lbu $t9, 2($v0) -/* 0CB984 800CAD84 57200009 */ bnel $t9, $zero, .L800CADAC -/* 0CB988 800CAD88 3C045101 */ lui $a0, 0x5101 -/* 0CB98C 800CAD8C 90480003 */ lbu $t0, 3($v0) -/* 0CB990 800CAD90 00002025 */ move $a0, $zero -/* 0CB994 800CAD94 24050001 */ li $a1, 1 -/* 0CB998 800CAD98 15000003 */ bnez $t0, .L800CADA8 -/* 0CB99C 800CAD9C 2406007F */ li $a2, 127 -/* 0CB9A0 800CADA0 0C030DB1 */ jal func_800C36C4 -/* 0CB9A4 800CADA4 24070019 */ li $a3, 25 -.L800CADA8: -/* 0CB9A8 800CADA8 3C045101 */ lui $a0, (0x5101C00C >> 16) # lui $a0, 0x5101 -.L800CADAC: -/* 0CB9AC 800CADAC 0C0315BC */ jal func_800C56F0 -/* 0CB9B0 800CADB0 3484C00C */ ori $a0, (0x5101C00C & 0xFFFF) # ori $a0, $a0, 0xc00c -/* 0CB9B4 800CADB4 3C01800F */ lui $at, %hi(D_800EA168) # $at, 0x800f -/* 0CB9B8 800CADB8 A020A168 */ sb $zero, %lo(D_800EA168)($at) -.L800CADBC: -/* 0CB9BC 800CADBC 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CB9C0 800CADC0 03C0E825 */ move $sp, $fp -/* 0CB9C4 800CADC4 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CB9C8 800CADC8 03E00008 */ jr $ra -/* 0CB9CC 800CADCC 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CADD0 -/* 0CB9D0 800CADD0 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CB9D4 800CADD4 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CB9D8 800CADD8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CB9DC 800CADDC AFBE0030 */ sw $fp, 0x30($sp) -/* 0CB9E0 800CADE0 44856000 */ mtc1 $a1, $f12 -/* 0CB9E4 800CADE4 03A0F025 */ move $fp, $sp -/* 0CB9E8 800CADE8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0CB9EC 800CADEC AFA40038 */ sw $a0, 0x38($sp) -/* 0CB9F0 800CADF0 15C0002F */ bnez $t6, .L800CAEB0 -/* 0CB9F4 800CADF4 308600FF */ andi $a2, $a0, 0xff -/* 0CB9F8 800CADF8 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f -/* 0CB9FC 800CADFC 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14 -/* 0CBA00 800CAE00 00CF1821 */ addu $v1, $a2, $t7 -/* 0CBA04 800CAE04 90620000 */ lbu $v0, ($v1) -/* 0CBA08 800CAE08 24010002 */ li $at, 2 -/* 0CBA0C 800CAE0C 0006C880 */ sll $t9, $a2, 2 -/* 0CBA10 800CAE10 10400004 */ beqz $v0, .L800CAE24 -/* 0CBA14 800CAE14 3C08800F */ lui $t0, %hi(D_800EA110) # $t0, 0x800f -/* 0CBA18 800CAE18 14410025 */ bne $v0, $at, .L800CAEB0 -/* 0CBA1C 800CAE1C 24180001 */ li $t8, 1 -/* 0CBA20 800CAE20 A0780000 */ sb $t8, ($v1) -.L800CAE24: -/* 0CBA24 800CAE24 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CBA28 800CAE28 44810000 */ mtc1 $at, $f0 -/* 0CBA2C 800CAE2C 3C01800F */ lui $at, %hi(D_800F39A8) # $at, 0x800f -/* 0CBA30 800CAE30 C42439A8 */ lwc1 $f4, %lo(D_800F39A8)($at) -/* 0CBA34 800CAE34 3C01800F */ lui $at, %hi(D_800F39AC) # $at, 0x800f -/* 0CBA38 800CAE38 C42839AC */ lwc1 $f8, %lo(D_800F39AC)($at) -/* 0CBA3C 800CAE3C 46046182 */ mul.s $f6, $f12, $f4 -/* 0CBA40 800CAE40 00064900 */ sll $t1, $a2, 4 -/* 0CBA44 800CAE44 01264823 */ subu $t1, $t1, $a2 -/* 0CBA48 800CAE48 3C0A800F */ lui $t2, %hi(D_800E9F7C) # $t2, 0x800f -/* 0CBA4C 800CAE4C 254A9F7C */ addiu $t2, %lo(D_800E9F7C) # addiu $t2, $t2, -0x6084 -/* 0CBA50 800CAE50 00094880 */ sll $t1, $t1, 2 -/* 0CBA54 800CAE54 2508A110 */ addiu $t0, %lo(D_800EA110) # addiu $t0, $t0, -0x5ef0 -/* 0CBA58 800CAE58 46083300 */ add.s $f12, $f6, $f8 -/* 0CBA5C 800CAE5C 012A2821 */ addu $a1, $t1, $t2 -/* 0CBA60 800CAE60 3C041900 */ lui $a0, (0x1900A209 >> 16) # lui $a0, 0x1900 -/* 0CBA64 800CAE64 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0CBA68 800CAE68 460C003C */ c.lt.s $f0, $f12 -/* 0CBA6C 800CAE6C 03281021 */ addu $v0, $t9, $t0 -/* 0CBA70 800CAE70 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0CBA74 800CAE74 3484A209 */ ori $a0, (0x1900A209 & 0xFFFF) # ori $a0, $a0, 0xa209 -/* 0CBA78 800CAE78 45000002 */ bc1f .L800CAE84 -/* 0CBA7C 800CAE7C 24AB0014 */ addiu $t3, $a1, 0x14 -/* 0CBA80 800CAE80 46000306 */ mov.s $f12, $f0 -.L800CAE84: -/* 0CBA84 800CAE84 44800000 */ mtc1 $zero, $f0 -/* 0CBA88 800CAE88 00000000 */ nop -/* 0CBA8C 800CAE8C 4600603C */ c.lt.s $f12, $f0 -/* 0CBA90 800CAE90 00000000 */ nop -/* 0CBA94 800CAE94 45020003 */ bc1fl .L800CAEA4 -/* 0CBA98 800CAE98 E44C0000 */ swc1 $f12, ($v0) -/* 0CBA9C 800CAE9C 46000306 */ mov.s $f12, $f0 -/* 0CBAA0 800CAEA0 E44C0000 */ swc1 $f12, ($v0) -.L800CAEA4: -/* 0CBAA4 800CAEA4 AFA20010 */ sw $v0, 0x10($sp) -/* 0CBAA8 800CAEA8 0C031052 */ jal play_sound -/* 0CBAAC 800CAEAC AFAB0014 */ sw $t3, 0x14($sp) -.L800CAEB0: -/* 0CBAB0 800CAEB0 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CBAB4 800CAEB4 03C0E825 */ move $sp, $fp -/* 0CBAB8 800CAEB8 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CBABC 800CAEBC 03E00008 */ jr $ra -/* 0CBAC0 800CAEC0 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800CAEC4 -/* 0CBAC4 800CAEC4 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CBAC8 800CAEC8 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CBACC 800CAECC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CBAD0 800CAED0 AFBE0030 */ sw $fp, 0x30($sp) -/* 0CBAD4 800CAED4 44856000 */ mtc1 $a1, $f12 -/* 0CBAD8 800CAED8 03A0F025 */ move $fp, $sp -/* 0CBADC 800CAEDC AFBF0034 */ sw $ra, 0x34($sp) -/* 0CBAE0 800CAEE0 AFA40038 */ sw $a0, 0x38($sp) -/* 0CBAE4 800CAEE4 15C00031 */ bnez $t6, .L800CAFAC -/* 0CBAE8 800CAEE8 308600FF */ andi $a2, $a0, 0xff -/* 0CBAEC 800CAEEC 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f -/* 0CBAF0 800CAEF0 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14 -/* 0CBAF4 800CAEF4 00CF1821 */ addu $v1, $a2, $t7 -/* 0CBAF8 800CAEF8 90620000 */ lbu $v0, ($v1) -/* 0CBAFC 800CAEFC 24010002 */ li $at, 2 -/* 0CBB00 800CAF00 0006C880 */ sll $t9, $a2, 2 -/* 0CBB04 800CAF04 10400004 */ beqz $v0, .L800CAF18 -/* 0CBB08 800CAF08 3C08800F */ lui $t0, %hi(D_800EA120) # $t0, 0x800f -/* 0CBB0C 800CAF0C 14410027 */ bne $v0, $at, .L800CAFAC -/* 0CBB10 800CAF10 24180001 */ li $t8, 1 -/* 0CBB14 800CAF14 A0780000 */ sb $t8, ($v1) -.L800CAF18: -/* 0CBB18 800CAF18 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0CBB1C 800CAF1C 44810000 */ mtc1 $at, $f0 -/* 0CBB20 800CAF20 3C01800F */ lui $at, %hi(D_800F39B0) # $at, 0x800f -/* 0CBB24 800CAF24 C42439B0 */ lwc1 $f4, %lo(D_800F39B0)($at) -/* 0CBB28 800CAF28 3C01800F */ lui $at, %hi(D_800F39B4) # $at, 0x800f -/* 0CBB2C 800CAF2C C42839B4 */ lwc1 $f8, %lo(D_800F39B4)($at) -/* 0CBB30 800CAF30 46046182 */ mul.s $f6, $f12, $f4 -/* 0CBB34 800CAF34 00064900 */ sll $t1, $a2, 4 -/* 0CBB38 800CAF38 01264823 */ subu $t1, $t1, $a2 -/* 0CBB3C 800CAF3C 3C0A800F */ lui $t2, %hi(D_800E9F7C) # $t2, 0x800f -/* 0CBB40 800CAF40 2508A120 */ addiu $t0, %lo(D_800EA120) # addiu $t0, $t0, -0x5ee0 -/* 0CBB44 800CAF44 254A9F7C */ addiu $t2, %lo(D_800E9F7C) # addiu $t2, $t2, -0x6084 -/* 0CBB48 800CAF48 00094880 */ sll $t1, $t1, 2 -/* 0CBB4C 800CAF4C 46083300 */ add.s $f12, $f6, $f8 -/* 0CBB50 800CAF50 3C011900 */ lui $at, (0x19007020 >> 16) # lui $at, 0x1900 -/* 0CBB54 800CAF54 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f -/* 0CBB58 800CAF58 03281021 */ addu $v0, $t9, $t0 -/* 0CBB5C 800CAF5C 460C003C */ c.lt.s $f0, $f12 -/* 0CBB60 800CAF60 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c -/* 0CBB64 800CAF64 34217020 */ ori $at, (0x19007020 & 0xFFFF) # ori $at, $at, 0x7020 -/* 0CBB68 800CAF68 012A2821 */ addu $a1, $t1, $t2 -/* 0CBB6C 800CAF6C 45000002 */ bc1f .L800CAF78 -/* 0CBB70 800CAF70 3C04800E */ lui $a0, %hi(gCurrentCourseId) # $a0, 0x800e -/* 0CBB74 800CAF74 46000306 */ mov.s $f12, $f0 -.L800CAF78: -/* 0CBB78 800CAF78 44800000 */ mtc1 $zero, $f0 -/* 0CBB7C 800CAF7C 24AB0014 */ addiu $t3, $a1, 0x14 -/* 0CBB80 800CAF80 4600603C */ c.lt.s $f12, $f0 -/* 0CBB84 800CAF84 00000000 */ nop -/* 0CBB88 800CAF88 45020003 */ bc1fl .L800CAF98 -/* 0CBB8C 800CAF8C E44C0000 */ swc1 $f12, ($v0) -/* 0CBB90 800CAF90 46000306 */ mov.s $f12, $f0 -/* 0CBB94 800CAF94 E44C0000 */ swc1 $f12, ($v0) -.L800CAF98: -/* 0CBB98 800CAF98 8484C5A0 */ lh $a0, %lo(gCurrentCourseId)($a0) -/* 0CBB9C 800CAF9C AFA20010 */ sw $v0, 0x10($sp) -/* 0CBBA0 800CAFA0 AFAB0014 */ sw $t3, 0x14($sp) -/* 0CBBA4 800CAFA4 0C031052 */ jal play_sound -/* 0CBBA8 800CAFA8 00812021 */ addu $a0, $a0, $at -.L800CAFAC: -/* 0CBBAC 800CAFAC 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CBBB0 800CAFB0 03C0E825 */ move $sp, $fp -/* 0CBBB4 800CAFB4 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CBBB8 800CAFB8 03E00008 */ jr $ra -/* 0CBBBC 800CAFBC 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800CAFC0 -/* 0CBBC0 800CAFC0 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CBBC4 800CAFC4 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CBBC8 800CAFC8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CBBCC 800CAFCC AFBE0028 */ sw $fp, 0x28($sp) -/* 0CBBD0 800CAFD0 03A0F025 */ move $fp, $sp -/* 0CBBD4 800CAFD4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CBBD8 800CAFD8 15C0001D */ bnez $t6, .L800CB050 -/* 0CBBDC 800CAFDC AFA40030 */ sw $a0, 0x30($sp) -/* 0CBBE0 800CAFE0 93AF0033 */ lbu $t7, 0x33($sp) -/* 0CBBE4 800CAFE4 3C18800F */ lui $t8, %hi(D_800EA0EC) # $t8, 0x800f -/* 0CBBE8 800CAFE8 2718A0EC */ addiu $t8, %lo(D_800EA0EC) # addiu $t8, $t8, -0x5f14 -/* 0CBBEC 800CAFEC 01F81821 */ addu $v1, $t7, $t8 -/* 0CBBF0 800CAFF0 90620000 */ lbu $v0, ($v1) -/* 0CBBF4 800CAFF4 24010002 */ li $at, 2 -/* 0CBBF8 800CAFF8 00002025 */ move $a0, $zero -/* 0CBBFC 800CAFFC 10400004 */ beqz $v0, .L800CB010 -/* 0CBC00 800CB000 24050001 */ li $a1, 1 -/* 0CBC04 800CB004 14410012 */ bne $v0, $at, .L800CB050 -/* 0CBC08 800CB008 24190001 */ li $t9, 1 -/* 0CBC0C 800CB00C A0790000 */ sb $t9, ($v1) -.L800CB010: -/* 0CBC10 800CB010 24060055 */ li $a2, 85 -/* 0CBC14 800CB014 0C030DB1 */ jal func_800C36C4 -/* 0CBC18 800CB018 24070005 */ li $a3, 5 -/* 0CBC1C 800CB01C 3C051900 */ lui $a1, (0x19009E59 >> 16) # lui $a1, 0x1900 -/* 0CBC20 800CB020 34A59E59 */ ori $a1, (0x19009E59 & 0xFFFF) # ori $a1, $a1, 0x9e59 -/* 0CBC24 800CB024 0C032418 */ jal func_800C9060 -/* 0CBC28 800CB028 93C40033 */ lbu $a0, 0x33($fp) -/* 0CBC2C 800CB02C 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100 -/* 0CBC30 800CB030 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c -/* 0CBC34 800CB034 0C0323E0 */ jal func_800C8F80 -/* 0CBC38 800CB038 93C40033 */ lbu $a0, 0x33($fp) -/* 0CBC3C 800CB03C 93C90033 */ lbu $t1, 0x33($fp) -/* 0CBC40 800CB040 3C01800F */ lui $at, %hi(D_800EA170) -/* 0CBC44 800CB044 24080001 */ li $t0, 1 -/* 0CBC48 800CB048 00290821 */ addu $at, $at, $t1 -/* 0CBC4C 800CB04C A028A170 */ sb $t0, %lo(D_800EA170)($at) -.L800CB050: -/* 0CBC50 800CB050 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CBC54 800CB054 03C0E825 */ move $sp, $fp -/* 0CBC58 800CB058 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CBC5C 800CB05C 03E00008 */ jr $ra -/* 0CBC60 800CB060 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CB064 -/* 0CBC64 800CB064 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f -/* 0CBC68 800CB068 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6) -/* 0CBC6C 800CB06C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CBC70 800CB070 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CBC74 800CB074 03A0F025 */ move $fp, $sp -/* 0CBC78 800CB078 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CBC7C 800CB07C 15C00028 */ bnez $t6, .L800CB120 -/* 0CBC80 800CB080 AFA40038 */ sw $a0, 0x38($sp) -/* 0CBC84 800CB084 93AF003B */ lbu $t7, 0x3b($sp) -/* 0CBC88 800CB088 3C18800F */ lui $t8, %hi(D_800EA170) # $t8, 0x800f -/* 0CBC8C 800CB08C 2718A170 */ addiu $t8, %lo(D_800EA170) # addiu $t8, $t8, -0x5e90 -/* 0CBC90 800CB090 01F8C821 */ addu $t9, $t7, $t8 -/* 0CBC94 800CB094 AFB90034 */ sw $t9, 0x34($sp) -/* 0CBC98 800CB098 93280000 */ lbu $t0, ($t9) -/* 0CBC9C 800CB09C 24010001 */ li $at, 1 -/* 0CBCA0 800CB0A0 3C09800F */ lui $t1, %hi(D_800EA168) # $t1, 0x800f -/* 0CBCA4 800CB0A4 5501001F */ bnel $t0, $at, .L800CB124 -/* 0CBCA8 800CB0A8 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CBCAC 800CB0AC 9129A168 */ lbu $t1, %lo(D_800EA168)($t1) -/* 0CBCB0 800CB0B0 00002025 */ move $a0, $zero -/* 0CBCB4 800CB0B4 24050001 */ li $a1, 1 -/* 0CBCB8 800CB0B8 15200003 */ bnez $t1, .L800CB0C8 -/* 0CBCBC 800CB0BC 2406007F */ li $a2, 127 -/* 0CBCC0 800CB0C0 0C030DB1 */ jal func_800C36C4 -/* 0CBCC4 800CB0C4 24070019 */ li $a3, 25 -.L800CB0C8: -/* 0CBCC8 800CB0C8 93C4003B */ lbu $a0, 0x3b($fp) -/* 0CBCCC 800CB0CC 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0CBCD0 800CB0D0 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 -/* 0CBCD4 800CB0D4 000458C0 */ sll $t3, $a0, 3 -/* 0CBCD8 800CB0D8 01645823 */ subu $t3, $t3, $a0 -/* 0CBCDC 800CB0DC 000B5900 */ sll $t3, $t3, 4 -/* 0CBCE0 800CB0E0 01645823 */ subu $t3, $t3, $a0 -/* 0CBCE4 800CB0E4 000B5880 */ sll $t3, $t3, 2 -/* 0CBCE8 800CB0E8 01645823 */ subu $t3, $t3, $a0 -/* 0CBCEC 800CB0EC 000B58C0 */ sll $t3, $t3, 3 -/* 0CBCF0 800CB0F0 00AB2821 */ addu $a1, $a1, $t3 -/* 0CBCF4 800CB0F4 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0CBCF8 800CB0F8 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 -/* 0CBCFC 800CB0FC 00056100 */ sll $t4, $a1, 4 -/* 0CBD00 800CB100 0C03243D */ jal func_800C90F4 -/* 0CBD04 800CB104 01812821 */ addu $a1, $t4, $at -/* 0CBD08 800CB108 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100 -/* 0CBD0C 800CB10C 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c -/* 0CBD10 800CB110 0C032406 */ jal func_800C9018 -/* 0CBD14 800CB114 93C4003B */ lbu $a0, 0x3b($fp) -/* 0CBD18 800CB118 8FCD0034 */ lw $t5, 0x34($fp) -/* 0CBD1C 800CB11C A1A00000 */ sb $zero, ($t5) -.L800CB120: -/* 0CBD20 800CB120 8FDF002C */ lw $ra, 0x2c($fp) -.L800CB124: -/* 0CBD24 800CB124 03C0E825 */ move $sp, $fp -/* 0CBD28 800CB128 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CBD2C 800CB12C 03E00008 */ jr $ra -/* 0CBD30 800CB130 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800CB134 -/* 0CBD34 800CB134 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0CBD38 800CB138 240E0001 */ li $t6, 1 -/* 0CBD3C 800CB13C 3C01800F */ lui $at, %hi(D_800EA174) # $at, 0x800f -/* 0CBD40 800CB140 A42EA174 */ sh $t6, %lo(D_800EA174)($at) -/* 0CBD44 800CB144 03E00008 */ jr $ra -/* 0CBD48 800CB148 27BD0008 */ addiu $sp, $sp, 8 - -glabel func_800CB14C -/* 0CBD4C 800CB14C 3C04800F */ lui $a0, %hi(D_800EA174) # $a0, 0x800f -/* 0CBD50 800CB150 2484A174 */ addiu $a0, %lo(D_800EA174) # addiu $a0, $a0, -0x5e8c -/* 0CBD54 800CB154 94830000 */ lhu $v1, ($a0) -/* 0CBD58 800CB158 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0CBD5C 800CB15C AFBE0020 */ sw $fp, 0x20($sp) -/* 0CBD60 800CB160 03A0F025 */ move $fp, $sp -/* 0CBD64 800CB164 10600052 */ beqz $v1, .L800CB2B0 -/* 0CBD68 800CB168 AFBF0024 */ sw $ra, 0x24($sp) -/* 0CBD6C 800CB16C 246E0001 */ addiu $t6, $v1, 1 -/* 0CBD70 800CB170 31C2FFFF */ andi $v0, $t6, 0xffff -/* 0CBD74 800CB174 24010003 */ li $at, 3 -/* 0CBD78 800CB178 14410008 */ bne $v0, $at, .L800CB19C -/* 0CBD7C 800CB17C A48E0000 */ sh $t6, ($a0) -/* 0CBD80 800CB180 0C0323AB */ jal func_800C8EAC -/* 0CBD84 800CB184 2404001A */ li $a0, 26 -/* 0CBD88 800CB188 3C044000 */ lui $a0, (0x4000007F >> 16) # lui $a0, 0x4000 -/* 0CBD8C 800CB18C 0C030D12 */ jal func_800C3448 -/* 0CBD90 800CB190 3484007F */ ori $a0, (0x4000007F & 0xFFFF) # ori $a0, $a0, 0x7f -/* 0CBD94 800CB194 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f -/* 0CBD98 800CB198 9442A174 */ lhu $v0, %lo(D_800EA174)($v0) -.L800CB19C: -/* 0CBD9C 800CB19C 2401012C */ li $at, 300 -/* 0CBDA0 800CB1A0 5441000D */ bnel $v0, $at, .L800CB1D8 -/* 0CBDA4 800CB1A4 24010230 */ li $at, 560 -/* 0CBDA8 800CB1A8 0C0323AB */ jal func_800C8EAC -/* 0CBDAC 800CB1AC 2404001B */ li $a0, 27 -/* 0CBDB0 800CB1B0 3C044000 */ lui $a0, (0x4000007F >> 16) # lui $a0, 0x4000 -/* 0CBDB4 800CB1B4 0C030D12 */ jal func_800C3448 -/* 0CBDB8 800CB1B8 3484007F */ ori $a0, (0x4000007F & 0xFFFF) # ori $a0, $a0, 0x7f -/* 0CBDBC 800CB1BC 0C0323BE */ jal func_800C8EF8 -/* 0CBDC0 800CB1C0 2404001D */ li $a0, 29 -/* 0CBDC4 800CB1C4 0C030D12 */ jal func_800C3448 -/* 0CBDC8 800CB1C8 3C044100 */ lui $a0, 0x4100 -/* 0CBDCC 800CB1CC 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f -/* 0CBDD0 800CB1D0 9442A174 */ lhu $v0, %lo(D_800EA174)($v0) -/* 0CBDD4 800CB1D4 24010230 */ li $at, 560 -.L800CB1D8: -/* 0CBDD8 800CB1D8 5441000F */ bnel $v0, $at, .L800CB218 -/* 0CBDDC 800CB1DC 240102A8 */ li $at, 680 -/* 0CBDE0 800CB1E0 0C030D12 */ jal func_800C3448 -/* 0CBDE4 800CB1E4 3C044064 */ lui $a0, 0x4064 -/* 0CBDE8 800CB1E8 3C04B064 */ lui $a0, (0xB0640073 >> 16) # lui $a0, 0xb064 -/* 0CBDEC 800CB1EC 0C030D12 */ jal func_800C3448 -/* 0CBDF0 800CB1F0 34840073 */ ori $a0, (0xB0640073 & 0xFFFF) # ori $a0, $a0, 0x73 -/* 0CBDF4 800CB1F4 3C044150 */ lui $a0, (0x4150007F >> 16) # lui $a0, 0x4150 -/* 0CBDF8 800CB1F8 0C030D12 */ jal func_800C3448 -/* 0CBDFC 800CB1FC 3484007F */ ori $a0, (0x4150007F & 0xFFFF) # ori $a0, $a0, 0x7f -/* 0CBE00 800CB200 3C04B164 */ lui $a0, (0xB1640073 >> 16) # lui $a0, 0xb164 -/* 0CBE04 800CB204 0C030D12 */ jal func_800C3448 -/* 0CBE08 800CB208 34840073 */ ori $a0, (0xB1640073 & 0xFFFF) # ori $a0, $a0, 0x73 -/* 0CBE0C 800CB20C 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f -/* 0CBE10 800CB210 9442A174 */ lhu $v0, %lo(D_800EA174)($v0) -/* 0CBE14 800CB214 240102A8 */ li $at, 680 -.L800CB218: -/* 0CBE18 800CB218 14410005 */ bne $v0, $at, .L800CB230 -/* 0CBE1C 800CB21C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0CBE20 800CB220 0C030D12 */ jal func_800C3448 -/* 0CBE24 800CB224 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CBE28 800CB228 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f -/* 0CBE2C 800CB22C 9442A174 */ lhu $v0, %lo(D_800EA174)($v0) -.L800CB230: -/* 0CBE30 800CB230 2401041A */ li $at, 1050 -/* 0CBE34 800CB234 14410008 */ bne $v0, $at, .L800CB258 -/* 0CBE38 800CB238 3C04B150 */ lui $a0, (0xB1500001 >> 16) # lui $a0, 0xb150 -/* 0CBE3C 800CB23C 0C030D12 */ jal func_800C3448 -/* 0CBE40 800CB240 34840001 */ ori $a0, (0xB1500001 & 0xFFFF) # ori $a0, $a0, 1 -/* 0CBE44 800CB244 3C045150 */ lui $a0, (0x51500001 >> 16) # lui $a0, 0x5150 -/* 0CBE48 800CB248 0C030D12 */ jal func_800C3448 -/* 0CBE4C 800CB24C 34840001 */ ori $a0, (0x51500001 & 0xFFFF) # ori $a0, $a0, 1 -/* 0CBE50 800CB250 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f -/* 0CBE54 800CB254 9442A174 */ lhu $v0, %lo(D_800EA174)($v0) -.L800CB258: -/* 0CBE58 800CB258 2401046A */ li $at, 1130 -/* 0CBE5C 800CB25C 54410006 */ bnel $v0, $at, .L800CB278 -/* 0CBE60 800CB260 240104B0 */ li $at, 1200 -/* 0CBE64 800CB264 0C030D12 */ jal func_800C3448 -/* 0CBE68 800CB268 3C044132 */ lui $a0, 0x4132 -/* 0CBE6C 800CB26C 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f -/* 0CBE70 800CB270 9442A174 */ lhu $v0, %lo(D_800EA174)($v0) -/* 0CBE74 800CB274 240104B0 */ li $at, 1200 -.L800CB278: -/* 0CBE78 800CB278 14410005 */ bne $v0, $at, .L800CB290 -/* 0CBE7C 800CB27C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0CBE80 800CB280 0C030D12 */ jal func_800C3448 -/* 0CBE84 800CB284 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0CBE88 800CB288 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f -/* 0CBE8C 800CB28C 9442A174 */ lhu $v0, %lo(D_800EA174)($v0) -.L800CB290: -/* 0CBE90 800CB290 240104CE */ li $at, 1230 -/* 0CBE94 800CB294 54410007 */ bnel $v0, $at, .L800CB2B4 -/* 0CBE98 800CB298 8FDF0024 */ lw $ra, 0x24($fp) -/* 0CBE9C 800CB29C 0C0323AB */ jal func_800C8EAC -/* 0CBEA0 800CB2A0 24040014 */ li $a0, 20 -/* 0CBEA4 800CB2A4 3C044000 */ lui $a0, (0x4000007F >> 16) # lui $a0, 0x4000 -/* 0CBEA8 800CB2A8 0C030D12 */ jal func_800C3448 -/* 0CBEAC 800CB2AC 3484007F */ ori $a0, (0x4000007F & 0xFFFF) # ori $a0, $a0, 0x7f -.L800CB2B0: -/* 0CBEB0 800CB2B0 8FDF0024 */ lw $ra, 0x24($fp) -.L800CB2B4: -/* 0CBEB4 800CB2B4 03C0E825 */ move $sp, $fp -/* 0CBEB8 800CB2B8 8FDE0020 */ lw $fp, 0x20($fp) -/* 0CBEBC 800CB2BC 03E00008 */ jr $ra -/* 0CBEC0 800CB2C0 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_800CB2C4 -/* 0CBEC4 800CB2C4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0CBEC8 800CB2C8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0CBECC 800CB2CC AFBE0020 */ sw $fp, 0x20($sp) -/* 0CBED0 800CB2D0 0C0307E3 */ jal func_800C1F8C -/* 0CBED4 800CB2D4 03A0F025 */ move $fp, $sp -/* 0CBED8 800CB2D8 0C030DC9 */ jal func_800C3724 -/* 0CBEDC 800CB2DC 00000000 */ nop -/* 0CBEE0 800CB2E0 0C030D1E */ jal func_800C3478 -/* 0CBEE4 800CB2E4 00000000 */ nop -/* 0CBEE8 800CB2E8 0C031612 */ jal func_800C5848 -/* 0CBEEC 800CB2EC 00000000 */ nop -/* 0CBEF0 800CB2F0 0C031671 */ jal func_800C59C4 -/* 0CBEF4 800CB2F4 00000000 */ nop -/* 0CBEF8 800CB2F8 0C032333 */ jal func_800C8CCC -/* 0CBEFC 800CB2FC 00000000 */ nop -/* 0CBF00 800CB300 0C03089D */ jal func_800C2274 -/* 0CBF04 800CB304 00002025 */ move $a0, $zero -/* 0CBF08 800CB308 0C032F09 */ jal func_800CBC24 -/* 0CBF0C 800CB30C 00000000 */ nop -/* 0CBF10 800CB310 8FDF0024 */ lw $ra, 0x24($fp) -/* 0CBF14 800CB314 03C0E825 */ move $sp, $fp -/* 0CBF18 800CB318 8FDE0020 */ lw $fp, 0x20($fp) -/* 0CBF1C 800CB31C 03E00008 */ jr $ra -/* 0CBF20 800CB320 27BD0028 */ addiu $sp, $sp, 0x28 - -/* 0CBF24 800CB324 00000000 */ nop -/* 0CBF28 800CB328 00000000 */ nop -/* 0CBF2C 800CB32C 00000000 */ nop diff --git a/asm/audio/heap.s b/asm/audio/heap.s deleted file mode 100644 index bb247f868..000000000 --- a/asm/audio/heap.s +++ /dev/null @@ -1,2048 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.section .text, "ax" - -glabel func_800B8DE0 -/* 0B99E0 800B8DE0 3C03803B */ lui $v1, %hi(D_803B03C0) # $v1, 0x803b -/* 0B99E4 800B8DE4 3C02803B */ lui $v0, %hi(D_803B0400) # $v0, 0x803b -/* 0B99E8 800B8DE8 24420400 */ addiu $v0, %lo(D_803B0400) # addiu $v0, $v0, 0x400 -/* 0B99EC 800B8DEC 246303C0 */ addiu $v1, %lo(D_803B03C0) # addiu $v1, $v1, 0x3c0 -/* 0B99F0 800B8DF0 24040005 */ li $a0, 5 -/* 0B99F4 800B8DF4 906E0000 */ lbu $t6, ($v1) -.L800B8DF8: -/* 0B99F8 800B8DF8 508E0003 */ beql $a0, $t6, .L800B8E08 -/* 0B99FC 800B8DFC 24630001 */ addiu $v1, $v1, 1 -/* 0B9A00 800B8E00 A0600000 */ sb $zero, ($v1) -/* 0B9A04 800B8E04 24630001 */ addiu $v1, $v1, 1 -.L800B8E08: -/* 0B9A08 800B8E08 0062082B */ sltu $at, $v1, $v0 -/* 0B9A0C 800B8E0C 5420FFFA */ bnel $at, $zero, .L800B8DF8 -/* 0B9A10 800B8E10 906E0000 */ lbu $t6, ($v1) -/* 0B9A14 800B8E14 3C03803B */ lui $v1, %hi(D_803B0380) # $v1, 0x803b -/* 0B9A18 800B8E18 3C02803B */ lui $v0, %hi(D_803B03C0) # $v0, 0x803b -/* 0B9A1C 800B8E1C 244203C0 */ addiu $v0, %lo(D_803B03C0) # addiu $v0, $v0, 0x3c0 -/* 0B9A20 800B8E20 24630380 */ addiu $v1, %lo(D_803B0380) # addiu $v1, $v1, 0x380 -/* 0B9A24 800B8E24 906F0000 */ lbu $t7, ($v1) -.L800B8E28: -/* 0B9A28 800B8E28 508F0003 */ beql $a0, $t7, .L800B8E38 -/* 0B9A2C 800B8E2C 24630001 */ addiu $v1, $v1, 1 -/* 0B9A30 800B8E30 A0600000 */ sb $zero, ($v1) -/* 0B9A34 800B8E34 24630001 */ addiu $v1, $v1, 1 -.L800B8E38: -/* 0B9A38 800B8E38 0062082B */ sltu $at, $v1, $v0 -/* 0B9A3C 800B8E3C 5420FFFA */ bnel $at, $zero, .L800B8E28 -/* 0B9A40 800B8E40 906F0000 */ lbu $t7, ($v1) -/* 0B9A44 800B8E44 3C03803B */ lui $v1, %hi(D_803B0400) # $v1, 0x803b -/* 0B9A48 800B8E48 3C02803B */ lui $v0, %hi(D_803B0500) # $v0, 0x803b -/* 0B9A4C 800B8E4C 24420500 */ addiu $v0, %lo(D_803B0500) # addiu $v0, $v0, 0x500 -/* 0B9A50 800B8E50 24630400 */ addiu $v1, %lo(D_803B0400) # addiu $v1, $v1, 0x400 -/* 0B9A54 800B8E54 90780000 */ lbu $t8, ($v1) -.L800B8E58: -/* 0B9A58 800B8E58 50980003 */ beql $a0, $t8, .L800B8E68 -/* 0B9A5C 800B8E5C 90790001 */ lbu $t9, 1($v1) -/* 0B9A60 800B8E60 A0600000 */ sb $zero, ($v1) -/* 0B9A64 800B8E64 90790001 */ lbu $t9, 1($v1) -.L800B8E68: -/* 0B9A68 800B8E68 50990003 */ beql $a0, $t9, .L800B8E78 -/* 0B9A6C 800B8E6C 90680002 */ lbu $t0, 2($v1) -/* 0B9A70 800B8E70 A0600001 */ sb $zero, 1($v1) -/* 0B9A74 800B8E74 90680002 */ lbu $t0, 2($v1) -.L800B8E78: -/* 0B9A78 800B8E78 50880003 */ beql $a0, $t0, .L800B8E88 -/* 0B9A7C 800B8E7C 90690003 */ lbu $t1, 3($v1) -/* 0B9A80 800B8E80 A0600002 */ sb $zero, 2($v1) -/* 0B9A84 800B8E84 90690003 */ lbu $t1, 3($v1) -.L800B8E88: -/* 0B9A88 800B8E88 50890003 */ beql $a0, $t1, .L800B8E98 -/* 0B9A8C 800B8E8C 24630004 */ addiu $v1, $v1, 4 -/* 0B9A90 800B8E90 A0600003 */ sb $zero, 3($v1) -/* 0B9A94 800B8E94 24630004 */ addiu $v1, $v1, 4 -.L800B8E98: -/* 0B9A98 800B8E98 5462FFEF */ bnel $v1, $v0, .L800B8E58 -/* 0B9A9C 800B8E9C 90780000 */ lbu $t8, ($v1) -/* 0B9AA0 800B8EA0 03E00008 */ jr $ra -/* 0B9AA4 800B8EA4 00000000 */ nop - -glabel func_800B8EA8 -/* 0B9AA8 800B8EA8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0B9AAC 800B8EAC 3C02803B */ lui $v0, %hi(D_803B70B0) # $v0, 0x803b -/* 0B9AB0 800B8EB0 8C4270B0 */ lw $v0, %lo(D_803B70B0)($v0) -/* 0B9AB4 800B8EB4 AFB50028 */ sw $s5, 0x28($sp) -/* 0B9AB8 800B8EB8 AFB2001C */ sw $s2, 0x1c($sp) -/* 0B9ABC 800B8EBC 0080A825 */ move $s5, $a0 -/* 0B9AC0 800B8EC0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0B9AC4 800B8EC4 AFB40024 */ sw $s4, 0x24($sp) -/* 0B9AC8 800B8EC8 AFB30020 */ sw $s3, 0x20($sp) -/* 0B9ACC 800B8ECC AFB10018 */ sw $s1, 0x18($sp) -/* 0B9AD0 800B8ED0 AFB00014 */ sw $s0, 0x14($sp) -/* 0B9AD4 800B8ED4 18400024 */ blez $v0, .L800B8F68 -/* 0B9AD8 800B8ED8 00009025 */ move $s2, $zero -/* 0B9ADC 800B8EDC 3C14803B */ lui $s4, %hi(D_803B5FC8) # $s4, 0x803b -/* 0B9AE0 800B8EE0 3C13803B */ lui $s3, %hi(D_803B1508) # $s3, 0x803b -/* 0B9AE4 800B8EE4 26731508 */ addiu $s3, %lo(D_803B1508) # addiu $s3, $s3, 0x1508 -/* 0B9AE8 800B8EE8 26945FC8 */ addiu $s4, %lo(D_803B5FC8) # addiu $s4, $s4, 0x5fc8 -/* 0B9AEC 800B8EEC 00008825 */ move $s1, $zero -.L800B8EF0: -/* 0B9AF0 800B8EF0 8E6E0000 */ lw $t6, ($s3) -/* 0B9AF4 800B8EF4 022E8021 */ addu $s0, $s1, $t6 -/* 0B9AF8 800B8EF8 920F00B2 */ lbu $t7, 0xb2($s0) -/* 0B9AFC 800B8EFC 56AF0017 */ bnel $s5, $t7, .L800B8F5C -/* 0B9B00 800B8F00 26520001 */ addiu $s2, $s2, 1 -/* 0B9B04 800B8F04 92180030 */ lbu $t8, 0x30($s0) -/* 0B9B08 800B8F08 2B010002 */ slti $at, $t8, 2 -/* 0B9B0C 800B8F0C 14200009 */ bnez $at, .L800B8F34 -/* 0B9B10 800B8F10 00000000 */ nop -/* 0B9B14 800B8F14 8E020044 */ lw $v0, 0x44($s0) -/* 0B9B18 800B8F18 90590000 */ lbu $t9, ($v0) -/* 0B9B1C 800B8F1C 3328FF7F */ andi $t0, $t9, 0xff7f -/* 0B9B20 800B8F20 A0480000 */ sb $t0, ($v0) -/* 0B9B24 800B8F24 8E020044 */ lw $v0, 0x44($s0) -/* 0B9B28 800B8F28 904A0000 */ lbu $t2, ($v0) -/* 0B9B2C 800B8F2C 354B0040 */ ori $t3, $t2, 0x40 -/* 0B9B30 800B8F30 A04B0000 */ sb $t3, ($v0) -.L800B8F34: -/* 0B9B34 800B8F34 0C02F2D2 */ jal func_800BCB48 -/* 0B9B38 800B8F38 02002025 */ move $a0, $s0 -/* 0B9B3C 800B8F3C 0C02F5BD */ jal func_800BD6F4 -/* 0B9B40 800B8F40 02002025 */ move $a0, $s0 -/* 0B9B44 800B8F44 02802025 */ move $a0, $s4 -/* 0B9B48 800B8F48 0C02FC01 */ jal func_800BF004 -/* 0B9B4C 800B8F4C 02002825 */ move $a1, $s0 -/* 0B9B50 800B8F50 3C02803B */ lui $v0, %hi(D_803B70B0) # $v0, 0x803b -/* 0B9B54 800B8F54 8C4270B0 */ lw $v0, %lo(D_803B70B0)($v0) -/* 0B9B58 800B8F58 26520001 */ addiu $s2, $s2, 1 -.L800B8F5C: -/* 0B9B5C 800B8F5C 0242082A */ slt $at, $s2, $v0 -/* 0B9B60 800B8F60 1420FFE3 */ bnez $at, .L800B8EF0 -/* 0B9B64 800B8F64 263100C0 */ addiu $s1, $s1, 0xc0 -.L800B8F68: -/* 0B9B68 800B8F68 8FBF002C */ lw $ra, 0x2c($sp) -/* 0B9B6C 800B8F6C 8FB00014 */ lw $s0, 0x14($sp) -/* 0B9B70 800B8F70 8FB10018 */ lw $s1, 0x18($sp) -/* 0B9B74 800B8F74 8FB2001C */ lw $s2, 0x1c($sp) -/* 0B9B78 800B8F78 8FB30020 */ lw $s3, 0x20($sp) -/* 0B9B7C 800B8F7C 8FB40024 */ lw $s4, 0x24($sp) -/* 0B9B80 800B8F80 8FB50028 */ lw $s5, 0x28($sp) -/* 0B9B84 800B8F84 03E00008 */ jr $ra -/* 0B9B88 800B8F88 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800B8F8C -/* 0B9B8C 800B8F8C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0B9B90 800B8F90 AFB1001C */ sw $s1, 0x1c($sp) -/* 0B9B94 800B8F94 AFB00018 */ sw $s0, 0x18($sp) -/* 0B9B98 800B8F98 AFB20020 */ sw $s2, 0x20($sp) -/* 0B9B9C 800B8F9C 3C10803B */ lui $s0, %hi(D_803B1510) # $s0, 0x803b -/* 0B9BA0 800B8FA0 3C11803B */ lui $s1, %hi(D_803B1A30) # $s1, 0x803b -/* 0B9BA4 800B8FA4 00809025 */ move $s2, $a0 -/* 0B9BA8 800B8FA8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0B9BAC 800B8FAC 26311A30 */ addiu $s1, %lo(D_803B1A30) # addiu $s1, $s1, 0x1a30 -/* 0B9BB0 800B8FB0 26101510 */ addiu $s0, %lo(D_803B1510) # addiu $s0, $s0, 0x1510 -/* 0B9BB4 800B8FB4 8E0E0000 */ lw $t6, ($s0) -.L800B8FB8: -/* 0B9BB8 800B8FB8 000E7FC2 */ srl $t7, $t6, 0x1f -/* 0B9BBC 800B8FBC 51E00007 */ beql $t7, $zero, .L800B8FDC -/* 0B9BC0 800B8FC0 26100148 */ addiu $s0, $s0, 0x148 -/* 0B9BC4 800B8FC4 92180004 */ lbu $t8, 4($s0) -/* 0B9BC8 800B8FC8 56580004 */ bnel $s2, $t8, .L800B8FDC -/* 0B9BCC 800B8FCC 26100148 */ addiu $s0, $s0, 0x148 -/* 0B9BD0 800B8FD0 0C02FBCB */ jal func_800BEF2C -/* 0B9BD4 800B8FD4 02002025 */ move $a0, $s0 -/* 0B9BD8 800B8FD8 26100148 */ addiu $s0, $s0, 0x148 -.L800B8FDC: -/* 0B9BDC 800B8FDC 5611FFF6 */ bnel $s0, $s1, .L800B8FB8 -/* 0B9BE0 800B8FE0 8E0E0000 */ lw $t6, ($s0) -/* 0B9BE4 800B8FE4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B9BE8 800B8FE8 8FB00018 */ lw $s0, 0x18($sp) -/* 0B9BEC 800B8FEC 8FB1001C */ lw $s1, 0x1c($sp) -/* 0B9BF0 800B8FF0 8FB20020 */ lw $s2, 0x20($sp) -/* 0B9BF4 800B8FF4 03E00008 */ jr $ra -/* 0B9BF8 800B8FF8 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_800B8FFC -/* 0B9BFC 800B8FFC 8C860004 */ lw $a2, 4($a0) -/* 0B9C00 800B9000 8C8F0000 */ lw $t7, ($a0) -/* 0B9C04 800B9004 8C980008 */ lw $t8, 8($a0) -/* 0B9C08 800B9008 24A2000F */ addiu $v0, $a1, 0xf -/* 0B9C0C 800B900C 2401FFF0 */ li $at, -16 -/* 0B9C10 800B9010 00417024 */ and $t6, $v0, $at -/* 0B9C14 800B9014 00CE4021 */ addu $t0, $a2, $t6 -/* 0B9C18 800B9018 01F8C821 */ addu $t9, $t7, $t8 -/* 0B9C1C 800B901C 0328082B */ sltu $at, $t9, $t0 -/* 0B9C20 800B9020 1420000E */ bnez $at, .L800B905C -/* 0B9C24 800B9024 00C01825 */ move $v1, $a2 -/* 0B9C28 800B9028 00CE4821 */ addu $t1, $a2, $t6 -/* 0B9C2C 800B902C 00C9082B */ sltu $at, $a2, $t1 -/* 0B9C30 800B9030 AC890004 */ sw $t1, 4($a0) -/* 0B9C34 800B9034 1020000B */ beqz $at, .L800B9064 -/* 0B9C38 800B9038 00C02825 */ move $a1, $a2 -/* 0B9C3C 800B903C A0A00000 */ sb $zero, ($a1) -.L800B9040: -/* 0B9C40 800B9040 8C8B0004 */ lw $t3, 4($a0) -/* 0B9C44 800B9044 24A50001 */ addiu $a1, $a1, 1 -/* 0B9C48 800B9048 00AB082B */ sltu $at, $a1, $t3 -/* 0B9C4C 800B904C 5420FFFC */ bnel $at, $zero, .L800B9040 -/* 0B9C50 800B9050 A0A00000 */ sb $zero, ($a1) -/* 0B9C54 800B9054 10000004 */ b .L800B9068 -/* 0B9C58 800B9058 8C8C000C */ lw $t4, 0xc($a0) -.L800B905C: -/* 0B9C5C 800B905C 03E00008 */ jr $ra -/* 0B9C60 800B9060 00001025 */ move $v0, $zero - -.L800B9064: -/* 0B9C64 800B9064 8C8C000C */ lw $t4, 0xc($a0) -.L800B9068: -/* 0B9C68 800B9068 00601025 */ move $v0, $v1 -/* 0B9C6C 800B906C 258D0001 */ addiu $t5, $t4, 1 -/* 0B9C70 800B9070 AC8D000C */ sw $t5, 0xc($a0) -/* 0B9C74 800B9074 03E00008 */ jr $ra -/* 0B9C78 800B9078 00000000 */ nop - -glabel func_800B907C -/* 0B9C7C 800B907C 24A2000F */ addiu $v0, $a1, 0xf -/* 0B9C80 800B9080 2401FFF0 */ li $at, -16 -/* 0B9C84 800B9084 00417024 */ and $t6, $v0, $at -/* 0B9C88 800B9088 AC8E0000 */ sw $t6, ($a0) -/* 0B9C8C 800B908C AC8E0004 */ sw $t6, 4($a0) -/* 0B9C90 800B9090 AC860008 */ sw $a2, 8($a0) -/* 0B9C94 800B9094 03E00008 */ jr $ra -/* 0B9C98 800B9098 AC80000C */ sw $zero, 0xc($a0) - -glabel func_800B909C -/* 0B9C9C 800B909C 8C8E0004 */ lw $t6, 4($a0) -/* 0B9CA0 800B90A0 AC800010 */ sw $zero, 0x10($a0) -/* 0B9CA4 800B90A4 AC800000 */ sw $zero, ($a0) -/* 0B9CA8 800B90A8 03E00008 */ jr $ra -/* 0B9CAC 800B90AC AC8E0008 */ sw $t6, 8($a0) - -glabel func_800B90B0 -/* 0B9CB0 800B90B0 8C820004 */ lw $v0, 4($a0) -/* 0B9CB4 800B90B4 8C8E000C */ lw $t6, 0xc($a0) -/* 0B9CB8 800B90B8 2403FFFF */ li $v1, -1 -/* 0B9CBC 800B90BC AC800010 */ sw $zero, 0x10($a0) -/* 0B9CC0 800B90C0 004E7821 */ addu $t7, $v0, $t6 -/* 0B9CC4 800B90C4 AC800000 */ sw $zero, ($a0) -/* 0B9CC8 800B90C8 AC8F0020 */ sw $t7, 0x20($a0) -/* 0B9CCC 800B90CC A483001E */ sh $v1, 0x1e($a0) -/* 0B9CD0 800B90D0 A483002A */ sh $v1, 0x2a($a0) -/* 0B9CD4 800B90D4 AC820008 */ sw $v0, 8($a0) -/* 0B9CD8 800B90D8 03E00008 */ jr $ra -/* 0B9CDC 800B90DC AC820014 */ sw $v0, 0x14($a0) - -/* 0B9CE0 800B90E0 8C8E0000 */ lw $t6, ($a0) -/* 0B9CE4 800B90E4 AC80000C */ sw $zero, 0xc($a0) -/* 0B9CE8 800B90E8 03E00008 */ jr $ra -/* 0B9CEC 800B90EC AC8E0004 */ sw $t6, 4($a0) - -glabel func_800B90F0 -/* 0B9CF0 800B90F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B9CF4 800B90F4 00803025 */ move $a2, $a0 -/* 0B9CF8 800B90F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B9CFC 800B90FC 3C04803B */ lui $a0, %hi(D_803AFBD8) # $a0, 0x803b -/* 0B9D00 800B9100 3C05803B */ lui $a1, %hi(D_803B71B0) # $a1, 0x803b -/* 0B9D04 800B9104 24A571B0 */ addiu $a1, %lo(D_803B71B0) # addiu $a1, $a1, 0x71b0 -/* 0B9D08 800B9108 2484FBD8 */ addiu $a0, %lo(D_803AFBD8) # addiu $a0, $a0, -0x428 -/* 0B9D0C 800B910C 0C02E41F */ jal func_800B907C -/* 0B9D10 800B9110 AFA60018 */ sw $a2, 0x18($sp) -/* 0B9D14 800B9114 8FA70018 */ lw $a3, 0x18($sp) -/* 0B9D18 800B9118 3C0F800F */ lui $t7, %hi(D_800EA5D0) # $t7, 0x800f -/* 0B9D1C 800B911C 8DEFA5D0 */ lw $t7, %lo(D_800EA5D0)($t7) -/* 0B9D20 800B9120 3C0E803B */ lui $t6, %hi(D_803B71B0) # $t6, 0x803b -/* 0B9D24 800B9124 25CE71B0 */ addiu $t6, %lo(D_803B71B0) # addiu $t6, $t6, 0x71b0 -/* 0B9D28 800B9128 3C04803B */ lui $a0, %hi(D_803AFBC8) # $a0, 0x803b -/* 0B9D2C 800B912C 2484FBC8 */ addiu $a0, %lo(D_803AFBC8) # addiu $a0, $a0, -0x438 -/* 0B9D30 800B9130 00EE2821 */ addu $a1, $a3, $t6 -/* 0B9D34 800B9134 0C02E41F */ jal func_800B907C -/* 0B9D38 800B9138 01E73023 */ subu $a2, $t7, $a3 -/* 0B9D3C 800B913C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B9D40 800B9140 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B9D44 800B9144 03E00008 */ jr $ra -/* 0B9D48 800B9148 00000000 */ nop - -glabel func_800B914C -/* 0B9D4C 800B914C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B9D50 800B9150 AFA40018 */ sw $a0, 0x18($sp) -/* 0B9D54 800B9154 3C04803B */ lui $a0, %hi(D_803AFBC8) # $a0, 0x803b -/* 0B9D58 800B9158 2484FBC8 */ addiu $a0, %lo(D_803AFBC8) # addiu $a0, $a0, -0x438 -/* 0B9D5C 800B915C 8C8E0000 */ lw $t6, ($a0) -/* 0B9D60 800B9160 8FAF0018 */ lw $t7, 0x18($sp) -/* 0B9D64 800B9164 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B9D68 800B9168 AC8E0004 */ sw $t6, 4($a0) -/* 0B9D6C 800B916C 0C02E3FF */ jal func_800B8FFC -/* 0B9D70 800B9170 8DE50000 */ lw $a1, ($t7) -/* 0B9D74 800B9174 8FB80018 */ lw $t8, 0x18($sp) -/* 0B9D78 800B9178 3C04803B */ lui $a0, %hi(D_803AFBE8) # $a0, 0x803b -/* 0B9D7C 800B917C 2484FBE8 */ addiu $a0, %lo(D_803AFBE8) # addiu $a0, $a0, -0x418 -/* 0B9D80 800B9180 00402825 */ move $a1, $v0 -/* 0B9D84 800B9184 0C02E41F */ jal func_800B907C -/* 0B9D88 800B9188 8F060000 */ lw $a2, ($t8) -/* 0B9D8C 800B918C 8FB90018 */ lw $t9, 0x18($sp) -/* 0B9D90 800B9190 3C04803B */ lui $a0, %hi(D_803AFBC8) # $a0, 0x803b -/* 0B9D94 800B9194 2484FBC8 */ addiu $a0, %lo(D_803AFBC8) # addiu $a0, $a0, -0x438 -/* 0B9D98 800B9198 0C02E3FF */ jal func_800B8FFC -/* 0B9D9C 800B919C 8F25000C */ lw $a1, 0xc($t9) -/* 0B9DA0 800B91A0 8FA80018 */ lw $t0, 0x18($sp) -/* 0B9DA4 800B91A4 3C04803B */ lui $a0, %hi(D_803AFC18) # $a0, 0x803b -/* 0B9DA8 800B91A8 2484FC18 */ addiu $a0, %lo(D_803AFC18) # addiu $a0, $a0, -0x3e8 -/* 0B9DAC 800B91AC 00402825 */ move $a1, $v0 -/* 0B9DB0 800B91B0 0C02E41F */ jal func_800B907C -/* 0B9DB4 800B91B4 8D06000C */ lw $a2, 0xc($t0) -/* 0B9DB8 800B91B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B9DBC 800B91BC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B9DC0 800B91C0 03E00008 */ jr $ra -/* 0B9DC4 800B91C4 00000000 */ nop - -glabel func_800B91C8 -/* 0B9DC8 800B91C8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B9DCC 800B91CC AFA40018 */ sw $a0, 0x18($sp) -/* 0B9DD0 800B91D0 3C04803B */ lui $a0, %hi(D_803AFC18) # $a0, 0x803b -/* 0B9DD4 800B91D4 2484FC18 */ addiu $a0, %lo(D_803AFC18) # addiu $a0, $a0, -0x3e8 -/* 0B9DD8 800B91D8 8C8E0000 */ lw $t6, ($a0) -/* 0B9DDC 800B91DC 8FAF0018 */ lw $t7, 0x18($sp) -/* 0B9DE0 800B91E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B9DE4 800B91E4 AC8E0004 */ sw $t6, 4($a0) -/* 0B9DE8 800B91E8 0C02E3FF */ jal func_800B8FFC -/* 0B9DEC 800B91EC 8DE50000 */ lw $a1, ($t7) -/* 0B9DF0 800B91F0 8FB80018 */ lw $t8, 0x18($sp) -/* 0B9DF4 800B91F4 3C04803B */ lui $a0, %hi(D_803AFC28) # $a0, 0x803b -/* 0B9DF8 800B91F8 2484FC28 */ addiu $a0, %lo(D_803AFC28) # addiu $a0, $a0, -0x3d8 -/* 0B9DFC 800B91FC 00402825 */ move $a1, $v0 -/* 0B9E00 800B9200 0C02E41F */ jal func_800B907C -/* 0B9E04 800B9204 8F060000 */ lw $a2, ($t8) -/* 0B9E08 800B9208 8FB90018 */ lw $t9, 0x18($sp) -/* 0B9E0C 800B920C 3C04803B */ lui $a0, %hi(D_803AFC18) # $a0, 0x803b -/* 0B9E10 800B9210 2484FC18 */ addiu $a0, %lo(D_803AFC18) # addiu $a0, $a0, -0x3e8 -/* 0B9E14 800B9214 0C02E3FF */ jal func_800B8FFC -/* 0B9E18 800B9218 8F250004 */ lw $a1, 4($t9) -/* 0B9E1C 800B921C 8FA80018 */ lw $t0, 0x18($sp) -/* 0B9E20 800B9220 3C04803B */ lui $a0, %hi(D_803AFC38) # $a0, 0x803b -/* 0B9E24 800B9224 2484FC38 */ addiu $a0, %lo(D_803AFC38) # addiu $a0, $a0, -0x3c8 -/* 0B9E28 800B9228 00402825 */ move $a1, $v0 -/* 0B9E2C 800B922C 0C02E41F */ jal func_800B907C -/* 0B9E30 800B9230 8D060004 */ lw $a2, 4($t0) -/* 0B9E34 800B9234 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B9E38 800B9238 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B9E3C 800B923C 03E00008 */ jr $ra -/* 0B9E40 800B9240 00000000 */ nop - -glabel func_800B9244 -/* 0B9E44 800B9244 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B9E48 800B9248 AFB00018 */ sw $s0, 0x18($sp) -/* 0B9E4C 800B924C 00808025 */ move $s0, $a0 -/* 0B9E50 800B9250 3C04803B */ lui $a0, %hi(D_803AFC28) # $a0, 0x803b -/* 0B9E54 800B9254 2484FC28 */ addiu $a0, %lo(D_803AFC28) # addiu $a0, $a0, -0x3d8 -/* 0B9E58 800B9258 8C8E0000 */ lw $t6, ($a0) -/* 0B9E5C 800B925C AFBF001C */ sw $ra, 0x1c($sp) -/* 0B9E60 800B9260 AC8E0004 */ sw $t6, 4($a0) -/* 0B9E64 800B9264 0C02E3FF */ jal func_800B8FFC -/* 0B9E68 800B9268 8E050000 */ lw $a1, ($s0) -/* 0B9E6C 800B926C 3C04803B */ lui $a0, %hi(D_803AFC4C) # $a0, 0x803b -/* 0B9E70 800B9270 2484FC4C */ addiu $a0, %lo(D_803AFC4C) # addiu $a0, $a0, -0x3b4 -/* 0B9E74 800B9274 00402825 */ move $a1, $v0 -/* 0B9E78 800B9278 0C02E41F */ jal func_800B907C -/* 0B9E7C 800B927C 8E060000 */ lw $a2, ($s0) -/* 0B9E80 800B9280 3C04803B */ lui $a0, %hi(D_803AFC28) # $a0, 0x803b -/* 0B9E84 800B9284 2484FC28 */ addiu $a0, %lo(D_803AFC28) # addiu $a0, $a0, -0x3d8 -/* 0B9E88 800B9288 0C02E3FF */ jal func_800B8FFC -/* 0B9E8C 800B928C 8E050004 */ lw $a1, 4($s0) -/* 0B9E90 800B9290 3C04803B */ lui $a0, %hi(D_803AFE1C) # $a0, 0x803b -/* 0B9E94 800B9294 2484FE1C */ addiu $a0, %lo(D_803AFE1C) # addiu $a0, $a0, -0x1e4 -/* 0B9E98 800B9298 00402825 */ move $a1, $v0 -/* 0B9E9C 800B929C 0C02E41F */ jal func_800B907C -/* 0B9EA0 800B92A0 8E060004 */ lw $a2, 4($s0) -/* 0B9EA4 800B92A4 3C04803B */ lui $a0, %hi(D_803AFC28) # $a0, 0x803b -/* 0B9EA8 800B92A8 2484FC28 */ addiu $a0, %lo(D_803AFC28) # addiu $a0, $a0, -0x3d8 -/* 0B9EAC 800B92AC 0C02E3FF */ jal func_800B8FFC -/* 0B9EB0 800B92B0 8E050008 */ lw $a1, 8($s0) -/* 0B9EB4 800B92B4 3C04803B */ lui $a0, %hi(D_803AFFEC) # $a0, 0x803b -/* 0B9EB8 800B92B8 2484FFEC */ addiu $a0, %lo(D_803AFFEC) # addiu $a0, $a0, -0x14 -/* 0B9EBC 800B92BC 00402825 */ move $a1, $v0 -/* 0B9EC0 800B92C0 0C02E41F */ jal func_800B907C -/* 0B9EC4 800B92C4 8E060008 */ lw $a2, 8($s0) -/* 0B9EC8 800B92C8 3C04803B */ lui $a0, %hi(D_803AFC48) # $a0, 0x803b -/* 0B9ECC 800B92CC 0C02E427 */ jal func_800B909C -/* 0B9ED0 800B92D0 2484FC48 */ addiu $a0, %lo(D_803AFC48) # addiu $a0, $a0, -0x3b8 -/* 0B9ED4 800B92D4 3C04803B */ lui $a0, %hi(D_803AFE18) # $a0, 0x803b -/* 0B9ED8 800B92D8 0C02E427 */ jal func_800B909C -/* 0B9EDC 800B92DC 2484FE18 */ addiu $a0, %lo(D_803AFE18) # addiu $a0, $a0, -0x1e8 -/* 0B9EE0 800B92E0 3C04803B */ lui $a0, %hi(D_803AFFE8) # $a0, 0x803b -/* 0B9EE4 800B92E4 0C02E427 */ jal func_800B909C -/* 0B9EE8 800B92E8 2484FFE8 */ addiu $a0, %lo(D_803AFFE8) # addiu $a0, $a0, -0x18 -/* 0B9EEC 800B92EC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B9EF0 800B92F0 8FB00018 */ lw $s0, 0x18($sp) -/* 0B9EF4 800B92F4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B9EF8 800B92F8 03E00008 */ jr $ra -/* 0B9EFC 800B92FC 00000000 */ nop - -glabel func_800B9300 -/* 0B9F00 800B9300 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B9F04 800B9304 AFB00018 */ sw $s0, 0x18($sp) -/* 0B9F08 800B9308 00808025 */ move $s0, $a0 -/* 0B9F0C 800B930C 3C04803B */ lui $a0, %hi(D_803AFC38) # $a0, 0x803b -/* 0B9F10 800B9310 2484FC38 */ addiu $a0, %lo(D_803AFC38) # addiu $a0, $a0, -0x3c8 -/* 0B9F14 800B9314 8C8E0000 */ lw $t6, ($a0) -/* 0B9F18 800B9318 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B9F1C 800B931C AC8E0004 */ sw $t6, 4($a0) -/* 0B9F20 800B9320 0C02E3FF */ jal func_800B8FFC -/* 0B9F24 800B9324 8E050000 */ lw $a1, ($s0) -/* 0B9F28 800B9328 3C04803B */ lui $a0, %hi(D_803AFDE0) # $a0, 0x803b -/* 0B9F2C 800B932C 2484FDE0 */ addiu $a0, %lo(D_803AFDE0) # addiu $a0, $a0, -0x220 -/* 0B9F30 800B9330 00402825 */ move $a1, $v0 -/* 0B9F34 800B9334 0C02E41F */ jal func_800B907C -/* 0B9F38 800B9338 8E060000 */ lw $a2, ($s0) -/* 0B9F3C 800B933C 3C04803B */ lui $a0, %hi(D_803AFC38) # $a0, 0x803b -/* 0B9F40 800B9340 2484FC38 */ addiu $a0, %lo(D_803AFC38) # addiu $a0, $a0, -0x3c8 -/* 0B9F44 800B9344 0C02E3FF */ jal func_800B8FFC -/* 0B9F48 800B9348 8E050004 */ lw $a1, 4($s0) -/* 0B9F4C 800B934C 3C04803B */ lui $a0, %hi(D_803AFFB0) # $a0, 0x803b -/* 0B9F50 800B9350 2484FFB0 */ addiu $a0, %lo(D_803AFFB0) # addiu $a0, $a0, -0x50 -/* 0B9F54 800B9354 00402825 */ move $a1, $v0 -/* 0B9F58 800B9358 0C02E41F */ jal func_800B907C -/* 0B9F5C 800B935C 8E060004 */ lw $a2, 4($s0) -/* 0B9F60 800B9360 3C04803B */ lui $a0, %hi(D_803AFC38) # $a0, 0x803b -/* 0B9F64 800B9364 2484FC38 */ addiu $a0, %lo(D_803AFC38) # addiu $a0, $a0, -0x3c8 -/* 0B9F68 800B9368 0C02E3FF */ jal func_800B8FFC -/* 0B9F6C 800B936C 8E050008 */ lw $a1, 8($s0) -/* 0B9F70 800B9370 3C04803B */ lui $a0, %hi(D_803B0180) # $a0, 0x803b -/* 0B9F74 800B9374 24840180 */ addiu $a0, %lo(D_803B0180) # addiu $a0, $a0, 0x180 -/* 0B9F78 800B9378 00402825 */ move $a1, $v0 -/* 0B9F7C 800B937C 0C02E41F */ jal func_800B907C -/* 0B9F80 800B9380 8E060008 */ lw $a2, 8($s0) -/* 0B9F84 800B9384 3C04803B */ lui $a0, %hi(D_803AFDDC) # $a0, 0x803b -/* 0B9F88 800B9388 0C02E42C */ jal func_800B90B0 -/* 0B9F8C 800B938C 2484FDDC */ addiu $a0, %lo(D_803AFDDC) # addiu $a0, $a0, -0x224 -/* 0B9F90 800B9390 3C04803B */ lui $a0, %hi(D_803AFFAC) # $a0, 0x803b -/* 0B9F94 800B9394 0C02E42C */ jal func_800B90B0 -/* 0B9F98 800B9398 2484FFAC */ addiu $a0, %lo(D_803AFFAC) # addiu $a0, $a0, -0x54 -/* 0B9F9C 800B939C 3C04803B */ lui $a0, %hi(D_803B017C) # $a0, 0x803b -/* 0B9FA0 800B93A0 0C02E42C */ jal func_800B90B0 -/* 0B9FA4 800B93A4 2484017C */ addiu $a0, %lo(D_803B017C) # addiu $a0, $a0, 0x17c -/* 0B9FA8 800B93A8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B9FAC 800B93AC 8FB00018 */ lw $s0, 0x18($sp) -/* 0B9FB0 800B93B0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B9FB4 800B93B4 03E00008 */ jr $ra -/* 0B9FB8 800B93B8 00000000 */ nop - -glabel func_800B93BC -/* 0B9FBC 800B93BC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0B9FC0 800B93C0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B9FC4 800B93C4 AFB00018 */ sw $s0, 0x18($sp) -/* 0B9FC8 800B93C8 00808025 */ move $s0, $a0 -/* 0B9FCC 800B93CC 8FBF0060 */ lw $ra, 0x60($sp) -/* 0B9FD0 800B93D0 AFA50054 */ sw $a1, 0x54($sp) -/* 0B9FD4 800B93D4 AFA60058 */ sw $a2, 0x58($sp) -/* 0B9FD8 800B93D8 240D000C */ li $t5, 12 -/* 0B9FDC 800B93DC 240C0001 */ li $t4, 1 -/* 0B9FE0 800B93E0 24080002 */ li $t0, 2 -.L800B93E4: -/* 0B9FE4 800B93E4 14E00176 */ bnez $a3, .L800B99C0 -/* 0B9FE8 800B93E8 8FAE0054 */ lw $t6, 0x54($sp) -/* 0B9FEC 800B93EC 3C0E803B */ lui $t6, %hi(D_803AFC48) # $t6, 0x803b -/* 0B9FF0 800B93F0 25CEFC48 */ addiu $t6, %lo(D_803AFC48) # addiu $t6, $t6, -0x3b8 -/* 0B9FF4 800B93F4 160E0006 */ bne $s0, $t6, .L800B9410 -/* 0B9FF8 800B93F8 26070194 */ addiu $a3, $s0, 0x194 -/* 0B9FFC 800B93FC 3C0F803B */ lui $t7, %hi(D_803B0400) # $t7, 0x803b -/* 0BA000 800B9400 25EF0400 */ addiu $t7, %lo(D_803B0400) # addiu $t7, $t7, 0x400 -/* 0BA004 800B9404 AFAF0034 */ sw $t7, 0x34($sp) -/* 0BA008 800B9408 10000012 */ b .L800B9454 -/* 0BA00C 800B940C A3A00033 */ sb $zero, 0x33($sp) -.L800B9410: -/* 0BA010 800B9410 3C18803B */ lui $t8, %hi(D_803AFE18) # $t8, 0x803b -/* 0BA014 800B9414 2718FE18 */ addiu $t8, %lo(D_803AFE18) # addiu $t8, $t8, -0x1e8 -/* 0BA018 800B9418 16180007 */ bne $s0, $t8, .L800B9438 -/* 0BA01C 800B941C 3C0E803B */ lui $t6, %hi(D_803AFFE8) # $t6, 0x803b -/* 0BA020 800B9420 3C0B803B */ lui $t3, %hi(D_803B03C0) # $t3, 0x803b -/* 0BA024 800B9424 256B03C0 */ addiu $t3, %lo(D_803B03C0) # addiu $t3, $t3, 0x3c0 -/* 0BA028 800B9428 24190001 */ li $t9, 1 -/* 0BA02C 800B942C A3B90033 */ sb $t9, 0x33($sp) -/* 0BA030 800B9430 10000008 */ b .L800B9454 -/* 0BA034 800B9434 AFAB0034 */ sw $t3, 0x34($sp) -.L800B9438: -/* 0BA038 800B9438 25CEFFE8 */ addiu $t6, %lo(D_803AFFE8) # addiu $t6, $t6, -0x18 -/* 0BA03C 800B943C 160E0005 */ bne $s0, $t6, .L800B9454 -/* 0BA040 800B9440 3C0F803B */ lui $t7, %hi(D_803B0380) # $t7, 0x803b -/* 0BA044 800B9444 25EF0380 */ addiu $t7, %lo(D_803B0380) # addiu $t7, $t7, 0x380 -/* 0BA048 800B9448 24180002 */ li $t8, 2 -/* 0BA04C 800B944C A3B80033 */ sb $t8, 0x33($sp) -/* 0BA050 800B9450 AFAF0034 */ sw $t7, 0x34($sp) -.L800B9454: -/* 0BA054 800B9454 84E6001E */ lh $a2, 0x1e($a3) -/* 0BA058 800B9458 3C0B803B */ lui $t3, %hi(D_803B03C0) # $t3, 0x803b -/* 0BA05C 800B945C 2401FFFF */ li $at, -1 -/* 0BA060 800B9460 14C10003 */ bne $a2, $at, .L800B9470 -/* 0BA064 800B9464 256B03C0 */ addiu $t3, %lo(D_803B03C0) # addiu $t3, $t3, 0x3c0 -/* 0BA068 800B9468 10000004 */ b .L800B947C -/* 0BA06C 800B946C 00004825 */ move $t1, $zero -.L800B9470: -/* 0BA070 800B9470 8FB90034 */ lw $t9, 0x34($sp) -/* 0BA074 800B9474 00D97021 */ addu $t6, $a2, $t9 -/* 0BA078 800B9478 91C90000 */ lbu $t1, ($t6) -.L800B947C: -/* 0BA07C 800B947C 84E4002A */ lh $a0, 0x2a($a3) -/* 0BA080 800B9480 2401FFFF */ li $at, -1 -/* 0BA084 800B9484 8FAF0034 */ lw $t7, 0x34($sp) -/* 0BA088 800B9488 14810003 */ bne $a0, $at, .L800B9498 -/* 0BA08C 800B948C 93B90033 */ lbu $t9, 0x33($sp) -/* 0BA090 800B9490 10000003 */ b .L800B94A0 -/* 0BA094 800B9494 00005025 */ move $t2, $zero -.L800B9498: -/* 0BA098 800B9498 008FC021 */ addu $t8, $a0, $t7 -/* 0BA09C 800B949C 930A0000 */ lbu $t2, ($t8) -.L800B94A0: -/* 0BA0A0 800B94A0 1599003C */ bne $t4, $t9, .L800B9594 -/* 0BA0A4 800B94A4 AFB90020 */ sw $t9, 0x20($sp) -/* 0BA0A8 800B94A8 24040004 */ li $a0, 4 -/* 0BA0AC 800B94AC 1489001A */ bne $a0, $t1, .L800B9518 -/* 0BA0B0 800B94B0 3C05803B */ lui $a1, %hi(D_803B70B0) # $a1, 0x803b -/* 0BA0B4 800B94B4 8CA570B0 */ lw $a1, %lo(D_803B70B0)($a1) -/* 0BA0B8 800B94B8 00001825 */ move $v1, $zero -/* 0BA0BC 800B94BC 3C02803B */ lui $v0, %hi(D_803B1508) # $v0, 0x803b -/* 0BA0C0 800B94C0 18A0000D */ blez $a1, .L800B94F8 -/* 0BA0C4 800B94C4 00000000 */ nop -/* 0BA0C8 800B94C8 8C421508 */ lw $v0, %lo(D_803B1508)($v0) -.L800B94CC: -/* 0BA0CC 800B94CC 904E00B2 */ lbu $t6, 0xb2($v0) -/* 0BA0D0 800B94D0 55C60006 */ bnel $t6, $a2, .L800B94EC -/* 0BA0D4 800B94D4 24630001 */ addiu $v1, $v1, 1 -/* 0BA0D8 800B94D8 8C4F00B0 */ lw $t7, 0xb0($v0) -/* 0BA0DC 800B94DC 000FC7C2 */ srl $t8, $t7, 0x1f -/* 0BA0E0 800B94E0 17000005 */ bnez $t8, .L800B94F8 -/* 0BA0E4 800B94E4 00000000 */ nop -/* 0BA0E8 800B94E8 24630001 */ addiu $v1, $v1, 1 -.L800B94EC: -/* 0BA0EC 800B94EC 0065082A */ slt $at, $v1, $a1 -/* 0BA0F0 800B94F0 1420FFF6 */ bnez $at, .L800B94CC -/* 0BA0F4 800B94F4 244200C0 */ addiu $v0, $v0, 0xc0 -.L800B94F8: -/* 0BA0F8 800B94F8 14650007 */ bne $v1, $a1, .L800B9518 -/* 0BA0FC 800B94FC 01661021 */ addu $v0, $t3, $a2 -/* 0BA100 800B9500 90590000 */ lbu $t9, ($v0) -/* 0BA104 800B9504 24010005 */ li $at, 5 -/* 0BA108 800B9508 240E0003 */ li $t6, 3 -/* 0BA10C 800B950C 13210002 */ beq $t9, $at, .L800B9518 -/* 0BA110 800B9510 24090003 */ li $t1, 3 -/* 0BA114 800B9514 A04E0000 */ sb $t6, ($v0) -.L800B9518: -/* 0BA118 800B9518 148A001E */ bne $a0, $t2, .L800B9594 -/* 0BA11C 800B951C 3C05803B */ lui $a1, %hi(D_803B70B0) # $a1, 0x803b -/* 0BA120 800B9520 8CA570B0 */ lw $a1, %lo(D_803B70B0)($a1) -/* 0BA124 800B9524 00001825 */ move $v1, $zero -/* 0BA128 800B9528 3C02803B */ lui $v0, %hi(D_803B1508) # $v0, 0x803b -/* 0BA12C 800B952C 18A0000E */ blez $a1, .L800B9568 -/* 0BA130 800B9530 00000000 */ nop -/* 0BA134 800B9534 8C421508 */ lw $v0, %lo(D_803B1508)($v0) -/* 0BA138 800B9538 84E4002A */ lh $a0, 0x2a($a3) -.L800B953C: -/* 0BA13C 800B953C 904F00B2 */ lbu $t7, 0xb2($v0) -/* 0BA140 800B9540 55E40006 */ bnel $t7, $a0, .L800B955C -/* 0BA144 800B9544 24630001 */ addiu $v1, $v1, 1 -/* 0BA148 800B9548 8C5800B0 */ lw $t8, 0xb0($v0) -/* 0BA14C 800B954C 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0BA150 800B9550 17200005 */ bnez $t9, .L800B9568 -/* 0BA154 800B9554 00000000 */ nop -/* 0BA158 800B9558 24630001 */ addiu $v1, $v1, 1 -.L800B955C: -/* 0BA15C 800B955C 0065082A */ slt $at, $v1, $a1 -/* 0BA160 800B9560 1420FFF6 */ bnez $at, .L800B953C -/* 0BA164 800B9564 244200C0 */ addiu $v0, $v0, 0xc0 -.L800B9568: -/* 0BA168 800B9568 1465000A */ bne $v1, $a1, .L800B9594 -/* 0BA16C 800B956C 00000000 */ nop -/* 0BA170 800B9570 84EE002A */ lh $t6, 0x2a($a3) -/* 0BA174 800B9574 24010005 */ li $at, 5 -/* 0BA178 800B9578 24180003 */ li $t8, 3 -/* 0BA17C 800B957C 016E1021 */ addu $v0, $t3, $t6 -/* 0BA180 800B9580 904F0000 */ lbu $t7, ($v0) -/* 0BA184 800B9584 240A0003 */ li $t2, 3 -/* 0BA188 800B9588 11E10002 */ beq $t7, $at, .L800B9594 -/* 0BA18C 800B958C 00000000 */ nop -/* 0BA190 800B9590 A0580000 */ sb $t8, ($v0) -.L800B9594: -/* 0BA194 800B9594 15200004 */ bnez $t1, .L800B95A8 -/* 0BA198 800B9598 01205825 */ move $t3, $t1 -/* 0BA19C 800B959C ACE00000 */ sw $zero, ($a3) -/* 0BA1A0 800B95A0 1000008A */ b .L800B97CC -/* 0BA1A4 800B95A4 00001025 */ move $v0, $zero -.L800B95A8: -/* 0BA1A8 800B95A8 15400004 */ bnez $t2, .L800B95BC -/* 0BA1AC 800B95AC 01404825 */ move $t1, $t2 -/* 0BA1B0 800B95B0 24020001 */ li $v0, 1 -/* 0BA1B4 800B95B4 10000085 */ b .L800B97CC -/* 0BA1B8 800B95B8 ACE20000 */ sw $v0, ($a3) -.L800B95BC: -/* 0BA1BC 800B95BC 24020003 */ li $v0, 3 -/* 0BA1C0 800B95C0 144B0005 */ bne $v0, $t3, .L800B95D8 -/* 0BA1C4 800B95C4 00000000 */ nop -/* 0BA1C8 800B95C8 14490003 */ bne $v0, $t1, .L800B95D8 -/* 0BA1CC 800B95CC 00000000 */ nop -/* 0BA1D0 800B95D0 1000007E */ b .L800B97CC -/* 0BA1D4 800B95D4 8CE20000 */ lw $v0, ($a3) -.L800B95D8: -/* 0BA1D8 800B95D8 144B0004 */ bne $v0, $t3, .L800B95EC -/* 0BA1DC 800B95DC 00000000 */ nop -/* 0BA1E0 800B95E0 ACE00000 */ sw $zero, ($a3) -/* 0BA1E4 800B95E4 10000079 */ b .L800B97CC -/* 0BA1E8 800B95E8 00001025 */ move $v0, $zero -.L800B95EC: -/* 0BA1EC 800B95EC 14490004 */ bne $v0, $t1, .L800B9600 -/* 0BA1F0 800B95F0 8FAF0020 */ lw $t7, 0x20($sp) -/* 0BA1F4 800B95F4 24020001 */ li $v0, 1 -/* 0BA1F8 800B95F8 10000074 */ b .L800B97CC -/* 0BA1FC 800B95FC ACE20000 */ sw $v0, ($a3) -.L800B9600: -/* 0BA200 800B9600 55E0002F */ bnel $t7, $zero, .L800B96C0 -/* 0BA204 800B9604 8FAF0020 */ lw $t7, 0x20($sp) -/* 0BA208 800B9608 150B0016 */ bne $t0, $t3, .L800B9664 -/* 0BA20C 800B960C 3C02803B */ lui $v0, %hi(D_803B1510) # $v0, 0x803b -/* 0BA210 800B9610 3C03803B */ lui $v1, %hi(D_803B1A30) # $v1, 0x803b -/* 0BA214 800B9614 24631A30 */ addiu $v1, %lo(D_803B1A30) # addiu $v1, $v1, 0x1a30 -/* 0BA218 800B9618 24421510 */ addiu $v0, %lo(D_803B1510) # addiu $v0, $v0, 0x1510 -/* 0BA21C 800B961C 8C580000 */ lw $t8, ($v0) -.L800B9620: -/* 0BA220 800B9620 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0BA224 800B9624 53200006 */ beql $t9, $zero, .L800B9640 -/* 0BA228 800B9628 24420148 */ addiu $v0, $v0, 0x148 -/* 0BA22C 800B962C 904E0004 */ lbu $t6, 4($v0) -/* 0BA230 800B9630 84EF001E */ lh $t7, 0x1e($a3) -/* 0BA234 800B9634 11CF0004 */ beq $t6, $t7, .L800B9648 -/* 0BA238 800B9638 00000000 */ nop -/* 0BA23C 800B963C 24420148 */ addiu $v0, $v0, 0x148 -.L800B9640: -/* 0BA240 800B9640 5443FFF7 */ bnel $v0, $v1, .L800B9620 -/* 0BA244 800B9644 8C580000 */ lw $t8, ($v0) -.L800B9648: -/* 0BA248 800B9648 3C18803B */ lui $t8, %hi(D_803B1A30) # $t8, 0x803b -/* 0BA24C 800B964C 27181A30 */ addiu $t8, %lo(D_803B1A30) # addiu $t8, $t8, 0x1a30 -/* 0BA250 800B9650 14580004 */ bne $v0, $t8, .L800B9664 -/* 0BA254 800B9654 00000000 */ nop -/* 0BA258 800B9658 ACE00000 */ sw $zero, ($a3) -/* 0BA25C 800B965C 1000005B */ b .L800B97CC -/* 0BA260 800B9660 00001025 */ move $v0, $zero -.L800B9664: -/* 0BA264 800B9664 15090048 */ bne $t0, $t1, .L800B9788 -/* 0BA268 800B9668 3C02803B */ lui $v0, %hi(D_803B1510) # $v0, 0x803b -/* 0BA26C 800B966C 3C03803B */ lui $v1, %hi(D_803B1A30) # $v1, 0x803b -/* 0BA270 800B9670 24631A30 */ addiu $v1, %lo(D_803B1A30) # addiu $v1, $v1, 0x1a30 -/* 0BA274 800B9674 24421510 */ addiu $v0, %lo(D_803B1510) # addiu $v0, $v0, 0x1510 -/* 0BA278 800B9678 8C590000 */ lw $t9, ($v0) -.L800B967C: -/* 0BA27C 800B967C 001977C2 */ srl $t6, $t9, 0x1f -/* 0BA280 800B9680 51C00006 */ beql $t6, $zero, .L800B969C -/* 0BA284 800B9684 24420148 */ addiu $v0, $v0, 0x148 -/* 0BA288 800B9688 904F0004 */ lbu $t7, 4($v0) -/* 0BA28C 800B968C 84F8002A */ lh $t8, 0x2a($a3) -/* 0BA290 800B9690 11F80004 */ beq $t7, $t8, .L800B96A4 -/* 0BA294 800B9694 00000000 */ nop -/* 0BA298 800B9698 24420148 */ addiu $v0, $v0, 0x148 -.L800B969C: -/* 0BA29C 800B969C 5443FFF7 */ bnel $v0, $v1, .L800B967C -/* 0BA2A0 800B96A0 8C590000 */ lw $t9, ($v0) -.L800B96A4: -/* 0BA2A4 800B96A4 3C19803B */ lui $t9, %hi(D_803B1A30) # $t9, 0x803b -/* 0BA2A8 800B96A8 27391A30 */ addiu $t9, %lo(D_803B1A30) # addiu $t9, $t9, 0x1a30 -/* 0BA2AC 800B96AC 14590036 */ bne $v0, $t9, .L800B9788 -/* 0BA2B0 800B96B0 24020001 */ li $v0, 1 -/* 0BA2B4 800B96B4 10000045 */ b .L800B97CC -/* 0BA2B8 800B96B8 ACE20000 */ sw $v0, ($a3) -/* 0BA2BC 800B96BC 8FAF0020 */ lw $t7, 0x20($sp) -.L800B96C0: -/* 0BA2C0 800B96C0 558F0032 */ bnel $t4, $t7, .L800B978C -/* 0BA2C4 800B96C4 8CE20000 */ lw $v0, ($a3) -/* 0BA2C8 800B96C8 150B0017 */ bne $t0, $t3, .L800B9728 -/* 0BA2CC 800B96CC 3C05803B */ lui $a1, %hi(D_803B70B0) # $a1, 0x803b -/* 0BA2D0 800B96D0 8CA570B0 */ lw $a1, %lo(D_803B70B0)($a1) -/* 0BA2D4 800B96D4 00001825 */ move $v1, $zero -/* 0BA2D8 800B96D8 3C02803B */ lui $v0, %hi(D_803B1508) # $v0, 0x803b -/* 0BA2DC 800B96DC 18A0000E */ blez $a1, .L800B9718 -/* 0BA2E0 800B96E0 00000000 */ nop -/* 0BA2E4 800B96E4 8C421508 */ lw $v0, %lo(D_803B1508)($v0) -/* 0BA2E8 800B96E8 84E6001E */ lh $a2, 0x1e($a3) -.L800B96EC: -/* 0BA2EC 800B96EC 905800B2 */ lbu $t8, 0xb2($v0) -/* 0BA2F0 800B96F0 57060006 */ bnel $t8, $a2, .L800B970C -/* 0BA2F4 800B96F4 24630001 */ addiu $v1, $v1, 1 -/* 0BA2F8 800B96F8 8C5900B0 */ lw $t9, 0xb0($v0) -/* 0BA2FC 800B96FC 001977C2 */ srl $t6, $t9, 0x1f -/* 0BA300 800B9700 15C00005 */ bnez $t6, .L800B9718 -/* 0BA304 800B9704 00000000 */ nop -/* 0BA308 800B9708 24630001 */ addiu $v1, $v1, 1 -.L800B970C: -/* 0BA30C 800B970C 0065082A */ slt $at, $v1, $a1 -/* 0BA310 800B9710 1420FFF6 */ bnez $at, .L800B96EC -/* 0BA314 800B9714 244200C0 */ addiu $v0, $v0, 0xc0 -.L800B9718: -/* 0BA318 800B9718 14650003 */ bne $v1, $a1, .L800B9728 -/* 0BA31C 800B971C 00001025 */ move $v0, $zero -/* 0BA320 800B9720 1000002A */ b .L800B97CC -/* 0BA324 800B9724 ACE00000 */ sw $zero, ($a3) -.L800B9728: -/* 0BA328 800B9728 15090017 */ bne $t0, $t1, .L800B9788 -/* 0BA32C 800B972C 3C05803B */ lui $a1, %hi(D_803B70B0) # $a1, 0x803b -/* 0BA330 800B9730 8CA570B0 */ lw $a1, %lo(D_803B70B0)($a1) -/* 0BA334 800B9734 00001825 */ move $v1, $zero -/* 0BA338 800B9738 3C02803B */ lui $v0, %hi(D_803B1508) # $v0, 0x803b -/* 0BA33C 800B973C 18A0000E */ blez $a1, .L800B9778 -/* 0BA340 800B9740 00000000 */ nop -/* 0BA344 800B9744 8C421508 */ lw $v0, %lo(D_803B1508)($v0) -/* 0BA348 800B9748 84E4002A */ lh $a0, 0x2a($a3) -.L800B974C: -/* 0BA34C 800B974C 904F00B2 */ lbu $t7, 0xb2($v0) -/* 0BA350 800B9750 55E40006 */ bnel $t7, $a0, .L800B976C -/* 0BA354 800B9754 24630001 */ addiu $v1, $v1, 1 -/* 0BA358 800B9758 8C5800B0 */ lw $t8, 0xb0($v0) -/* 0BA35C 800B975C 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0BA360 800B9760 17200005 */ bnez $t9, .L800B9778 -/* 0BA364 800B9764 00000000 */ nop -/* 0BA368 800B9768 24630001 */ addiu $v1, $v1, 1 -.L800B976C: -/* 0BA36C 800B976C 0065082A */ slt $at, $v1, $a1 -/* 0BA370 800B9770 1420FFF6 */ bnez $at, .L800B974C -/* 0BA374 800B9774 244200C0 */ addiu $v0, $v0, 0xc0 -.L800B9778: -/* 0BA378 800B9778 14650003 */ bne $v1, $a1, .L800B9788 -/* 0BA37C 800B977C 24020001 */ li $v0, 1 -/* 0BA380 800B9780 10000012 */ b .L800B97CC -/* 0BA384 800B9784 ACE20000 */ sw $v0, ($a3) -.L800B9788: -/* 0BA388 800B9788 8CE20000 */ lw $v0, ($a3) -.L800B978C: -/* 0BA38C 800B978C 14400007 */ bnez $v0, .L800B97AC -/* 0BA390 800B9790 00000000 */ nop -/* 0BA394 800B9794 158B000D */ bne $t4, $t3, .L800B97CC -/* 0BA398 800B9798 00000000 */ nop -/* 0BA39C 800B979C 11890009 */ beq $t4, $t1, .L800B97C4 -/* 0BA3A0 800B97A0 24020001 */ li $v0, 1 -/* 0BA3A4 800B97A4 10000009 */ b .L800B97CC -/* 0BA3A8 800B97A8 ACE20000 */ sw $v0, ($a3) -.L800B97AC: -/* 0BA3AC 800B97AC 15890007 */ bne $t4, $t1, .L800B97CC -/* 0BA3B0 800B97B0 00000000 */ nop -/* 0BA3B4 800B97B4 118B0003 */ beq $t4, $t3, .L800B97C4 -/* 0BA3B8 800B97B8 00001025 */ move $v0, $zero -/* 0BA3BC 800B97BC 10000003 */ b .L800B97CC -/* 0BA3C0 800B97C0 ACE00000 */ sw $zero, ($a3) -.L800B97C4: -/* 0BA3C4 800B97C4 100000AD */ b .L800B9A7C -/* 0BA3C8 800B97C8 00001025 */ move $v0, $zero -.L800B97CC: -/* 0BA3CC 800B97CC 004D0019 */ multu $v0, $t5 -/* 0BA3D0 800B97D0 2401FFFF */ li $at, -1 -/* 0BA3D4 800B97D4 8FAE0034 */ lw $t6, 0x34($sp) -/* 0BA3D8 800B97D8 0000C012 */ mflo $t8 -/* 0BA3DC 800B97DC 00F8C821 */ addu $t9, $a3, $t8 -/* 0BA3E0 800B97E0 8723001E */ lh $v1, 0x1e($t9) -/* 0BA3E4 800B97E4 50610012 */ beql $v1, $at, .L800B9830 -/* 0BA3E8 800B97E8 8CE40000 */ lw $a0, ($a3) -/* 0BA3EC 800B97EC 8FA50020 */ lw $a1, 0x20($sp) -/* 0BA3F0 800B97F0 01C37821 */ addu $t7, $t6, $v1 -/* 0BA3F4 800B97F4 A1E00000 */ sb $zero, ($t7) -/* 0BA3F8 800B97F8 5585000D */ bnel $t4, $a1, .L800B9830 -/* 0BA3FC 800B97FC 8CE40000 */ lw $a0, ($a3) -/* 0BA400 800B9800 8CF80000 */ lw $t8, ($a3) -/* 0BA404 800B9804 030D0019 */ multu $t8, $t5 -/* 0BA408 800B9808 0000C812 */ mflo $t9 -/* 0BA40C 800B980C 00F97021 */ addu $t6, $a3, $t9 -/* 0BA410 800B9810 85C4001E */ lh $a0, 0x1e($t6) -/* 0BA414 800B9814 AFBF0060 */ sw $ra, 0x60($sp) -/* 0BA418 800B9818 0C02E3AA */ jal func_800B8EA8 -/* 0BA41C 800B981C AFA70028 */ sw $a3, 0x28($sp) -/* 0BA420 800B9820 8FA70028 */ lw $a3, 0x28($sp) -/* 0BA424 800B9824 240C0001 */ li $t4, 1 -/* 0BA428 800B9828 8FBF0060 */ lw $ra, 0x60($sp) -/* 0BA42C 800B982C 8CE40000 */ lw $a0, ($a3) -.L800B9830: -/* 0BA430 800B9830 8FA50020 */ lw $a1, 0x20($sp) -/* 0BA434 800B9834 24010001 */ li $at, 1 -/* 0BA438 800B9838 10800005 */ beqz $a0, .L800B9850 -/* 0BA43C 800B983C 26030198 */ addiu $v1, $s0, 0x198 -/* 0BA440 800B9840 10810032 */ beq $a0, $at, .L800B990C -/* 0BA444 800B9844 26030198 */ addiu $v1, $s0, 0x198 -/* 0BA448 800B9848 1000008C */ b .L800B9A7C -/* 0BA44C 800B984C 00001025 */ move $v0, $zero -.L800B9850: -/* 0BA450 800B9850 8C6F0000 */ lw $t7, ($v1) -/* 0BA454 800B9854 A4FF001E */ sh $ra, 0x1e($a3) -/* 0BA458 800B9858 ACEF0014 */ sw $t7, 0x14($a3) -/* 0BA45C 800B985C 8FB80058 */ lw $t8, 0x58($sp) -/* 0BA460 800B9860 ACF80018 */ sw $t8, 0x18($a3) -/* 0BA464 800B9864 8FAE0058 */ lw $t6, 0x58($sp) -/* 0BA468 800B9868 8C790000 */ lw $t9, ($v1) -/* 0BA46C 800B986C 032E1021 */ addu $v0, $t9, $t6 -/* 0BA470 800B9870 AC620004 */ sw $v0, 4($v1) -/* 0BA474 800B9874 8CEF0020 */ lw $t7, 0x20($a3) -/* 0BA478 800B9878 8FB80034 */ lw $t8, 0x34($sp) -/* 0BA47C 800B987C 01E2082B */ sltu $at, $t7, $v0 -/* 0BA480 800B9880 5020001D */ beql $at, $zero, .L800B98F8 -/* 0BA484 800B9884 8CE30014 */ lw $v1, 0x14($a3) -/* 0BA488 800B9888 84F9002A */ lh $t9, 0x2a($a3) -/* 0BA48C 800B988C 03197021 */ addu $t6, $t8, $t9 -/* 0BA490 800B9890 10A00005 */ beqz $a1, .L800B98A8 -/* 0BA494 800B9894 A1C00000 */ sb $zero, ($t6) -/* 0BA498 800B9898 50AC000B */ beql $a1, $t4, .L800B98C8 -/* 0BA49C 800B989C 84E4002A */ lh $a0, 0x2a($a3) -/* 0BA4A0 800B98A0 1000000F */ b .L800B98E0 -/* 0BA4A4 800B98A4 240FFFFF */ li $t7, -1 -.L800B98A8: -/* 0BA4A8 800B98A8 84E4002A */ lh $a0, 0x2a($a3) -/* 0BA4AC 800B98AC AFA70028 */ sw $a3, 0x28($sp) -/* 0BA4B0 800B98B0 0C02E3E3 */ jal func_800B8F8C -/* 0BA4B4 800B98B4 AFA30024 */ sw $v1, 0x24($sp) -/* 0BA4B8 800B98B8 8FA30024 */ lw $v1, 0x24($sp) -/* 0BA4BC 800B98BC 10000007 */ b .L800B98DC -/* 0BA4C0 800B98C0 8FA70028 */ lw $a3, 0x28($sp) -/* 0BA4C4 800B98C4 84E4002A */ lh $a0, 0x2a($a3) -.L800B98C8: -/* 0BA4C8 800B98C8 AFA70028 */ sw $a3, 0x28($sp) -/* 0BA4CC 800B98CC 0C02E3AA */ jal func_800B8EA8 -/* 0BA4D0 800B98D0 AFA30024 */ sw $v1, 0x24($sp) -/* 0BA4D4 800B98D4 8FA30024 */ lw $v1, 0x24($sp) -/* 0BA4D8 800B98D8 8FA70028 */ lw $a3, 0x28($sp) -.L800B98DC: -/* 0BA4DC 800B98DC 240FFFFF */ li $t7, -1 -.L800B98E0: -/* 0BA4E0 800B98E0 A4EF002A */ sh $t7, 0x2a($a3) -/* 0BA4E4 800B98E4 8C790008 */ lw $t9, 8($v1) -/* 0BA4E8 800B98E8 8C780000 */ lw $t8, ($v1) -/* 0BA4EC 800B98EC 03197021 */ addu $t6, $t8, $t9 -/* 0BA4F0 800B98F0 ACEE0020 */ sw $t6, 0x20($a3) -/* 0BA4F4 800B98F4 8CE30014 */ lw $v1, 0x14($a3) -.L800B98F8: -/* 0BA4F8 800B98F8 8CEF0000 */ lw $t7, ($a3) -/* 0BA4FC 800B98FC 00601025 */ move $v0, $v1 -/* 0BA500 800B9900 39F80001 */ xori $t8, $t7, 1 -/* 0BA504 800B9904 1000005D */ b .L800B9A7C -/* 0BA508 800B9908 ACF80000 */ sw $t8, ($a3) -.L800B990C: -/* 0BA50C 800B990C 8C790000 */ lw $t9, ($v1) -/* 0BA510 800B9910 8C6E0008 */ lw $t6, 8($v1) -/* 0BA514 800B9914 8FB80058 */ lw $t8, 0x58($sp) -/* 0BA518 800B9918 A4FF002A */ sh $ra, 0x2a($a3) -/* 0BA51C 800B991C 032E7821 */ addu $t7, $t9, $t6 -/* 0BA520 800B9920 01F8C823 */ subu $t9, $t7, $t8 -/* 0BA524 800B9924 2722FFF0 */ addiu $v0, $t9, -0x10 -/* 0BA528 800B9928 ACE20020 */ sw $v0, 0x20($a3) -/* 0BA52C 800B992C 8FAF0058 */ lw $t7, 0x58($sp) -/* 0BA530 800B9930 ACEF0024 */ sw $t7, 0x24($a3) -/* 0BA534 800B9934 8C780004 */ lw $t8, 4($v1) -/* 0BA538 800B9938 8FB90034 */ lw $t9, 0x34($sp) -/* 0BA53C 800B993C 0058082B */ sltu $at, $v0, $t8 -/* 0BA540 800B9940 1020001B */ beqz $at, .L800B99B0 -/* 0BA544 800B9944 00000000 */ nop -/* 0BA548 800B9948 84EE001E */ lh $t6, 0x1e($a3) -/* 0BA54C 800B994C 032E7821 */ addu $t7, $t9, $t6 -/* 0BA550 800B9950 10A00005 */ beqz $a1, .L800B9968 -/* 0BA554 800B9954 A1E00000 */ sb $zero, ($t7) -/* 0BA558 800B9958 50AC000B */ beql $a1, $t4, .L800B9988 -/* 0BA55C 800B995C 84E4001E */ lh $a0, 0x1e($a3) -/* 0BA560 800B9960 1000000F */ b .L800B99A0 -/* 0BA564 800B9964 2418FFFF */ li $t8, -1 -.L800B9968: -/* 0BA568 800B9968 84E4001E */ lh $a0, 0x1e($a3) -/* 0BA56C 800B996C AFA70028 */ sw $a3, 0x28($sp) -/* 0BA570 800B9970 0C02E3E3 */ jal func_800B8F8C -/* 0BA574 800B9974 AFA30024 */ sw $v1, 0x24($sp) -/* 0BA578 800B9978 8FA30024 */ lw $v1, 0x24($sp) -/* 0BA57C 800B997C 10000007 */ b .L800B999C -/* 0BA580 800B9980 8FA70028 */ lw $a3, 0x28($sp) -/* 0BA584 800B9984 84E4001E */ lh $a0, 0x1e($a3) -.L800B9988: -/* 0BA588 800B9988 AFA70028 */ sw $a3, 0x28($sp) -/* 0BA58C 800B998C 0C02E3AA */ jal func_800B8EA8 -/* 0BA590 800B9990 AFA30024 */ sw $v1, 0x24($sp) -/* 0BA594 800B9994 8FA30024 */ lw $v1, 0x24($sp) -/* 0BA598 800B9998 8FA70028 */ lw $a3, 0x28($sp) -.L800B999C: -/* 0BA59C 800B999C 2418FFFF */ li $t8, -1 -.L800B99A0: -/* 0BA5A0 800B99A0 A4F8001E */ sh $t8, 0x1e($a3) -/* 0BA5A4 800B99A4 8C790000 */ lw $t9, ($v1) -/* 0BA5A8 800B99A8 AC790004 */ sw $t9, 4($v1) -/* 0BA5AC 800B99AC 8CE20020 */ lw $v0, 0x20($a3) -.L800B99B0: -/* 0BA5B0 800B99B0 1000FFD1 */ b .L800B98F8 -/* 0BA5B4 800B99B4 00401825 */ move $v1, $v0 -/* 0BA5B8 800B99B8 10000030 */ b .L800B9A7C -/* 0BA5BC 800B99BC 00001025 */ move $v0, $zero -.L800B99C0: -/* 0BA5C0 800B99C0 8FAF0058 */ lw $t7, 0x58($sp) -/* 0BA5C4 800B99C4 AFBF0060 */ sw $ra, 0x60($sp) -/* 0BA5C8 800B99C8 26040004 */ addiu $a0, $s0, 4 -/* 0BA5CC 800B99CC 01CF0019 */ multu $t6, $t7 -/* 0BA5D0 800B99D0 AFA7005C */ sw $a3, 0x5c($sp) -/* 0BA5D4 800B99D4 00002812 */ mflo $a1 -/* 0BA5D8 800B99D8 0C02E3FF */ jal func_800B8FFC -/* 0BA5DC 800B99DC 00000000 */ nop -/* 0BA5E0 800B99E0 8E180000 */ lw $t8, ($s0) -/* 0BA5E4 800B99E4 240D000C */ li $t5, 12 -/* 0BA5E8 800B99E8 8FA7005C */ lw $a3, 0x5c($sp) -/* 0BA5EC 800B99EC 030D0019 */ multu $t8, $t5 -/* 0BA5F0 800B99F0 8FBF0060 */ lw $ra, 0x60($sp) -/* 0BA5F4 800B99F4 24080002 */ li $t0, 2 -/* 0BA5F8 800B99F8 240C0001 */ li $t4, 1 -/* 0BA5FC 800B99FC 0000C812 */ mflo $t9 -/* 0BA600 800B9A00 02197021 */ addu $t6, $s0, $t9 -/* 0BA604 800B9A04 1440000B */ bnez $v0, .L800B9A34 -/* 0BA608 800B9A08 ADC20014 */ sw $v0, 0x14($t6) -/* 0BA60C 800B9A0C 10E00007 */ beqz $a3, .L800B9A2C -/* 0BA610 800B9A10 00000000 */ nop -/* 0BA614 800B9A14 10EC0005 */ beq $a3, $t4, .L800B9A2C -/* 0BA618 800B9A18 00000000 */ nop -/* 0BA61C 800B9A1C 54E80006 */ bnel $a3, $t0, .L800B9A38 -/* 0BA620 800B9A20 8E0F0000 */ lw $t7, ($s0) -/* 0BA624 800B9A24 1000FE6F */ b .L800B93E4 -/* 0BA628 800B9A28 00003825 */ move $a3, $zero -.L800B9A2C: -/* 0BA62C 800B9A2C 10000013 */ b .L800B9A7C -/* 0BA630 800B9A30 00001025 */ move $v0, $zero -.L800B9A34: -/* 0BA634 800B9A34 8E0F0000 */ lw $t7, ($s0) -.L800B9A38: -/* 0BA638 800B9A38 01ED0019 */ multu $t7, $t5 -/* 0BA63C 800B9A3C 0000C012 */ mflo $t8 -/* 0BA640 800B9A40 0218C821 */ addu $t9, $s0, $t8 -/* 0BA644 800B9A44 A73F001E */ sh $ra, 0x1e($t9) -/* 0BA648 800B9A48 8E0F0000 */ lw $t7, ($s0) -/* 0BA64C 800B9A4C 8FAE0058 */ lw $t6, 0x58($sp) -/* 0BA650 800B9A50 01ED0019 */ multu $t7, $t5 -/* 0BA654 800B9A54 0000C012 */ mflo $t8 -/* 0BA658 800B9A58 0218C821 */ addu $t9, $s0, $t8 -/* 0BA65C 800B9A5C AF2E0018 */ sw $t6, 0x18($t9) -/* 0BA660 800B9A60 8E030000 */ lw $v1, ($s0) -/* 0BA664 800B9A64 006D0019 */ multu $v1, $t5 -/* 0BA668 800B9A68 246E0001 */ addiu $t6, $v1, 1 -/* 0BA66C 800B9A6C 00007812 */ mflo $t7 -/* 0BA670 800B9A70 020FC021 */ addu $t8, $s0, $t7 -/* 0BA674 800B9A74 8F020014 */ lw $v0, 0x14($t8) -/* 0BA678 800B9A78 AE0E0000 */ sw $t6, ($s0) -.L800B9A7C: -/* 0BA67C 800B9A7C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BA680 800B9A80 8FB00018 */ lw $s0, 0x18($sp) -/* 0BA684 800B9A84 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0BA688 800B9A88 03E00008 */ jr $ra -/* 0BA68C 800B9A8C 00000000 */ nop - -glabel func_800B9A90 -/* 0BA690 800B9A90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BA694 800B9A94 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BA698 800B9A98 AFA5001C */ sw $a1, 0x1c($sp) -/* 0BA69C 800B9A9C AFA40018 */ sw $a0, 0x18($sp) -/* 0BA6A0 800B9AA0 AFA60020 */ sw $a2, 0x20($sp) -/* 0BA6A4 800B9AA4 0C02EA16 */ jal func_800BA858 -/* 0BA6A8 800B9AA8 00C02825 */ move $a1, $a2 -/* 0BA6AC 800B9AAC 10400003 */ beqz $v0, .L800B9ABC -/* 0BA6B0 800B9AB0 8FA40018 */ lw $a0, 0x18($sp) -/* 0BA6B4 800B9AB4 10000005 */ b .L800B9ACC -/* 0BA6B8 800B9AB8 8FBF0014 */ lw $ra, 0x14($sp) -.L800B9ABC: -/* 0BA6BC 800B9ABC 8FA5001C */ lw $a1, 0x1c($sp) -/* 0BA6C0 800B9AC0 0C02E6B6 */ jal func_800B9AD8 -/* 0BA6C4 800B9AC4 8FA60020 */ lw $a2, 0x20($sp) -/* 0BA6C8 800B9AC8 8FBF0014 */ lw $ra, 0x14($sp) -.L800B9ACC: -/* 0BA6CC 800B9ACC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BA6D0 800B9AD0 03E00008 */ jr $ra -/* 0BA6D4 800B9AD4 00000000 */ nop - -glabel func_800B9AD8 -/* 0BA6D8 800B9AD8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BA6DC 800B9ADC AFBF0014 */ sw $ra, 0x14($sp) -/* 0BA6E0 800B9AE0 AFA50024 */ sw $a1, 0x24($sp) -/* 0BA6E4 800B9AE4 10800009 */ beqz $a0, .L800B9B0C -/* 0BA6E8 800B9AE8 00803825 */ move $a3, $a0 -/* 0BA6EC 800B9AEC 24010001 */ li $at, 1 -/* 0BA6F0 800B9AF0 10810009 */ beq $a0, $at, .L800B9B18 -/* 0BA6F4 800B9AF4 3C05803B */ lui $a1, %hi(D_803AFE18) # 0x803b -/* 0BA6F8 800B9AF8 24010002 */ li $at, 2 -/* 0BA6FC 800B9AFC 10810008 */ beq $a0, $at, .L800B9B20 -/* 0BA700 800B9B00 3C05803B */ lui $a1, %hi(D_803AFFE8) # 0x803b -/* 0BA704 800B9B04 10000007 */ b .L800B9B24 -/* 0BA708 800B9B08 8FA50018 */ lw $a1, 0x18($sp) -.L800B9B0C: -/* 0BA70C 800B9B0C 3C05803B */ lui $a1, %hi(D_803AFC48) # $a1, 0x803b -/* 0BA710 800B9B10 10000004 */ b .L800B9B24 -/* 0BA714 800B9B14 24A5FC48 */ addiu $a1, %lo(D_803AFC48) # addiu $a1, $a1, -0x3b8 -.L800B9B18: -/* 0BA718 800B9B18 10000002 */ b .L800B9B24 -/* 0BA71C 800B9B1C 24A5FE18 */ addiu $a1, $a1, %lo(D_803AFE18) # -0x1e8 -.L800B9B20: -/* 0BA720 800B9B20 24A5FFE8 */ addiu $a1, $a1, %lo(D_803AFFE8) # -0x18 -.L800B9B24: -/* 0BA724 800B9B24 8FAE0024 */ lw $t6, 0x24($sp) -/* 0BA728 800B9B28 24A30194 */ addiu $v1, $a1, 0x194 -/* 0BA72C 800B9B2C 55C00011 */ bnel $t6, $zero, .L800B9B74 -/* 0BA730 800B9B30 8CA80000 */ lw $t0, ($a1) -/* 0BA734 800B9B34 846F001E */ lh $t7, 0x1e($v1) -/* 0BA738 800B9B38 24180001 */ li $t8, 1 -/* 0BA73C 800B9B3C 54CF0005 */ bnel $a2, $t7, .L800B9B54 -/* 0BA740 800B9B40 8479002A */ lh $t9, 0x2a($v1) -/* 0BA744 800B9B44 AC780000 */ sw $t8, ($v1) -/* 0BA748 800B9B48 10000022 */ b .L800B9BD4 -/* 0BA74C 800B9B4C 8C620014 */ lw $v0, 0x14($v1) -/* 0BA750 800B9B50 8479002A */ lh $t9, 0x2a($v1) -.L800B9B54: -/* 0BA754 800B9B54 14D90004 */ bne $a2, $t9, .L800B9B68 -/* 0BA758 800B9B58 00000000 */ nop -/* 0BA75C 800B9B5C AC600000 */ sw $zero, ($v1) -/* 0BA760 800B9B60 1000001C */ b .L800B9BD4 -/* 0BA764 800B9B64 8C620020 */ lw $v0, 0x20($v1) -.L800B9B68: -/* 0BA768 800B9B68 1000001A */ b .L800B9BD4 -/* 0BA76C 800B9B6C 00001025 */ move $v0, $zero -/* 0BA770 800B9B70 8CA80000 */ lw $t0, ($a1) -.L800B9B74: -/* 0BA774 800B9B74 00A02025 */ move $a0, $a1 -/* 0BA778 800B9B78 00001025 */ move $v0, $zero -/* 0BA77C 800B9B7C 1100000C */ beqz $t0, .L800B9BB0 -/* 0BA780 800B9B80 00A01825 */ move $v1, $a1 -/* 0BA784 800B9B84 8469001E */ lh $t1, 0x1e($v1) -.L800B9B88: -/* 0BA788 800B9B88 54C90004 */ bnel $a2, $t1, .L800B9B9C -/* 0BA78C 800B9B8C 8C8A0000 */ lw $t2, ($a0) -/* 0BA790 800B9B90 10000010 */ b .L800B9BD4 -/* 0BA794 800B9B94 8C620014 */ lw $v0, 0x14($v1) -/* 0BA798 800B9B98 8C8A0000 */ lw $t2, ($a0) -.L800B9B9C: -/* 0BA79C 800B9B9C 24420001 */ addiu $v0, $v0, 1 -/* 0BA7A0 800B9BA0 2463000C */ addiu $v1, $v1, 0xc -/* 0BA7A4 800B9BA4 004A082B */ sltu $at, $v0, $t2 -/* 0BA7A8 800B9BA8 5420FFF7 */ bnel $at, $zero, .L800B9B88 -/* 0BA7AC 800B9BAC 8469001E */ lh $t1, 0x1e($v1) -.L800B9BB0: -/* 0BA7B0 800B9BB0 8FAB0024 */ lw $t3, 0x24($sp) -/* 0BA7B4 800B9BB4 24010002 */ li $at, 2 -/* 0BA7B8 800B9BB8 00E02025 */ move $a0, $a3 -/* 0BA7BC 800B9BBC 15610005 */ bne $t3, $at, .L800B9BD4 -/* 0BA7C0 800B9BC0 00001025 */ move $v0, $zero -/* 0BA7C4 800B9BC4 0C02E6A4 */ jal func_800B9A90 -/* 0BA7C8 800B9BC8 00002825 */ move $a1, $zero -/* 0BA7CC 800B9BCC 10000002 */ b .L800B9BD8 -/* 0BA7D0 800B9BD0 8FBF0014 */ lw $ra, 0x14($sp) -.L800B9BD4: -/* 0BA7D4 800B9BD4 8FBF0014 */ lw $ra, 0x14($sp) -.L800B9BD8: -/* 0BA7D8 800B9BD8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BA7DC 800B9BDC 03E00008 */ jr $ra -/* 0BA7E0 800B9BE0 00000000 */ nop - -/* 0BA7E4 800B9BE4 3C01800F */ lui $at, %hi(D_800F2E80) # $at, 0x800f -/* 0BA7E8 800B9BE8 C4202E80 */ lwc1 $f0, %lo(D_800F2E80)($at) -/* 0BA7EC 800B9BEC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0BA7F0 800B9BF0 27A40014 */ addiu $a0, $sp, 0x14 -/* 0BA7F4 800B9BF4 46007102 */ mul.s $f4, $f14, $f0 -/* 0BA7F8 800B9BF8 27A2002C */ addiu $v0, $sp, 0x2c -/* 0BA7FC 800B9BFC 24C30004 */ addiu $v1, $a2, 4 -/* 0BA800 800B9C00 46006182 */ mul.s $f6, $f12, $f0 -/* 0BA804 800B9C04 00000000 */ nop -/* 0BA808 800B9C08 460C7202 */ mul.s $f8, $f14, $f12 -/* 0BA80C 800B9C0C E7A4000C */ swc1 $f4, 0xc($sp) -/* 0BA810 800B9C10 E7A6002C */ swc1 $f6, 0x2c($sp) -/* 0BA814 800B9C14 46004282 */ mul.s $f10, $f8, $f0 -/* 0BA818 800B9C18 00000000 */ nop -/* 0BA81C 800B9C1C 460C6402 */ mul.s $f16, $f12, $f12 -/* 0BA820 800B9C20 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0BA824 800B9C24 460E8480 */ add.s $f18, $f16, $f14 -/* 0BA828 800B9C28 46009102 */ mul.s $f4, $f18, $f0 -/* 0BA82C 800B9C2C E7A40030 */ swc1 $f4, 0x30($sp) -.L800B9C30: -/* 0BA830 800B9C30 C486FFFC */ lwc1 $f6, -4($a0) -/* 0BA834 800B9C34 C48AFFF8 */ lwc1 $f10, -8($a0) -/* 0BA838 800B9C38 240F0001 */ li $t7, 1 -/* 0BA83C 800B9C3C 460C3202 */ mul.s $f8, $f6, $f12 -/* 0BA840 800B9C40 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0BA844 800B9C44 460A7402 */ mul.s $f16, $f14, $f10 -/* 0BA848 800B9C48 46104480 */ add.s $f18, $f8, $f16 -/* 0BA84C 800B9C4C 444EF800 */ cfc1 $t6, $31 -/* 0BA850 800B9C50 44CFF800 */ ctc1 $t7, $31 -/* 0BA854 800B9C54 00000000 */ nop -/* 0BA858 800B9C58 46009124 */ cvt.w.s $f4, $f18 -/* 0BA85C 800B9C5C 444FF800 */ cfc1 $t7, $31 -/* 0BA860 800B9C60 00000000 */ nop -/* 0BA864 800B9C64 31EF0078 */ andi $t7, $t7, 0x78 -/* 0BA868 800B9C68 51E00013 */ beql $t7, $zero, .L800B9CB8 -/* 0BA86C 800B9C6C 440F2000 */ mfc1 $t7, $f4 -/* 0BA870 800B9C70 44812000 */ mtc1 $at, $f4 -/* 0BA874 800B9C74 240F0001 */ li $t7, 1 -/* 0BA878 800B9C78 46049101 */ sub.s $f4, $f18, $f4 -/* 0BA87C 800B9C7C 44CFF800 */ ctc1 $t7, $31 -/* 0BA880 800B9C80 00000000 */ nop -/* 0BA884 800B9C84 46002124 */ cvt.w.s $f4, $f4 -/* 0BA888 800B9C88 444FF800 */ cfc1 $t7, $31 -/* 0BA88C 800B9C8C 00000000 */ nop -/* 0BA890 800B9C90 31EF0078 */ andi $t7, $t7, 0x78 -/* 0BA894 800B9C94 15E00005 */ bnez $t7, .L800B9CAC -/* 0BA898 800B9C98 00000000 */ nop -/* 0BA89C 800B9C9C 440F2000 */ mfc1 $t7, $f4 -/* 0BA8A0 800B9CA0 3C018000 */ lui $at, 0x8000 -/* 0BA8A4 800B9CA4 10000007 */ b .L800B9CC4 -/* 0BA8A8 800B9CA8 01E17825 */ or $t7, $t7, $at -.L800B9CAC: -/* 0BA8AC 800B9CAC 10000005 */ b .L800B9CC4 -/* 0BA8B0 800B9CB0 240FFFFF */ li $t7, -1 -/* 0BA8B4 800B9CB4 440F2000 */ mfc1 $t7, $f4 -.L800B9CB8: -/* 0BA8B8 800B9CB8 00000000 */ nop -/* 0BA8BC 800B9CBC 05E0FFFB */ bltz $t7, .L800B9CAC -/* 0BA8C0 800B9CC0 00000000 */ nop -.L800B9CC4: -/* 0BA8C4 800B9CC4 A46F0000 */ sh $t7, ($v1) -/* 0BA8C8 800B9CC8 44CEF800 */ ctc1 $t6, $31 -/* 0BA8CC 800B9CCC C486001C */ lwc1 $f6, 0x1c($a0) -/* 0BA8D0 800B9CD0 C4880018 */ lwc1 $f8, 0x18($a0) -/* 0BA8D4 800B9CD4 24190001 */ li $t9, 1 -/* 0BA8D8 800B9CD8 460C3282 */ mul.s $f10, $f6, $f12 -/* 0BA8DC 800B9CDC 24840004 */ addiu $a0, $a0, 4 -/* 0BA8E0 800B9CE0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0BA8E4 800B9CE4 46087402 */ mul.s $f16, $f14, $f8 -/* 0BA8E8 800B9CE8 46105480 */ add.s $f18, $f10, $f16 -/* 0BA8EC 800B9CEC 4458F800 */ cfc1 $t8, $31 -/* 0BA8F0 800B9CF0 44D9F800 */ ctc1 $t9, $31 -/* 0BA8F4 800B9CF4 00000000 */ nop -/* 0BA8F8 800B9CF8 46009124 */ cvt.w.s $f4, $f18 -/* 0BA8FC 800B9CFC 4459F800 */ cfc1 $t9, $31 -/* 0BA900 800B9D00 00000000 */ nop -/* 0BA904 800B9D04 33390078 */ andi $t9, $t9, 0x78 -/* 0BA908 800B9D08 53200013 */ beql $t9, $zero, .L800B9D58 -/* 0BA90C 800B9D0C 44192000 */ mfc1 $t9, $f4 -/* 0BA910 800B9D10 44812000 */ mtc1 $at, $f4 -/* 0BA914 800B9D14 24190001 */ li $t9, 1 -/* 0BA918 800B9D18 46049101 */ sub.s $f4, $f18, $f4 -/* 0BA91C 800B9D1C 44D9F800 */ ctc1 $t9, $31 -/* 0BA920 800B9D20 00000000 */ nop -/* 0BA924 800B9D24 46002124 */ cvt.w.s $f4, $f4 -/* 0BA928 800B9D28 4459F800 */ cfc1 $t9, $31 -/* 0BA92C 800B9D2C 00000000 */ nop -/* 0BA930 800B9D30 33390078 */ andi $t9, $t9, 0x78 -/* 0BA934 800B9D34 17200005 */ bnez $t9, .L800B9D4C -/* 0BA938 800B9D38 00000000 */ nop -/* 0BA93C 800B9D3C 44192000 */ mfc1 $t9, $f4 -/* 0BA940 800B9D40 3C018000 */ lui $at, 0x8000 -/* 0BA944 800B9D44 10000007 */ b .L800B9D64 -/* 0BA948 800B9D48 0321C825 */ or $t9, $t9, $at -.L800B9D4C: -/* 0BA94C 800B9D4C 10000005 */ b .L800B9D64 -/* 0BA950 800B9D50 2419FFFF */ li $t9, -1 -/* 0BA954 800B9D54 44192000 */ mfc1 $t9, $f4 -.L800B9D58: -/* 0BA958 800B9D58 00000000 */ nop -/* 0BA95C 800B9D5C 0720FFFB */ bltz $t9, .L800B9D4C -/* 0BA960 800B9D60 00000000 */ nop -.L800B9D64: -/* 0BA964 800B9D64 0082082B */ sltu $at, $a0, $v0 -/* 0BA968 800B9D68 44D8F800 */ ctc1 $t8, $31 -/* 0BA96C 800B9D6C 24630002 */ addiu $v1, $v1, 2 -/* 0BA970 800B9D70 1420FFAF */ bnez $at, .L800B9C30 -/* 0BA974 800B9D74 A479000E */ sh $t9, 0xe($v1) -/* 0BA978 800B9D78 00C01825 */ move $v1, $a2 -/* 0BA97C 800B9D7C 27A4000C */ addiu $a0, $sp, 0xc -/* 0BA980 800B9D80 27A2004C */ addiu $v0, $sp, 0x4c -.L800B9D84: -/* 0BA984 800B9D84 4448F800 */ cfc1 $t0, $31 -/* 0BA988 800B9D88 24090001 */ li $t1, 1 -/* 0BA98C 800B9D8C 44C9F800 */ ctc1 $t1, $31 -/* 0BA990 800B9D90 C4860000 */ lwc1 $f6, ($a0) -/* 0BA994 800B9D94 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0BA998 800B9D98 46003224 */ cvt.w.s $f8, $f6 -/* 0BA99C 800B9D9C 4449F800 */ cfc1 $t1, $31 -/* 0BA9A0 800B9DA0 00000000 */ nop -/* 0BA9A4 800B9DA4 31290078 */ andi $t1, $t1, 0x78 -/* 0BA9A8 800B9DA8 51200013 */ beql $t1, $zero, .L800B9DF8 -/* 0BA9AC 800B9DAC 44094000 */ mfc1 $t1, $f8 -/* 0BA9B0 800B9DB0 44814000 */ mtc1 $at, $f8 -/* 0BA9B4 800B9DB4 24090001 */ li $t1, 1 -/* 0BA9B8 800B9DB8 46083201 */ sub.s $f8, $f6, $f8 -/* 0BA9BC 800B9DBC 44C9F800 */ ctc1 $t1, $31 -/* 0BA9C0 800B9DC0 00000000 */ nop -/* 0BA9C4 800B9DC4 46004224 */ cvt.w.s $f8, $f8 -/* 0BA9C8 800B9DC8 4449F800 */ cfc1 $t1, $31 -/* 0BA9CC 800B9DCC 00000000 */ nop -/* 0BA9D0 800B9DD0 31290078 */ andi $t1, $t1, 0x78 -/* 0BA9D4 800B9DD4 15200005 */ bnez $t1, .L800B9DEC -/* 0BA9D8 800B9DD8 00000000 */ nop -/* 0BA9DC 800B9DDC 44094000 */ mfc1 $t1, $f8 -/* 0BA9E0 800B9DE0 3C018000 */ lui $at, 0x8000 -/* 0BA9E4 800B9DE4 10000007 */ b .L800B9E04 -/* 0BA9E8 800B9DE8 01214825 */ or $t1, $t1, $at -.L800B9DEC: -/* 0BA9EC 800B9DEC 10000005 */ b .L800B9E04 -/* 0BA9F0 800B9DF0 2409FFFF */ li $t1, -1 -/* 0BA9F4 800B9DF4 44094000 */ mfc1 $t1, $f8 -.L800B9DF8: -/* 0BA9F8 800B9DF8 00000000 */ nop -/* 0BA9FC 800B9DFC 0520FFFB */ bltz $t1, .L800B9DEC -/* 0BAA00 800B9E00 00000000 */ nop -.L800B9E04: -/* 0BAA04 800B9E04 44C8F800 */ ctc1 $t0, $31 -/* 0BAA08 800B9E08 240B0001 */ li $t3, 1 -/* 0BAA0C 800B9E0C A4690000 */ sh $t1, ($v1) -/* 0BAA10 800B9E10 C48A0004 */ lwc1 $f10, 4($a0) -/* 0BAA14 800B9E14 444AF800 */ cfc1 $t2, $31 -/* 0BAA18 800B9E18 44CBF800 */ ctc1 $t3, $31 -/* 0BAA1C 800B9E1C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0BAA20 800B9E20 46005424 */ cvt.w.s $f16, $f10 -/* 0BAA24 800B9E24 444BF800 */ cfc1 $t3, $31 -/* 0BAA28 800B9E28 00000000 */ nop -/* 0BAA2C 800B9E2C 316B0078 */ andi $t3, $t3, 0x78 -/* 0BAA30 800B9E30 51600013 */ beql $t3, $zero, .L800B9E80 -/* 0BAA34 800B9E34 440B8000 */ mfc1 $t3, $f16 -/* 0BAA38 800B9E38 44818000 */ mtc1 $at, $f16 -/* 0BAA3C 800B9E3C 240B0001 */ li $t3, 1 -/* 0BAA40 800B9E40 46105401 */ sub.s $f16, $f10, $f16 -/* 0BAA44 800B9E44 44CBF800 */ ctc1 $t3, $31 -/* 0BAA48 800B9E48 00000000 */ nop -/* 0BAA4C 800B9E4C 46008424 */ cvt.w.s $f16, $f16 -/* 0BAA50 800B9E50 444BF800 */ cfc1 $t3, $31 -/* 0BAA54 800B9E54 00000000 */ nop -/* 0BAA58 800B9E58 316B0078 */ andi $t3, $t3, 0x78 -/* 0BAA5C 800B9E5C 15600005 */ bnez $t3, .L800B9E74 -/* 0BAA60 800B9E60 00000000 */ nop -/* 0BAA64 800B9E64 440B8000 */ mfc1 $t3, $f16 -/* 0BAA68 800B9E68 3C018000 */ lui $at, 0x8000 -/* 0BAA6C 800B9E6C 10000007 */ b .L800B9E8C -/* 0BAA70 800B9E70 01615825 */ or $t3, $t3, $at -.L800B9E74: -/* 0BAA74 800B9E74 10000005 */ b .L800B9E8C -/* 0BAA78 800B9E78 240BFFFF */ li $t3, -1 -/* 0BAA7C 800B9E7C 440B8000 */ mfc1 $t3, $f16 -.L800B9E80: -/* 0BAA80 800B9E80 00000000 */ nop -/* 0BAA84 800B9E84 0560FFFB */ bltz $t3, .L800B9E74 -/* 0BAA88 800B9E88 00000000 */ nop -.L800B9E8C: -/* 0BAA8C 800B9E8C 44CAF800 */ ctc1 $t2, $31 -/* 0BAA90 800B9E90 A46B0002 */ sh $t3, 2($v1) -/* 0BAA94 800B9E94 240D0001 */ li $t5, 1 -/* 0BAA98 800B9E98 C4920008 */ lwc1 $f18, 8($a0) -/* 0BAA9C 800B9E9C 444CF800 */ cfc1 $t4, $31 -/* 0BAAA0 800B9EA0 44CDF800 */ ctc1 $t5, $31 -/* 0BAAA4 800B9EA4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0BAAA8 800B9EA8 46009124 */ cvt.w.s $f4, $f18 -/* 0BAAAC 800B9EAC 444DF800 */ cfc1 $t5, $31 -/* 0BAAB0 800B9EB0 00000000 */ nop -/* 0BAAB4 800B9EB4 31AD0078 */ andi $t5, $t5, 0x78 -/* 0BAAB8 800B9EB8 51A00013 */ beql $t5, $zero, .L800B9F08 -/* 0BAABC 800B9EBC 440D2000 */ mfc1 $t5, $f4 -/* 0BAAC0 800B9EC0 44812000 */ mtc1 $at, $f4 -/* 0BAAC4 800B9EC4 240D0001 */ li $t5, 1 -/* 0BAAC8 800B9EC8 46049101 */ sub.s $f4, $f18, $f4 -/* 0BAACC 800B9ECC 44CDF800 */ ctc1 $t5, $31 -/* 0BAAD0 800B9ED0 00000000 */ nop -/* 0BAAD4 800B9ED4 46002124 */ cvt.w.s $f4, $f4 -/* 0BAAD8 800B9ED8 444DF800 */ cfc1 $t5, $31 -/* 0BAADC 800B9EDC 00000000 */ nop -/* 0BAAE0 800B9EE0 31AD0078 */ andi $t5, $t5, 0x78 -/* 0BAAE4 800B9EE4 15A00005 */ bnez $t5, .L800B9EFC -/* 0BAAE8 800B9EE8 00000000 */ nop -/* 0BAAEC 800B9EEC 440D2000 */ mfc1 $t5, $f4 -/* 0BAAF0 800B9EF0 3C018000 */ lui $at, 0x8000 -/* 0BAAF4 800B9EF4 10000007 */ b .L800B9F14 -/* 0BAAF8 800B9EF8 01A16825 */ or $t5, $t5, $at -.L800B9EFC: -/* 0BAAFC 800B9EFC 10000005 */ b .L800B9F14 -/* 0BAB00 800B9F00 240DFFFF */ li $t5, -1 -/* 0BAB04 800B9F04 440D2000 */ mfc1 $t5, $f4 -.L800B9F08: -/* 0BAB08 800B9F08 00000000 */ nop -/* 0BAB0C 800B9F0C 05A0FFFB */ bltz $t5, .L800B9EFC -/* 0BAB10 800B9F10 00000000 */ nop -.L800B9F14: -/* 0BAB14 800B9F14 44CCF800 */ ctc1 $t4, $31 -/* 0BAB18 800B9F18 A46D0004 */ sh $t5, 4($v1) -/* 0BAB1C 800B9F1C 240F0001 */ li $t7, 1 -/* 0BAB20 800B9F20 C486000C */ lwc1 $f6, 0xc($a0) -/* 0BAB24 800B9F24 444EF800 */ cfc1 $t6, $31 -/* 0BAB28 800B9F28 44CFF800 */ ctc1 $t7, $31 -/* 0BAB2C 800B9F2C 24840010 */ addiu $a0, $a0, 0x10 -/* 0BAB30 800B9F30 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0BAB34 800B9F34 46003224 */ cvt.w.s $f8, $f6 -/* 0BAB38 800B9F38 444FF800 */ cfc1 $t7, $31 -/* 0BAB3C 800B9F3C 00000000 */ nop -/* 0BAB40 800B9F40 31EF0078 */ andi $t7, $t7, 0x78 -/* 0BAB44 800B9F44 51E00013 */ beql $t7, $zero, .L800B9F94 -/* 0BAB48 800B9F48 440F4000 */ mfc1 $t7, $f8 -/* 0BAB4C 800B9F4C 44814000 */ mtc1 $at, $f8 -/* 0BAB50 800B9F50 240F0001 */ li $t7, 1 -/* 0BAB54 800B9F54 46083201 */ sub.s $f8, $f6, $f8 -/* 0BAB58 800B9F58 44CFF800 */ ctc1 $t7, $31 -/* 0BAB5C 800B9F5C 00000000 */ nop -/* 0BAB60 800B9F60 46004224 */ cvt.w.s $f8, $f8 -/* 0BAB64 800B9F64 444FF800 */ cfc1 $t7, $31 -/* 0BAB68 800B9F68 00000000 */ nop -/* 0BAB6C 800B9F6C 31EF0078 */ andi $t7, $t7, 0x78 -/* 0BAB70 800B9F70 15E00005 */ bnez $t7, .L800B9F88 -/* 0BAB74 800B9F74 00000000 */ nop -/* 0BAB78 800B9F78 440F4000 */ mfc1 $t7, $f8 -/* 0BAB7C 800B9F7C 3C018000 */ lui $at, 0x8000 -/* 0BAB80 800B9F80 10000007 */ b .L800B9FA0 -/* 0BAB84 800B9F84 01E17825 */ or $t7, $t7, $at -.L800B9F88: -/* 0BAB88 800B9F88 10000005 */ b .L800B9FA0 -/* 0BAB8C 800B9F8C 240FFFFF */ li $t7, -1 -/* 0BAB90 800B9F90 440F4000 */ mfc1 $t7, $f8 -.L800B9F94: -/* 0BAB94 800B9F94 00000000 */ nop -/* 0BAB98 800B9F98 05E0FFFB */ bltz $t7, .L800B9F88 -/* 0BAB9C 800B9F9C 00000000 */ nop -.L800B9FA0: -/* 0BABA0 800B9FA0 44CEF800 */ ctc1 $t6, $31 -/* 0BABA4 800B9FA4 A46F0006 */ sh $t7, 6($v1) -/* 0BABA8 800B9FA8 1482FF76 */ bne $a0, $v0, .L800B9D84 -/* 0BABAC 800B9FAC 24630008 */ addiu $v1, $v1, 8 -/* 0BABB0 800B9FB0 03E00008 */ jr $ra -/* 0BABB4 800B9FB4 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel func_800B9FB8 -/* 0BABB8 800B9FB8 3C03803B */ lui $v1, %hi(D_803AFBC3) # $v1, 0x803b -/* 0BABBC 800B9FBC 8063FBC3 */ lb $v1, %lo(D_803AFBC3)($v1) -/* 0BABC0 800B9FC0 3C0E803B */ lui $t6, %hi(D_803AF790) # 0x803b -/* 0BABC4 800B9FC4 25C2F790 */ addiu $v0, $t6, %lo(D_803AF790) # -0x870 -/* 0BABC8 800B9FC8 1860000E */ blez $v1, .L800BA004 -/* 0BABCC 800B9FCC 00037940 */ sll $t7, $v1, 5 -/* 0BABD0 800B9FD0 01E37821 */ addu $t7, $t7, $v1 -/* 0BABD4 800B9FD4 000F78C0 */ sll $t7, $t7, 3 -/* 0BABD8 800B9FD8 01E22021 */ addu $a0, $t7, $v0 -.L800B9FDC: -/* 0BABDC 800B9FDC 94430008 */ lhu $v1, 8($v0) -/* 0BABE0 800B9FE0 24420108 */ addiu $v0, $v0, 0x108 -/* 0BABE4 800B9FE4 04610003 */ bgez $v1, .L800B9FF4 -/* 0BABE8 800B9FE8 0003C083 */ sra $t8, $v1, 2 -/* 0BABEC 800B9FEC 24610003 */ addiu $at, $v1, 3 -/* 0BABF0 800B9FF0 0001C083 */ sra $t8, $at, 2 -.L800B9FF4: -/* 0BABF4 800B9FF4 0044082B */ sltu $at, $v0, $a0 -/* 0BABF8 800B9FF8 0078C823 */ subu $t9, $v1, $t8 -/* 0BABFC 800B9FFC 1420FFF7 */ bnez $at, .L800B9FDC -/* 0BAC00 800BA000 A459FF00 */ sh $t9, -0x100($v0) -.L800BA004: -/* 0BAC04 800BA004 03E00008 */ jr $ra -/* 0BAC08 800BA008 00000000 */ nop - -glabel func_800BA00C -/* 0BAC0C 800BA00C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BAC10 800BA010 AFB20020 */ sw $s2, 0x20($sp) -/* 0BAC14 800BA014 3C12803B */ lui $s2, %hi(D_803B0500) # $s2, 0x803b -/* 0BAC18 800BA018 26520500 */ addiu $s2, %lo(D_803B0500) # addiu $s2, $s2, 0x500 -/* 0BAC1C 800BA01C 924E0000 */ lbu $t6, ($s2) -/* 0BAC20 800BA020 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BAC24 800BA024 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BAC28 800BA028 25CFFFFF */ addiu $t7, $t6, -1 -/* 0BAC2C 800BA02C 2DE10005 */ sltiu $at, $t7, 5 -/* 0BAC30 800BA030 1020007A */ beqz $at, .L800BA21C -/* 0BAC34 800BA034 AFB00018 */ sw $s0, 0x18($sp) -/* 0BAC38 800BA038 000F7880 */ sll $t7, $t7, 2 -/* 0BAC3C 800BA03C 3C01800F */ lui $at, %hi(D_800F2E84) -/* 0BAC40 800BA040 002F0821 */ addu $at, $at, $t7 -/* 0BAC44 800BA044 8C2F2E84 */ lw $t7, %lo(D_800F2E84)($at) -/* 0BAC48 800BA048 01E00008 */ jr $t7 -/* 0BAC4C 800BA04C 00000000 */ nop -glabel L800BA050 -/* 0BAC50 800BA050 3C10803B */ lui $s0, %hi(D_803B1510) # $s0, 0x803b -/* 0BAC54 800BA054 3C11803B */ lui $s1, %hi(D_803B1A30) # $s1, 0x803b -/* 0BAC58 800BA058 26311A30 */ addiu $s1, %lo(D_803B1A30) # addiu $s1, $s1, 0x1a30 -/* 0BAC5C 800BA05C 26101510 */ addiu $s0, %lo(D_803B1510) # addiu $s0, $s0, 0x1510 -.L800BA060: -/* 0BAC60 800BA060 0C02FBCB */ jal func_800BEF2C -/* 0BAC64 800BA064 02002025 */ move $a0, $s0 -/* 0BAC68 800BA068 26100148 */ addiu $s0, $s0, 0x148 -/* 0BAC6C 800BA06C 1611FFFC */ bne $s0, $s1, .L800BA060 -/* 0BAC70 800BA070 00000000 */ nop -/* 0BAC74 800BA074 92420000 */ lbu $v0, ($s2) -/* 0BAC78 800BA078 3C08803B */ lui $t0, %hi(D_803B0504) # $t0, 0x803b -/* 0BAC7C 800BA07C 25080504 */ addiu $t0, %lo(D_803B0504) # addiu $t0, $t0, 0x504 -/* 0BAC80 800BA080 24180004 */ li $t8, 4 -/* 0BAC84 800BA084 2459FFFF */ addiu $t9, $v0, -1 -/* 0BAC88 800BA088 AD180000 */ sw $t8, ($t0) -/* 0BAC8C 800BA08C 10000063 */ b .L800BA21C -/* 0BAC90 800BA090 A2590000 */ sb $t9, ($s2) -glabel L800BA094 -/* 0BAC94 800BA094 3C08803B */ lui $t0, %hi(D_803B0504) # $t0, 0x803b -/* 0BAC98 800BA098 25080504 */ addiu $t0, %lo(D_803B0504) # addiu $t0, $t0, 0x504 -/* 0BAC9C 800BA09C 8D020000 */ lw $v0, ($t0) -/* 0BACA0 800BA0A0 3C06803B */ lui $a2, %hi(D_803B70B0) # $a2, 0x803b -/* 0BACA4 800BA0A4 10400005 */ beqz $v0, .L800BA0BC -/* 0BACA8 800BA0A8 2449FFFF */ addiu $t1, $v0, -1 -/* 0BACAC 800BA0AC 0C02E7EE */ jal func_800B9FB8 -/* 0BACB0 800BA0B0 AD090000 */ sw $t1, ($t0) -/* 0BACB4 800BA0B4 1000005A */ b .L800BA220 -/* 0BACB8 800BA0B8 924E0000 */ lbu $t6, ($s2) -.L800BA0BC: -/* 0BACBC 800BA0BC 8CC670B0 */ lw $a2, %lo(D_803B70B0)($a2) -/* 0BACC0 800BA0C0 00002025 */ move $a0, $zero -/* 0BACC4 800BA0C4 00001825 */ move $v1, $zero -/* 0BACC8 800BA0C8 18C0001A */ blez $a2, .L800BA134 -/* 0BACCC 800BA0CC 3C07803B */ lui $a3, %hi(D_803B7088) # $a3, 0x803b -/* 0BACD0 800BA0D0 3C05803B */ lui $a1, %hi(D_803B1508) # $a1, 0x803b -/* 0BACD4 800BA0D4 24A51508 */ addiu $a1, %lo(D_803B1508) # addiu $a1, $a1, 0x1508 -/* 0BACD8 800BA0D8 24E77088 */ addiu $a3, %lo(D_803B7088) # addiu $a3, $a3, 0x7088 -.L800BA0DC: -/* 0BACDC 800BA0DC 8CAA0000 */ lw $t2, ($a1) -/* 0BACE0 800BA0E0 24840001 */ addiu $a0, $a0, 1 -/* 0BACE4 800BA0E4 01431021 */ addu $v0, $t2, $v1 -/* 0BACE8 800BA0E8 8C4B00B0 */ lw $t3, 0xb0($v0) -/* 0BACEC 800BA0EC 000B67C2 */ srl $t4, $t3, 0x1f -/* 0BACF0 800BA0F0 5180000E */ beql $t4, $zero, .L800BA12C -/* 0BACF4 800BA0F4 0086082A */ slt $at, $a0, $a2 -/* 0BACF8 800BA0F8 904D0059 */ lbu $t5, 0x59($v0) -/* 0BACFC 800BA0FC 51A0000B */ beql $t5, $zero, .L800BA12C -/* 0BAD00 800BA100 0086082A */ slt $at, $a0, $a2 -/* 0BAD04 800BA104 C4E40018 */ lwc1 $f4, 0x18($a3) -/* 0BAD08 800BA108 3C06803B */ lui $a2, %hi(D_803B70B0) # $a2, 0x803b -/* 0BAD0C 800BA10C E4440068 */ swc1 $f4, 0x68($v0) -/* 0BAD10 800BA110 8CAE0000 */ lw $t6, ($a1) -/* 0BAD14 800BA114 01C31021 */ addu $v0, $t6, $v1 -/* 0BAD18 800BA118 904F0058 */ lbu $t7, 0x58($v0) -/* 0BAD1C 800BA11C 35F80010 */ ori $t8, $t7, 0x10 -/* 0BAD20 800BA120 A0580058 */ sb $t8, 0x58($v0) -/* 0BAD24 800BA124 8CC670B0 */ lw $a2, %lo(D_803B70B0)($a2) -/* 0BAD28 800BA128 0086082A */ slt $at, $a0, $a2 -.L800BA12C: -/* 0BAD2C 800BA12C 1420FFEB */ bnez $at, .L800BA0DC -/* 0BAD30 800BA130 246300C0 */ addiu $v1, $v1, 0xc0 -.L800BA134: -/* 0BAD34 800BA134 92420000 */ lbu $v0, ($s2) -/* 0BAD38 800BA138 24190010 */ li $t9, 16 -/* 0BAD3C 800BA13C AD190000 */ sw $t9, ($t0) -/* 0BAD40 800BA140 2449FFFF */ addiu $t1, $v0, -1 -/* 0BAD44 800BA144 10000035 */ b .L800BA21C -/* 0BAD48 800BA148 A2490000 */ sb $t1, ($s2) -glabel L800BA14C -/* 0BAD4C 800BA14C 3C08803B */ lui $t0, %hi(D_803B0504) # $t0, 0x803b -/* 0BAD50 800BA150 25080504 */ addiu $t0, %lo(D_803B0504) # addiu $t0, $t0, 0x504 -/* 0BAD54 800BA154 8D020000 */ lw $v0, ($t0) -/* 0BAD58 800BA158 3C03803B */ lui $v1, %hi(D_803B7180) # $v1, 0x803b -/* 0BAD5C 800BA15C 24637180 */ addiu $v1, %lo(D_803B7180) # addiu $v1, $v1, 0x7180 -/* 0BAD60 800BA160 10400006 */ beqz $v0, .L800BA17C -/* 0BAD64 800BA164 3C06803B */ lui $a2, %hi(D_803B718C) # $a2, 0x803b -/* 0BAD68 800BA168 244AFFFF */ addiu $t2, $v0, -1 -/* 0BAD6C 800BA16C 0C02E7EE */ jal func_800B9FB8 -/* 0BAD70 800BA170 AD0A0000 */ sw $t2, ($t0) -/* 0BAD74 800BA174 1000002A */ b .L800BA220 -/* 0BAD78 800BA178 924E0000 */ lbu $t6, ($s2) -.L800BA17C: -/* 0BAD7C 800BA17C 24C6718C */ addiu $a2, %lo(D_803B718C) # addiu $a2, $a2, 0x718c -/* 0BAD80 800BA180 24040A00 */ li $a0, 2560 -/* 0BAD84 800BA184 00001025 */ move $v0, $zero -.L800BA188: -/* 0BAD88 800BA188 8C6B0000 */ lw $t3, ($v1) -/* 0BAD8C 800BA18C 01626021 */ addu $t4, $t3, $v0 -/* 0BAD90 800BA190 A5800000 */ sh $zero, ($t4) -/* 0BAD94 800BA194 8C6D0000 */ lw $t5, ($v1) -/* 0BAD98 800BA198 01A27021 */ addu $t6, $t5, $v0 -/* 0BAD9C 800BA19C A5C00002 */ sh $zero, 2($t6) -/* 0BADA0 800BA1A0 8C6F0000 */ lw $t7, ($v1) -/* 0BADA4 800BA1A4 01E2C021 */ addu $t8, $t7, $v0 -/* 0BADA8 800BA1A8 A7000004 */ sh $zero, 4($t8) -/* 0BADAC 800BA1AC 8C790000 */ lw $t9, ($v1) -/* 0BADB0 800BA1B0 03224821 */ addu $t1, $t9, $v0 -/* 0BADB4 800BA1B4 24420008 */ addiu $v0, $v0, 8 -/* 0BADB8 800BA1B8 1444FFF3 */ bne $v0, $a0, .L800BA188 -/* 0BADBC 800BA1BC A5200006 */ sh $zero, 6($t1) -/* 0BADC0 800BA1C0 24630004 */ addiu $v1, $v1, 4 -/* 0BADC4 800BA1C4 5466FFF0 */ bnel $v1, $a2, .L800BA188 -/* 0BADC8 800BA1C8 00001025 */ move $v0, $zero -/* 0BADCC 800BA1CC 92420000 */ lbu $v0, ($s2) -/* 0BADD0 800BA1D0 240A0004 */ li $t2, 4 -/* 0BADD4 800BA1D4 AD0A0000 */ sw $t2, ($t0) -/* 0BADD8 800BA1D8 244BFFFF */ addiu $t3, $v0, -1 -/* 0BADDC 800BA1DC 1000000F */ b .L800BA21C -/* 0BADE0 800BA1E0 A24B0000 */ sb $t3, ($s2) -glabel L800BA1E4 -/* 0BADE4 800BA1E4 3C08803B */ lui $t0, %hi(D_803B0504) # $t0, 0x803b -/* 0BADE8 800BA1E8 25080504 */ addiu $t0, %lo(D_803B0504) # addiu $t0, $t0, 0x504 -/* 0BADEC 800BA1EC 8D020000 */ lw $v0, ($t0) -/* 0BADF0 800BA1F0 10400003 */ beqz $v0, .L800BA200 -/* 0BADF4 800BA1F4 244CFFFF */ addiu $t4, $v0, -1 -/* 0BADF8 800BA1F8 10000008 */ b .L800BA21C -/* 0BADFC 800BA1FC AD0C0000 */ sw $t4, ($t0) -.L800BA200: -/* 0BAE00 800BA200 92420000 */ lbu $v0, ($s2) -/* 0BAE04 800BA204 244DFFFF */ addiu $t5, $v0, -1 -/* 0BAE08 800BA208 10000004 */ b .L800BA21C -/* 0BAE0C 800BA20C A24D0000 */ sb $t5, ($s2) -glabel L800BA210 -/* 0BAE10 800BA210 0C02E894 */ jal func_800BA250 -/* 0BAE14 800BA214 00000000 */ nop -/* 0BAE18 800BA218 A2400000 */ sb $zero, ($s2) -.L800BA21C: -/* 0BAE1C 800BA21C 924E0000 */ lbu $t6, ($s2) -.L800BA220: -/* 0BAE20 800BA220 8FB00018 */ lw $s0, 0x18($sp) -/* 0BAE24 800BA224 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BAE28 800BA228 29C10003 */ slti $at, $t6, 3 -/* 0BAE2C 800BA22C 50200004 */ beql $at, $zero, .L800BA240 -/* 0BAE30 800BA230 24020001 */ li $v0, 1 -/* 0BAE34 800BA234 10000002 */ b .L800BA240 -/* 0BAE38 800BA238 00001025 */ move $v0, $zero -/* 0BAE3C 800BA23C 24020001 */ li $v0, 1 -.L800BA240: -/* 0BAE40 800BA240 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BAE44 800BA244 8FB20020 */ lw $s2, 0x20($sp) -/* 0BAE48 800BA248 03E00008 */ jr $ra -/* 0BAE4C 800BA24C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_800BA250 -/* 0BAE50 800BA250 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0BAE54 800BA254 3C0E803B */ lui $t6, %hi(D_803B0501) # $t6, 0x803b -/* 0BAE58 800BA258 91CE0501 */ lbu $t6, %lo(D_803B0501)($t6) -/* 0BAE5C 800BA25C 3C18800F */ lui $t8, %hi(D_800EA4D8) # $t8, 0x800f -/* 0BAE60 800BA260 AFB60030 */ sw $s6, 0x30($sp) -/* 0BAE64 800BA264 000E7880 */ sll $t7, $t6, 2 -/* 0BAE68 800BA268 01EE7821 */ addu $t7, $t7, $t6 -/* 0BAE6C 800BA26C 000F78C0 */ sll $t7, $t7, 3 -/* 0BAE70 800BA270 2718A4D8 */ addiu $t8, %lo(D_800EA4D8) # addiu $t8, $t8, -0x5b28 -/* 0BAE74 800BA274 3C01803B */ lui $at, %hi(D_803B6E58) # $at, 0x803b -/* 0BAE78 800BA278 AFBF003C */ sw $ra, 0x3c($sp) -/* 0BAE7C 800BA27C AFBE0038 */ sw $fp, 0x38($sp) -/* 0BAE80 800BA280 AFB70034 */ sw $s7, 0x34($sp) -/* 0BAE84 800BA284 AFB5002C */ sw $s5, 0x2c($sp) -/* 0BAE88 800BA288 AFB40028 */ sw $s4, 0x28($sp) -/* 0BAE8C 800BA28C AFB30024 */ sw $s3, 0x24($sp) -/* 0BAE90 800BA290 AFB20020 */ sw $s2, 0x20($sp) -/* 0BAE94 800BA294 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BAE98 800BA298 AFB00018 */ sw $s0, 0x18($sp) -/* 0BAE9C 800BA29C 01F8B021 */ addu $s6, $t7, $t8 -/* 0BAEA0 800BA2A0 AC206E58 */ sw $zero, %lo(D_803B6E58)($at) -/* 0BAEA4 800BA2A4 8ED90000 */ lw $t9, ($s6) -/* 0BAEA8 800BA2A8 3C14803B */ lui $s4, %hi(D_803B7088) # $s4, 0x803b -/* 0BAEAC 800BA2AC 26947088 */ addiu $s4, %lo(D_803B7088) # addiu $s4, $s4, 0x7088 -/* 0BAEB0 800BA2B0 A6990002 */ sh $t9, 2($s4) -/* 0BAEB4 800BA2B4 0C0343E0 */ jal osAiSetFrequency -/* 0BAEB8 800BA2B8 3324FFFF */ andi $a0, $t9, 0xffff -/* 0BAEBC 800BA2BC A6820004 */ sh $v0, 4($s4) -/* 0BAEC0 800BA2C0 3C0D803B */ lui $t5, %hi(D_803B717C) # $t5, 0x803b -/* 0BAEC4 800BA2C4 8DAD717C */ lw $t5, %lo(D_803B717C)($t5) -/* 0BAEC8 800BA2C8 96870002 */ lhu $a3, 2($s4) -/* 0BAECC 800BA2CC 3C0C803B */ lui $t4, %hi(D_803B70B0) # $t4, 0x803b -/* 0BAED0 800BA2D0 258C70B0 */ addiu $t4, %lo(D_803B70B0) # addiu $t4, $t4, 0x70b0 -/* 0BAED4 800BA2D4 00ED001A */ div $zero, $a3, $t5 -/* 0BAED8 800BA2D8 00007012 */ mflo $t6 -/* 0BAEDC 800BA2DC 25CF000F */ addiu $t7, $t6, 0xf -/* 0BAEE0 800BA2E0 31F8FFF0 */ andi $t8, $t7, 0xfff0 -/* 0BAEE4 800BA2E4 A6980006 */ sh $t8, 6($s4) -/* 0BAEE8 800BA2E8 86830006 */ lh $v1, 6($s4) -/* 0BAEEC 800BA2EC 44873000 */ mtc1 $a3, $f6 -/* 0BAEF0 800BA2F0 3C04803B */ lui $a0, %hi(D_803B0348) # $a0, 0x803b -/* 0BAEF4 800BA2F4 24680010 */ addiu $t0, $v1, 0x10 -/* 0BAEF8 800BA2F8 46803220 */ cvt.s.w $f8, $f6 -/* 0BAEFC 800BA2FC 2479FFF0 */ addiu $t9, $v1, -0x10 -/* 0BAF00 800BA300 A699000A */ sh $t9, 0xa($s4) -/* 0BAF04 800BA304 A6880008 */ sh $t0, 8($s4) -/* 0BAF08 800BA308 3C12803B */ lui $s2, %hi(D_803B70AC) # $s2, 0x803b -/* 0BAF0C 800BA30C 265270AC */ addiu $s2, %lo(D_803B70AC) # addiu $s2, $s2, 0x70ac -/* 0BAF10 800BA310 24840348 */ addiu $a0, %lo(D_803B0348) # addiu $a0, $a0, 0x348 -/* 0BAF14 800BA314 15A00002 */ bnez $t5, .L800BA320 -/* 0BAF18 800BA318 00000000 */ nop -/* 0BAF1C 800BA31C 0007000D */ break 7 -.L800BA320: -/* 0BAF20 800BA320 2401FFFF */ li $at, -1 -/* 0BAF24 800BA324 15A10004 */ bne $t5, $at, .L800BA338 -/* 0BAF28 800BA328 3C018000 */ lui $at, 0x8000 -/* 0BAF2C 800BA32C 14E10002 */ bne $a3, $at, .L800BA338 -/* 0BAF30 800BA330 00000000 */ nop -/* 0BAF34 800BA334 0006000D */ break 6 -.L800BA338: -/* 0BAF38 800BA338 240100C0 */ li $at, 192 -/* 0BAF3C 800BA33C 0101001A */ div $zero, $t0, $at -/* 0BAF40 800BA340 00006812 */ mflo $t5 -/* 0BAF44 800BA344 25AE0001 */ addiu $t6, $t5, 1 -/* 0BAF48 800BA348 A68E000C */ sh $t6, 0xc($s4) -/* 0BAF4C 800BA34C 8686000C */ lh $a2, 0xc($s4) -/* 0BAF50 800BA350 0066001A */ div $zero, $v1, $a2 -/* 0BAF54 800BA354 14C00002 */ bnez $a2, .L800BA360 -/* 0BAF58 800BA358 00000000 */ nop -/* 0BAF5C 800BA35C 0007000D */ break 7 -.L800BA360: -/* 0BAF60 800BA360 2401FFFF */ li $at, -1 -/* 0BAF64 800BA364 14C10004 */ bne $a2, $at, .L800BA378 -/* 0BAF68 800BA368 3C018000 */ lui $at, 0x8000 -/* 0BAF6C 800BA36C 14610002 */ bne $v1, $at, .L800BA378 -/* 0BAF70 800BA370 00000000 */ nop -/* 0BAF74 800BA374 0006000D */ break 6 -.L800BA378: -/* 0BAF78 800BA378 3C0146FA */ li $at, 0x46FA0000 # 32000.000000 -/* 0BAF7C 800BA37C 44812000 */ mtc1 $at, $f4 -/* 0BAF80 800BA380 00007812 */ mflo $t7 -/* 0BAF84 800BA384 31F8FFF8 */ andi $t8, $t7, 0xfff8 -/* 0BAF88 800BA388 46082283 */ div.s $f10, $f4, $f8 -/* 0BAF8C 800BA38C A698000E */ sh $t8, 0xe($s4) -/* 0BAF90 800BA390 8689000E */ lh $t1, 0xe($s4) -/* 0BAF94 800BA394 44868000 */ mtc1 $a2, $f16 -/* 0BAF98 800BA398 3C01800F */ lui $at, %hi(D_800F2E98) # $at, 0x800f -/* 0BAF9C 800BA39C 25390008 */ addiu $t9, $t1, 8 -/* 0BAFA0 800BA3A0 46808020 */ cvt.s.w $f0, $f16 -/* 0BAFA4 800BA3A4 252DFFF8 */ addiu $t5, $t1, -8 -/* 0BAFA8 800BA3A8 A6990010 */ sh $t9, 0x10($s4) -/* 0BAFAC 800BA3AC A68D0012 */ sh $t5, 0x12($s4) -/* 0BAFB0 800BA3B0 3C18800F */ lui $t8, %hi(D_800EA5CC) # $t8, 0x800f -/* 0BAFB4 800BA3B4 240D0001 */ li $t5, 1 -/* 0BAFB8 800BA3B8 E68A0014 */ swc1 $f10, 0x14($s4) -/* 0BAFBC 800BA3BC C4322E98 */ lwc1 $f18, %lo(D_800F2E98)($at) -/* 0BAFC0 800BA3C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BAFC4 800BA3C4 44812000 */ mtc1 $at, $f4 -/* 0BAFC8 800BA3C8 46009183 */ div.s $f6, $f18, $f0 -/* 0BAFCC 800BA3CC 3C01803B */ lui $at, %hi(D_803AFBC0) # $at, 0x803b -/* 0BAFD0 800BA3D0 46002203 */ div.s $f8, $f4, $f0 -/* 0BAFD4 800BA3D4 E686001C */ swc1 $f6, 0x1c($s4) -/* 0BAFD8 800BA3D8 E6880018 */ swc1 $f8, 0x18($s4) -/* 0BAFDC 800BA3DC 92CE0005 */ lbu $t6, 5($s6) -/* 0BAFE0 800BA3E0 AD8E0000 */ sw $t6, ($t4) -/* 0BAFE4 800BA3E4 96CF000C */ lhu $t7, 0xc($s6) -/* 0BAFE8 800BA3E8 8718A5CC */ lh $t8, %lo(D_800EA5CC)($t8) -/* 0BAFEC 800BA3EC A42FFBC0 */ sh $t7, %lo(D_803AFBC0)($at) -/* 0BAFF0 800BA3F0 3C01800F */ lui $at, %hi(D_800F2E9C) # $at, 0x800f -/* 0BAFF4 800BA3F4 C42A2E9C */ lwc1 $f10, %lo(D_800F2E9C)($at) -/* 0BAFF8 800BA3F8 44989000 */ mtc1 $t8, $f18 -/* 0BAFFC 800BA3FC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b -/* 0BB000 800BA400 460A0402 */ mul.s $f16, $f0, $f10 -/* 0BB004 800BA404 C4287178 */ lwc1 $f8, %lo(D_803B7178)($at) -/* 0BB008 800BA408 468091A0 */ cvt.s.w $f6, $f18 -/* 0BB00C 800BA40C 46068103 */ div.s $f4, $f16, $f6 -/* 0BB010 800BA410 46082283 */ div.s $f10, $f4, $f8 -/* 0BB014 800BA414 4459F800 */ cfc1 $t9, $31 -/* 0BB018 800BA418 44CDF800 */ ctc1 $t5, $31 -/* 0BB01C 800BA41C 00000000 */ nop -/* 0BB020 800BA420 460054A4 */ cvt.w.s $f18, $f10 -/* 0BB024 800BA424 444DF800 */ cfc1 $t5, $31 -/* 0BB028 800BA428 00000000 */ nop -/* 0BB02C 800BA42C 31A10004 */ andi $at, $t5, 4 -/* 0BB030 800BA430 31AD0078 */ andi $t5, $t5, 0x78 -/* 0BB034 800BA434 11A00012 */ beqz $t5, .L800BA480 -/* 0BB038 800BA438 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0BB03C 800BA43C 44819000 */ mtc1 $at, $f18 -/* 0BB040 800BA440 240D0001 */ li $t5, 1 -/* 0BB044 800BA444 46125481 */ sub.s $f18, $f10, $f18 -/* 0BB048 800BA448 44CDF800 */ ctc1 $t5, $31 -/* 0BB04C 800BA44C 00000000 */ nop -/* 0BB050 800BA450 460094A4 */ cvt.w.s $f18, $f18 -/* 0BB054 800BA454 444DF800 */ cfc1 $t5, $31 -/* 0BB058 800BA458 00000000 */ nop -/* 0BB05C 800BA45C 31AD0078 */ andi $t5, $t5, 0x78 -/* 0BB060 800BA460 15A00005 */ bnez $t5, .L800BA478 -/* 0BB064 800BA464 00000000 */ nop -/* 0BB068 800BA468 440D9000 */ mfc1 $t5, $f18 -/* 0BB06C 800BA46C 3C018000 */ lui $at, 0x8000 -/* 0BB070 800BA470 10000007 */ b .L800BA490 -/* 0BB074 800BA474 01A16825 */ or $t5, $t5, $at -.L800BA478: -/* 0BB078 800BA478 10000005 */ b .L800BA490 -/* 0BB07C 800BA47C 240DFFFF */ li $t5, -1 -.L800BA480: -/* 0BB080 800BA480 440D9000 */ mfc1 $t5, $f18 -/* 0BB084 800BA484 00000000 */ nop -/* 0BB088 800BA488 05A0FFFB */ bltz $t5, .L800BA478 -/* 0BB08C 800BA48C 00000000 */ nop -.L800BA490: -/* 0BB090 800BA490 3C01803B */ lui $at, %hi(D_803B70B4) # $at, 0x803b -/* 0BB094 800BA494 A42D70B4 */ sh $t5, %lo(D_803B70B4)($at) -/* 0BB098 800BA498 92CE0004 */ lbu $t6, 4($s6) -/* 0BB09C 800BA49C 86980008 */ lh $t8, 8($s4) -/* 0BB0A0 800BA4A0 44D9F800 */ ctc1 $t9, $31 -/* 0BB0A4 800BA4A4 A68E0000 */ sh $t6, ($s4) -/* 0BB0A8 800BA4A8 86850000 */ lh $a1, ($s4) -/* 0BB0AC 800BA4AC 868D000A */ lh $t5, 0xa($s4) -/* 0BB0B0 800BA4B0 00650019 */ multu $v1, $a1 -/* 0BB0B4 800BA4B4 00007812 */ mflo $t7 -/* 0BB0B8 800BA4B8 A68F0006 */ sh $t7, 6($s4) -/* 0BB0BC 800BA4BC 00000000 */ nop -/* 0BB0C0 800BA4C0 03050019 */ multu $t8, $a1 -/* 0BB0C4 800BA4C4 8D980000 */ lw $t8, ($t4) -/* 0BB0C8 800BA4C8 0000C812 */ mflo $t9 -/* 0BB0CC 800BA4CC A6990008 */ sh $t9, 8($s4) -/* 0BB0D0 800BA4D0 0018C880 */ sll $t9, $t8, 2 -/* 0BB0D4 800BA4D4 01A50019 */ multu $t5, $a1 -/* 0BB0D8 800BA4D8 0338C821 */ addu $t9, $t9, $t8 -/* 0BB0DC 800BA4DC 0019C880 */ sll $t9, $t9, 2 -/* 0BB0E0 800BA4E0 00007012 */ mflo $t6 -/* 0BB0E4 800BA4E4 A68E000A */ sh $t6, 0xa($s4) -/* 0BB0E8 800BA4E8 00000000 */ nop -/* 0BB0EC 800BA4EC 00C50019 */ multu $a2, $a1 -/* 0BB0F0 800BA4F0 00007812 */ mflo $t7 -/* 0BB0F4 800BA4F4 A68F000C */ sh $t7, 0xc($s4) -/* 0BB0F8 800BA4F8 868D000C */ lh $t5, 0xc($s4) -/* 0BB0FC 800BA4FC 92CF0006 */ lbu $t7, 6($s6) -/* 0BB100 800BA500 032D0019 */ multu $t9, $t5 -/* 0BB104 800BA504 000FC140 */ sll $t8, $t7, 5 -/* 0BB108 800BA508 00007012 */ mflo $t6 -/* 0BB10C 800BA50C 01D8C821 */ addu $t9, $t6, $t8 -/* 0BB110 800BA510 272D01E0 */ addiu $t5, $t9, 0x1e0 -/* 0BB114 800BA514 AE4D0000 */ sw $t5, ($s2) -/* 0BB118 800BA518 8ECE0014 */ lw $t6, 0x14($s6) -/* 0BB11C 800BA51C 8ECF0010 */ lw $t7, 0x10($s6) -/* 0BB120 800BA520 8ED90018 */ lw $t9, 0x18($s6) -/* 0BB124 800BA524 8ECD001C */ lw $t5, 0x1c($s6) -/* 0BB128 800BA528 01EEC021 */ addu $t8, $t7, $t6 -/* 0BB12C 800BA52C 8ECF0020 */ lw $t7, 0x20($s6) -/* 0BB130 800BA530 03198021 */ addu $s0, $t8, $t9 -/* 0BB134 800BA534 8ED80024 */ lw $t8, 0x24($s6) -/* 0BB138 800BA538 3C19803B */ lui $t9, %hi(D_803AFBD0) # $t9, 0x803b -/* 0BB13C 800BA53C 8F39FBD0 */ lw $t9, %lo(D_803AFBD0)($t9) -/* 0BB140 800BA540 01AF7021 */ addu $t6, $t5, $t7 -/* 0BB144 800BA544 01D88821 */ addu $s1, $t6, $t8 -/* 0BB148 800BA548 02115021 */ addu $t2, $s0, $s1 -/* 0BB14C 800BA54C 032A5823 */ subu $t3, $t9, $t2 -/* 0BB150 800BA550 256BFF00 */ addiu $t3, $t3, -0x100 -/* 0BB154 800BA554 AC8B0000 */ sw $t3, ($a0) -/* 0BB158 800BA558 0C02E453 */ jal func_800B914C -/* 0BB15C 800BA55C AC8A000C */ sw $t2, 0xc($a0) -/* 0BB160 800BA560 3C04803B */ lui $a0, %hi(D_803B0358) # $a0, 0x803b -/* 0BB164 800BA564 24840358 */ addiu $a0, %lo(D_803B0358) # addiu $a0, $a0, 0x358 -/* 0BB168 800BA568 AC900000 */ sw $s0, ($a0) -/* 0BB16C 800BA56C 0C02E472 */ jal func_800B91C8 -/* 0BB170 800BA570 AC910004 */ sw $s1, 4($a0) -/* 0BB174 800BA574 8ECD0010 */ lw $t5, 0x10($s6) -/* 0BB178 800BA578 3C04803B */ lui $a0, %hi(D_803B0360) # $a0, 0x803b -/* 0BB17C 800BA57C 24840360 */ addiu $a0, %lo(D_803B0360) # addiu $a0, $a0, 0x360 -/* 0BB180 800BA580 AC8D0000 */ sw $t5, ($a0) -/* 0BB184 800BA584 8ECF0014 */ lw $t7, 0x14($s6) -/* 0BB188 800BA588 AC8F0004 */ sw $t7, 4($a0) -/* 0BB18C 800BA58C 8ECE0018 */ lw $t6, 0x18($s6) -/* 0BB190 800BA590 0C02E491 */ jal func_800B9244 -/* 0BB194 800BA594 AC8E0008 */ sw $t6, 8($a0) -/* 0BB198 800BA598 8ED8001C */ lw $t8, 0x1c($s6) -/* 0BB19C 800BA59C 3C04803B */ lui $a0, %hi(D_803B0370) # $a0, 0x803b -/* 0BB1A0 800BA5A0 24840370 */ addiu $a0, %lo(D_803B0370) # addiu $a0, $a0, 0x370 -/* 0BB1A4 800BA5A4 AC980000 */ sw $t8, ($a0) -/* 0BB1A8 800BA5A8 8ED90020 */ lw $t9, 0x20($s6) -/* 0BB1AC 800BA5AC AC990004 */ sw $t9, 4($a0) -/* 0BB1B0 800BA5B0 8ECD0024 */ lw $t5, 0x24($s6) -/* 0BB1B4 800BA5B4 0C02E4C0 */ jal func_800B9300 -/* 0BB1B8 800BA5B8 AC8D0008 */ sw $t5, 8($a0) -/* 0BB1BC 800BA5BC 0C02E378 */ jal func_800B8DE0 -/* 0BB1C0 800BA5C0 00000000 */ nop -/* 0BB1C4 800BA5C4 3C05803B */ lui $a1, %hi(D_803B70B0) # $a1, 0x803b -/* 0BB1C8 800BA5C8 8CA570B0 */ lw $a1, %lo(D_803B70B0)($a1) -/* 0BB1CC 800BA5CC 3C13803B */ lui $s3, %hi(D_803AFBE8) # $s3, 0x803b -/* 0BB1D0 800BA5D0 2673FBE8 */ addiu $s3, %lo(D_803AFBE8) # addiu $s3, $s3, -0x418 -/* 0BB1D4 800BA5D4 00057880 */ sll $t7, $a1, 2 -/* 0BB1D8 800BA5D8 01E57823 */ subu $t7, $t7, $a1 -/* 0BB1DC 800BA5DC 000F2980 */ sll $a1, $t7, 6 -/* 0BB1E0 800BA5E0 0C02E3FF */ jal func_800B8FFC -/* 0BB1E4 800BA5E4 02602025 */ move $a0, $s3 -/* 0BB1E8 800BA5E8 3C01803B */ lui $at, %hi(D_803B1508) # $at, 0x803b -/* 0BB1EC 800BA5EC 0C02F74D */ jal func_800BDD34 -/* 0BB1F0 800BA5F0 AC221508 */ sw $v0, %lo(D_803B1508)($at) -/* 0BB1F4 800BA5F4 0C02F4DA */ jal func_800BD368 -/* 0BB1F8 800BA5F8 00000000 */ nop -/* 0BB1FC 800BA5FC 3C18803B */ lui $t8, %hi(D_803B70B0) # $t8, 0x803b -/* 0BB200 800BA600 8F1870B0 */ lw $t8, %lo(D_803B70B0)($t8) -/* 0BB204 800BA604 868E000C */ lh $t6, 0xc($s4) -/* 0BB208 800BA608 02602025 */ move $a0, $s3 -/* 0BB20C 800BA60C 01D80019 */ multu $t6, $t8 -/* 0BB210 800BA610 00002812 */ mflo $a1 -/* 0BB214 800BA614 0005C900 */ sll $t9, $a1, 4 -/* 0BB218 800BA618 0C02E3FF */ jal func_800B8FFC -/* 0BB21C 800BA61C 03202825 */ move $a1, $t9 -/* 0BB220 800BA620 3C01803B */ lui $at, %hi(D_803AFBC4) # $at, 0x803b -/* 0BB224 800BA624 3C10803B */ lui $s0, %hi(D_803B70C8) # $s0, 0x803b -/* 0BB228 800BA628 3C11803B */ lui $s1, %hi(D_803B70D0) # $s1, 0x803b -/* 0BB22C 800BA62C AC22FBC4 */ sw $v0, %lo(D_803AFBC4)($at) -/* 0BB230 800BA630 263170D0 */ addiu $s1, %lo(D_803B70D0) # addiu $s1, $s1, 0x70d0 -/* 0BB234 800BA634 261070C8 */ addiu $s0, %lo(D_803B70C8) # addiu $s0, $s0, 0x70c8 -.L800BA638: -/* 0BB238 800BA638 8E450000 */ lw $a1, ($s2) -/* 0BB23C 800BA63C 02602025 */ move $a0, $s3 -/* 0BB240 800BA640 000568C0 */ sll $t5, $a1, 3 -/* 0BB244 800BA644 0C02E3FF */ jal func_800B8FFC -/* 0BB248 800BA648 01A02825 */ move $a1, $t5 -/* 0BB24C 800BA64C 26100004 */ addiu $s0, $s0, 4 -/* 0BB250 800BA650 1611FFF9 */ bne $s0, $s1, .L800BA638 -/* 0BB254 800BA654 AE02FFFC */ sw $v0, -4($s0) -/* 0BB258 800BA658 3C12803B */ lui $s2, %hi(D_803AF790) # $s2, 0x803b -/* 0BB25C 800BA65C 3C02803B */ lui $v0, %hi(D_803AFBB0) # $v0, 0x803b -/* 0BB260 800BA660 2442FBB0 */ addiu $v0, %lo(D_803AFBB0) # addiu $v0, $v0, -0x450 -/* 0BB264 800BA664 2652F790 */ addiu $s2, %lo(D_803AF790) # addiu $s2, $s2, -0x870 -.L800BA668: -/* 0BB268 800BA668 26520108 */ addiu $s2, $s2, 0x108 -/* 0BB26C 800BA66C 0242082B */ sltu $at, $s2, $v0 -/* 0BB270 800BA670 1420FFFD */ bnez $at, .L800BA668 -/* 0BB274 800BA674 A240FEF9 */ sb $zero, -0x107($s2) -/* 0BB278 800BA678 92CF0006 */ lbu $t7, 6($s6) -/* 0BB27C 800BA67C 3C17803B */ lui $s7, %hi(D_803AFBC3) # $s7, 0x803b -/* 0BB280 800BA680 26F7FBC3 */ addiu $s7, %lo(D_803AFBC3) # addiu $s7, $s7, -0x43d -/* 0BB284 800BA684 A2EF0000 */ sb $t7, ($s7) -/* 0BB288 800BA688 82EE0000 */ lb $t6, ($s7) -/* 0BB28C 800BA68C 3C12803B */ lui $s2, %hi(D_803AF790) # $s2, 0x803b -/* 0BB290 800BA690 2652F790 */ addiu $s2, %lo(D_803AF790) # addiu $s2, $s2, -0x870 -/* 0BB294 800BA694 19C0005F */ blez $t6, .L800BA814 -/* 0BB298 800BA698 0000A825 */ move $s5, $zero -/* 0BB29C 800BA69C 241E0008 */ li $fp, 8 -/* 0BB2A0 800BA6A0 8ED80008 */ lw $t8, 8($s6) -.L800BA6A4: -/* 0BB2A4 800BA6A4 0015C880 */ sll $t9, $s5, 2 -/* 0BB2A8 800BA6A8 02602025 */ move $a0, $s3 -/* 0BB2AC 800BA6AC 03191021 */ addu $v0, $t8, $t9 -/* 0BB2B0 800BA6B0 904D0001 */ lbu $t5, 1($v0) -/* 0BB2B4 800BA6B4 000D7980 */ sll $t7, $t5, 6 -/* 0BB2B8 800BA6B8 A64F0006 */ sh $t7, 6($s2) -/* 0BB2BC 800BA6BC 904E0000 */ lbu $t6, ($v0) -/* 0BB2C0 800BA6C0 31E5FFFF */ andi $a1, $t7, 0xffff -/* 0BB2C4 800BA6C4 0005C840 */ sll $t9, $a1, 1 -/* 0BB2C8 800BA6C8 A24E0004 */ sb $t6, 4($s2) -/* 0BB2CC 800BA6CC 94580002 */ lhu $t8, 2($v0) -/* 0BB2D0 800BA6D0 A25E0001 */ sb $fp, 1($s2) -/* 0BB2D4 800BA6D4 03202825 */ move $a1, $t9 -/* 0BB2D8 800BA6D8 0C02E3FF */ jal func_800B8FFC -/* 0BB2DC 800BA6DC A6580008 */ sh $t8, 8($s2) -/* 0BB2E0 800BA6E0 96450006 */ lhu $a1, 6($s2) -/* 0BB2E4 800BA6E4 AE420018 */ sw $v0, 0x18($s2) -/* 0BB2E8 800BA6E8 02602025 */ move $a0, $s3 -/* 0BB2EC 800BA6EC 00056840 */ sll $t5, $a1, 1 -/* 0BB2F0 800BA6F0 0C02E3FF */ jal func_800B8FFC -/* 0BB2F4 800BA6F4 01A02825 */ move $a1, $t5 -/* 0BB2F8 800BA6F8 92430004 */ lbu $v1, 4($s2) -/* 0BB2FC 800BA6FC 964F0006 */ lhu $t7, 6($s2) -/* 0BB300 800BA700 240E0002 */ li $t6, 2 -/* 0BB304 800BA704 24010001 */ li $at, 1 -/* 0BB308 800BA708 AE42001C */ sw $v0, 0x1c($s2) -/* 0BB30C 800BA70C AE40000C */ sw $zero, 0xc($s2) -/* 0BB310 800BA710 AE400010 */ sw $zero, 0x10($s2) -/* 0BB314 800BA714 A2400003 */ sb $zero, 3($s2) -/* 0BB318 800BA718 A24E0002 */ sb $t6, 2($s2) -/* 0BB31C 800BA71C 10610037 */ beq $v1, $at, .L800BA7FC -/* 0BB320 800BA720 AE4F0014 */ sw $t7, 0x14($s2) -/* 0BB324 800BA724 34198000 */ li $t9, 32768 -/* 0BB328 800BA728 0323001A */ div $zero, $t9, $v1 -/* 0BB32C 800BA72C 24180001 */ li $t8, 1 -/* 0BB330 800BA730 00006812 */ mflo $t5 -/* 0BB334 800BA734 A2580000 */ sb $t8, ($s2) -/* 0BB338 800BA738 14600002 */ bnez $v1, .L800BA744 -/* 0BB33C 800BA73C 00000000 */ nop -/* 0BB340 800BA740 0007000D */ break 7 -.L800BA744: -/* 0BB344 800BA744 2401FFFF */ li $at, -1 -/* 0BB348 800BA748 14610004 */ bne $v1, $at, .L800BA75C -/* 0BB34C 800BA74C 3C018000 */ lui $at, 0x8000 -/* 0BB350 800BA750 17210002 */ bne $t9, $at, .L800BA75C -/* 0BB354 800BA754 00000000 */ nop -/* 0BB358 800BA758 0006000D */ break 6 -.L800BA75C: -/* 0BB35C 800BA75C A64D000A */ sh $t5, 0xa($s2) -/* 0BB360 800BA760 02602025 */ move $a0, $s3 -/* 0BB364 800BA764 24050020 */ li $a1, 32 -/* 0BB368 800BA768 0C02E3FF */ jal func_800B8FFC -/* 0BB36C 800BA76C 00008825 */ move $s1, $zero -/* 0BB370 800BA770 AE420020 */ sw $v0, 0x20($s2) -/* 0BB374 800BA774 02602025 */ move $a0, $s3 -/* 0BB378 800BA778 0C02E3FF */ jal func_800B8FFC -/* 0BB37C 800BA77C 24050020 */ li $a1, 32 -/* 0BB380 800BA780 AE420024 */ sw $v0, 0x24($s2) -/* 0BB384 800BA784 02602025 */ move $a0, $s3 -/* 0BB388 800BA788 0C02E3FF */ jal func_800B8FFC -/* 0BB38C 800BA78C 24050020 */ li $a1, 32 -/* 0BB390 800BA790 AE420028 */ sw $v0, 0x28($s2) -/* 0BB394 800BA794 02602025 */ move $a0, $s3 -/* 0BB398 800BA798 0C02E3FF */ jal func_800B8FFC -/* 0BB39C 800BA79C 24050020 */ li $a1, 32 -/* 0BB3A0 800BA7A0 868F000C */ lh $t7, 0xc($s4) -/* 0BB3A4 800BA7A4 AE42002C */ sw $v0, 0x2c($s2) -/* 0BB3A8 800BA7A8 59E00015 */ blezl $t7, .L800BA800 -/* 0BB3AC 800BA7AC 82ED0000 */ lb $t5, ($s7) -/* 0BB3B0 800BA7B0 02408025 */ move $s0, $s2 -/* 0BB3B4 800BA7B4 02602025 */ move $a0, $s3 -.L800BA7B8: -/* 0BB3B8 800BA7B8 0C02E3FF */ jal func_800B8FFC -/* 0BB3BC 800BA7BC 24050300 */ li $a1, 768 -/* 0BB3C0 800BA7C0 244E0180 */ addiu $t6, $v0, 0x180 -/* 0BB3C4 800BA7C4 AE020034 */ sw $v0, 0x34($s0) -/* 0BB3C8 800BA7C8 AE0E0038 */ sw $t6, 0x38($s0) -/* 0BB3CC 800BA7CC 02602025 */ move $a0, $s3 -/* 0BB3D0 800BA7D0 0C02E3FF */ jal func_800B8FFC -/* 0BB3D4 800BA7D4 24050300 */ li $a1, 768 -/* 0BB3D8 800BA7D8 24580180 */ addiu $t8, $v0, 0x180 -/* 0BB3DC 800BA7DC AE020098 */ sw $v0, 0x98($s0) -/* 0BB3E0 800BA7E0 AE18009C */ sw $t8, 0x9c($s0) -/* 0BB3E4 800BA7E4 8699000C */ lh $t9, 0xc($s4) -/* 0BB3E8 800BA7E8 26310001 */ addiu $s1, $s1, 1 -/* 0BB3EC 800BA7EC 26100014 */ addiu $s0, $s0, 0x14 -/* 0BB3F0 800BA7F0 0239082A */ slt $at, $s1, $t9 -/* 0BB3F4 800BA7F4 5420FFF0 */ bnel $at, $zero, .L800BA7B8 -/* 0BB3F8 800BA7F8 02602025 */ move $a0, $s3 -.L800BA7FC: -/* 0BB3FC 800BA7FC 82ED0000 */ lb $t5, ($s7) -.L800BA800: -/* 0BB400 800BA800 26B50001 */ addiu $s5, $s5, 1 -/* 0BB404 800BA804 26520108 */ addiu $s2, $s2, 0x108 -/* 0BB408 800BA808 02AD082A */ slt $at, $s5, $t5 -/* 0BB40C 800BA80C 5420FFA5 */ bnel $at, $zero, .L800BA6A4 -/* 0BB410 800BA810 8ED80008 */ lw $t8, 8($s6) -.L800BA814: -/* 0BB414 800BA814 3C04803B */ lui $a0, %hi(D_803B70B0) # $a0, 0x803b -/* 0BB418 800BA818 0C02EC0C */ jal func_800BB030 -/* 0BB41C 800BA81C 8C8470B0 */ lw $a0, %lo(D_803B70B0)($a0) -/* 0BB420 800BA820 0C033624 */ jal osWritebackDCacheAll -/* 0BB424 800BA824 00000000 */ nop -/* 0BB428 800BA828 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BB42C 800BA82C 8FB00018 */ lw $s0, 0x18($sp) -/* 0BB430 800BA830 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BB434 800BA834 8FB20020 */ lw $s2, 0x20($sp) -/* 0BB438 800BA838 8FB30024 */ lw $s3, 0x24($sp) -/* 0BB43C 800BA83C 8FB40028 */ lw $s4, 0x28($sp) -/* 0BB440 800BA840 8FB5002C */ lw $s5, 0x2c($sp) -/* 0BB444 800BA844 8FB60030 */ lw $s6, 0x30($sp) -/* 0BB448 800BA848 8FB70034 */ lw $s7, 0x34($sp) -/* 0BB44C 800BA84C 8FBE0038 */ lw $fp, 0x38($sp) -/* 0BB450 800BA850 03E00008 */ jr $ra -/* 0BB454 800BA854 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800BA858 -/* 0BB458 800BA858 3C03803B */ lui $v1, %hi(D_803B01C4) # $v1, 0x803b -/* 0BB45C 800BA85C 8C6301C4 */ lw $v1, %lo(D_803B01C4)($v1) -/* 0BB460 800BA860 00A03025 */ move $a2, $a1 -/* 0BB464 800BA864 3C05803B */ lui $a1, %hi(D_803B01B8) # $a1, 0x803b -/* 0BB468 800BA868 1860000E */ blez $v1, .L800BA8A4 -/* 0BB46C 800BA86C 00001025 */ move $v0, $zero -/* 0BB470 800BA870 24A501B8 */ addiu $a1, %lo(D_803B01B8) # addiu $a1, $a1, 0x1b8 -.L800BA874: -/* 0BB474 800BA874 84AE0018 */ lh $t6, 0x18($a1) -/* 0BB478 800BA878 24420001 */ addiu $v0, $v0, 1 -/* 0BB47C 800BA87C 0043082A */ slt $at, $v0, $v1 -/* 0BB480 800BA880 148E0006 */ bne $a0, $t6, .L800BA89C -/* 0BB484 800BA884 00000000 */ nop -/* 0BB488 800BA888 84AF001A */ lh $t7, 0x1a($a1) -/* 0BB48C 800BA88C 14CF0003 */ bne $a2, $t7, .L800BA89C -/* 0BB490 800BA890 00000000 */ nop -/* 0BB494 800BA894 03E00008 */ jr $ra -/* 0BB498 800BA898 8CA20010 */ lw $v0, 0x10($a1) - -.L800BA89C: -/* 0BB49C 800BA89C 1420FFF5 */ bnez $at, .L800BA874 -/* 0BB4A0 800BA8A0 24A5000C */ addiu $a1, $a1, 0xc -.L800BA8A4: -/* 0BB4A4 800BA8A4 00001025 */ move $v0, $zero -/* 0BB4A8 800BA8A8 03E00008 */ jr $ra -/* 0BB4AC 800BA8AC 00000000 */ nop - -/* 0BB4B0 800BA8B0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0BB4B4 800BA8B4 AFB10018 */ sw $s1, 0x18($sp) -/* 0BB4B8 800BA8B8 AFB00014 */ sw $s0, 0x14($sp) -/* 0BB4BC 800BA8BC 00808025 */ move $s0, $a0 -/* 0BB4C0 800BA8C0 00A08825 */ move $s1, $a1 -/* 0BB4C4 800BA8C4 10800009 */ beqz $a0, .L800BA8EC -/* 0BB4C8 800BA8C8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0BB4CC 800BA8CC 24010001 */ li $at, 1 -/* 0BB4D0 800BA8D0 1081000A */ beq $a0, $at, .L800BA8FC -/* 0BB4D4 800BA8D4 3C0F803B */ lui $t7, %hi(D_803B7070) # $t7, 0x803b -/* 0BB4D8 800BA8D8 24010002 */ li $at, 2 -/* 0BB4DC 800BA8DC 1081000A */ beq $a0, $at, .L800BA908 -/* 0BB4E0 800BA8E0 3C18803B */ lui $t8, %hi(D_803B7074) # $t8, 0x803b -/* 0BB4E4 800BA8E4 1000000B */ b .L800BA914 -/* 0BB4E8 800BA8E8 8FB9003C */ lw $t9, 0x3c($sp) -.L800BA8EC: -/* 0BB4EC 800BA8EC 3C0E803B */ lui $t6, %hi(D_803B706C) # $t6, 0x803b -/* 0BB4F0 800BA8F0 8DCE706C */ lw $t6, %lo(D_803B706C)($t6) -/* 0BB4F4 800BA8F4 10000006 */ b .L800BA910 -/* 0BB4F8 800BA8F8 AFAE003C */ sw $t6, 0x3c($sp) -.L800BA8FC: -/* 0BB4FC 800BA8FC 8DEF7070 */ lw $t7, %lo(D_803B7070)($t7) -/* 0BB500 800BA900 10000003 */ b .L800BA910 -/* 0BB504 800BA904 AFAF003C */ sw $t7, 0x3c($sp) -.L800BA908: -/* 0BB508 800BA908 8F187074 */ lw $t8, %lo(D_803B7074)($t8) -/* 0BB50C 800BA90C AFB8003C */ sw $t8, 0x3c($sp) -.L800BA910: -/* 0BB510 800BA910 8FB9003C */ lw $t9, 0x3c($sp) -.L800BA914: -/* 0BB514 800BA914 001140C0 */ sll $t0, $s1, 3 -/* 0BB518 800BA918 02002025 */ move $a0, $s0 -/* 0BB51C 800BA91C 03281021 */ addu $v0, $t9, $t0 -/* 0BB520 800BA920 8C490008 */ lw $t1, 8($v0) -/* 0BB524 800BA924 15200002 */ bnez $t1, .L800BA930 -/* 0BB528 800BA928 00000000 */ nop -/* 0BB52C 800BA92C 8C510004 */ lw $s1, 4($v0) -.L800BA930: -/* 0BB530 800BA930 0C02EA16 */ jal func_800BA858 -/* 0BB534 800BA934 02202825 */ move $a1, $s1 -/* 0BB538 800BA938 14400049 */ bnez $v0, .L800BAA60 -/* 0BB53C 800BA93C 3C04803B */ lui $a0, %hi(D_803B01B8) # $a0, 0x803b -/* 0BB540 800BA940 8FAA003C */ lw $t2, 0x3c($sp) -/* 0BB544 800BA944 001158C0 */ sll $t3, $s1, 3 -/* 0BB548 800BA948 248401B8 */ addiu $a0, %lo(D_803B01B8) # addiu $a0, $a0, 0x1b8 -/* 0BB54C 800BA94C 24010001 */ li $at, 1 -/* 0BB550 800BA950 014B1021 */ addu $v0, $t2, $t3 -/* 0BB554 800BA954 8C86000C */ lw $a2, 0xc($a0) -/* 0BB558 800BA958 8C450008 */ lw $a1, 8($v0) -/* 0BB55C 800BA95C 16010002 */ bne $s0, $at, .L800BA968 -/* 0BB560 800BA960 8C470004 */ lw $a3, 4($v0) -/* 0BB564 800BA964 24E70010 */ addiu $a3, $a3, 0x10 -.L800BA968: -/* 0BB568 800BA968 AFA50034 */ sw $a1, 0x34($sp) -/* 0BB56C 800BA96C AFA60038 */ sw $a2, 0x38($sp) -/* 0BB570 800BA970 0C02E3FF */ jal func_800B8FFC -/* 0BB574 800BA974 AFA70030 */ sw $a3, 0x30($sp) -/* 0BB578 800BA978 8FA60038 */ lw $a2, 0x38($sp) -/* 0BB57C 800BA97C 3C0D803B */ lui $t5, %hi(D_803B01B8) # $t5, 0x803b -/* 0BB580 800BA980 25AD01B8 */ addiu $t5, %lo(D_803B01B8) # addiu $t5, $t5, 0x1b8 -/* 0BB584 800BA984 00066080 */ sll $t4, $a2, 2 -/* 0BB588 800BA988 01866023 */ subu $t4, $t4, $a2 -/* 0BB58C 800BA98C 000C6080 */ sll $t4, $t4, 2 -/* 0BB590 800BA990 018D1821 */ addu $v1, $t4, $t5 -/* 0BB594 800BA994 AC620010 */ sw $v0, 0x10($v1) -/* 0BB598 800BA998 10400031 */ beqz $v0, .L800BAA60 -/* 0BB59C 800BA99C 8FA70030 */ lw $a3, 0x30($sp) -/* 0BB5A0 800BA9A0 00E02025 */ move $a0, $a3 -/* 0BB5A4 800BA9A4 00402825 */ move $a1, $v0 -/* 0BB5A8 800BA9A8 8FA60034 */ lw $a2, 0x34($sp) -/* 0BB5AC 800BA9AC 0C02EAA0 */ jal func_800BAA80 -/* 0BB5B0 800BA9B0 AFA30020 */ sw $v1, 0x20($sp) -/* 0BB5B4 800BA9B4 8FA30020 */ lw $v1, 0x20($sp) -/* 0BB5B8 800BA9B8 8FAE0034 */ lw $t6, 0x34($sp) -/* 0BB5BC 800BA9BC 3C0F803B */ lui $t7, %hi(D_803B0400) # $t7, 0x803b -/* 0BB5C0 800BA9C0 A4700018 */ sh $s0, 0x18($v1) -/* 0BB5C4 800BA9C4 A471001A */ sh $s1, 0x1a($v1) -/* 0BB5C8 800BA9C8 12000009 */ beqz $s0, .L800BA9F0 -/* 0BB5CC 800BA9CC AC6E0014 */ sw $t6, 0x14($v1) -/* 0BB5D0 800BA9D0 24010001 */ li $at, 1 -/* 0BB5D4 800BA9D4 1201000F */ beq $s0, $at, .L800BAA14 -/* 0BB5D8 800BA9D8 3C0A803B */ lui $t2, %hi(D_803B7080) # $t2, 0x803b -/* 0BB5DC 800BA9DC 24010002 */ li $at, 2 -/* 0BB5E0 800BA9E0 52010020 */ beql $s0, $at, .L800BAA64 -/* 0BB5E4 800BA9E4 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BB5E8 800BA9E8 1000001E */ b .L800BAA64 -/* 0BB5EC 800BA9EC 8FBF001C */ lw $ra, 0x1c($sp) -.L800BA9F0: -/* 0BB5F0 800BA9F0 25EF0400 */ addiu $t7, %lo(D_803B0400) # addiu $t7, $t7, 0x400 -/* 0BB5F4 800BA9F4 022F1021 */ addu $v0, $s1, $t7 -/* 0BB5F8 800BA9F8 90580000 */ lbu $t8, ($v0) -/* 0BB5FC 800BA9FC 24010005 */ li $at, 5 -/* 0BB600 800BAA00 24190005 */ li $t9, 5 -/* 0BB604 800BAA04 53010017 */ beql $t8, $at, .L800BAA64 -/* 0BB608 800BAA08 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BB60C 800BAA0C 10000014 */ b .L800BAA60 -/* 0BB610 800BAA10 A0590000 */ sb $t9, ($v0) -.L800BAA14: -/* 0BB614 800BAA14 8C680010 */ lw $t0, 0x10($v1) -/* 0BB618 800BAA18 8D4A7080 */ lw $t2, %lo(D_803B7080)($t2) -/* 0BB61C 800BAA1C 00115880 */ sll $t3, $s1, 2 -/* 0BB620 800BAA20 01715823 */ subu $t3, $t3, $s1 -/* 0BB624 800BAA24 000B5880 */ sll $t3, $t3, 2 -/* 0BB628 800BAA28 25090004 */ addiu $t1, $t0, 4 -/* 0BB62C 800BAA2C 014B6021 */ addu $t4, $t2, $t3 -/* 0BB630 800BAA30 AD890004 */ sw $t1, 4($t4) -/* 0BB634 800BAA34 0C02ED61 */ jal func_800BB584 -/* 0BB638 800BAA38 02202025 */ move $a0, $s1 -/* 0BB63C 800BAA3C 3C0D803B */ lui $t5, %hi(D_803B03C0) # $t5, 0x803b -/* 0BB640 800BAA40 25AD03C0 */ addiu $t5, %lo(D_803B03C0) # addiu $t5, $t5, 0x3c0 -/* 0BB644 800BAA44 022D1021 */ addu $v0, $s1, $t5 -/* 0BB648 800BAA48 904E0000 */ lbu $t6, ($v0) -/* 0BB64C 800BAA4C 24010005 */ li $at, 5 -/* 0BB650 800BAA50 240F0005 */ li $t7, 5 -/* 0BB654 800BAA54 51C10003 */ beql $t6, $at, .L800BAA64 -/* 0BB658 800BAA58 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BB65C 800BAA5C A04F0000 */ sb $t7, ($v0) -.L800BAA60: -/* 0BB660 800BAA60 8FBF001C */ lw $ra, 0x1c($sp) -.L800BAA64: -/* 0BB664 800BAA64 8FB00014 */ lw $s0, 0x14($sp) -/* 0BB668 800BAA68 8FB10018 */ lw $s1, 0x18($sp) -/* 0BB66C 800BAA6C 03E00008 */ jr $ra -/* 0BB670 800BAA70 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 0BB674 800BAA74 00000000 */ nop -/* 0BB678 800BAA78 00000000 */ nop -/* 0BB67C 800BAA7C 00000000 */ nop diff --git a/asm/audio/load.s b/asm/audio/load.s deleted file mode 100644 index 8d7aa788d..000000000 --- a/asm/audio/load.s +++ /dev/null @@ -1,1915 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.section .text, "ax" - -glabel func_800BAA80 -/* 0BB680 800BAA80 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BB684 800BAA84 AFA40028 */ sw $a0, 0x28($sp) -/* 0BB688 800BAA88 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BB68C 800BAA8C AFA5002C */ sw $a1, 0x2c($sp) -/* 0BB690 800BAA90 00A02025 */ move $a0, $a1 -/* 0BB694 800BAA94 AFA60030 */ sw $a2, 0x30($sp) -/* 0BB698 800BAA98 0C0336E0 */ jal osInvalDCache -/* 0BB69C 800BAA9C 00C02825 */ move $a1, $a2 -/* 0BB6A0 800BAAA0 8FAE002C */ lw $t6, 0x2c($sp) -/* 0BB6A4 800BAAA4 8FAF0030 */ lw $t7, 0x30($sp) -/* 0BB6A8 800BAAA8 3C18803B */ lui $t8, %hi(D_803B6720) # $t8, 0x803b -/* 0BB6AC 800BAAAC 27186720 */ addiu $t8, %lo(D_803B6720) # addiu $t8, $t8, 0x6720 -/* 0BB6B0 800BAAB0 3C04803B */ lui $a0, %hi(D_803B6740) # $a0, 0x803b -/* 0BB6B4 800BAAB4 24846740 */ addiu $a0, %lo(D_803B6740) # addiu $a0, $a0, 0x6740 -/* 0BB6B8 800BAAB8 AFB80018 */ sw $t8, 0x18($sp) -/* 0BB6BC 800BAABC 24050001 */ li $a1, 1 -/* 0BB6C0 800BAAC0 00003025 */ move $a2, $zero -/* 0BB6C4 800BAAC4 8FA70028 */ lw $a3, 0x28($sp) -/* 0BB6C8 800BAAC8 AFAE0010 */ sw $t6, 0x10($sp) -/* 0BB6CC 800BAACC 0C03370C */ jal osPiStartDma -/* 0BB6D0 800BAAD0 AFAF0014 */ sw $t7, 0x14($sp) -/* 0BB6D4 800BAAD4 3C04803B */ lui $a0, %hi(D_803B6720) # $a0, 0x803b -/* 0BB6D8 800BAAD8 24846720 */ addiu $a0, %lo(D_803B6720) # addiu $a0, $a0, 0x6720 -/* 0BB6DC 800BAADC 00002825 */ move $a1, $zero -/* 0BB6E0 800BAAE0 0C0335D4 */ jal osRecvMesg -/* 0BB6E4 800BAAE4 24060001 */ li $a2, 1 -/* 0BB6E8 800BAAE8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BB6EC 800BAAEC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BB6F0 800BAAF0 03E00008 */ jr $ra -/* 0BB6F4 800BAAF4 00000000 */ nop - -glabel func_800BAAF8 -/* 0BB6F8 800BAAF8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BB6FC 800BAAFC AFA40028 */ sw $a0, 0x28($sp) -/* 0BB700 800BAB00 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BB704 800BAB04 AFA5002C */ sw $a1, 0x2c($sp) -/* 0BB708 800BAB08 00A02025 */ move $a0, $a1 -/* 0BB70C 800BAB0C AFA60030 */ sw $a2, 0x30($sp) -/* 0BB710 800BAB10 AFA70034 */ sw $a3, 0x34($sp) -/* 0BB714 800BAB14 0C0336E0 */ jal osInvalDCache -/* 0BB718 800BAB18 00C02825 */ move $a1, $a2 -/* 0BB71C 800BAB1C 8FAE002C */ lw $t6, 0x2c($sp) -/* 0BB720 800BAB20 8FAF0030 */ lw $t7, 0x30($sp) -/* 0BB724 800BAB24 8FB80034 */ lw $t8, 0x34($sp) -/* 0BB728 800BAB28 8FA40038 */ lw $a0, 0x38($sp) -/* 0BB72C 800BAB2C 00002825 */ move $a1, $zero -/* 0BB730 800BAB30 00003025 */ move $a2, $zero -/* 0BB734 800BAB34 8FA70028 */ lw $a3, 0x28($sp) -/* 0BB738 800BAB38 AFAE0010 */ sw $t6, 0x10($sp) -/* 0BB73C 800BAB3C AFAF0014 */ sw $t7, 0x14($sp) -/* 0BB740 800BAB40 0C03370C */ jal osPiStartDma -/* 0BB744 800BAB44 AFB80018 */ sw $t8, 0x18($sp) -/* 0BB748 800BAB48 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BB74C 800BAB4C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BB750 800BAB50 03E00008 */ jr $ra -/* 0BB754 800BAB54 00000000 */ nop - -glabel func_800BAB58 -/* 0BB758 800BAB58 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0BB75C 800BAB5C AFBF002C */ sw $ra, 0x2c($sp) -/* 0BB760 800BAB60 AFB00028 */ sw $s0, 0x28($sp) -/* 0BB764 800BAB64 AFA40030 */ sw $a0, 0x30($sp) -/* 0BB768 800BAB68 AFA50034 */ sw $a1, 0x34($sp) -/* 0BB76C 800BAB6C AFA7003C */ sw $a3, 0x3c($sp) -/* 0BB770 800BAB70 8CC20000 */ lw $v0, ($a2) -/* 0BB774 800BAB74 28411000 */ slti $at, $v0, 0x1000 -/* 0BB778 800BAB78 14200003 */ bnez $at, .L800BAB88 -/* 0BB77C 800BAB7C 00408025 */ move $s0, $v0 -/* 0BB780 800BAB80 10000001 */ b .L800BAB88 -/* 0BB784 800BAB84 24101000 */ li $s0, 4096 -.L800BAB88: -/* 0BB788 800BAB88 00507023 */ subu $t6, $v0, $s0 -/* 0BB78C 800BAB8C ACCE0000 */ sw $t6, ($a2) -/* 0BB790 800BAB90 8FAF0034 */ lw $t7, 0x34($sp) -/* 0BB794 800BAB94 02002825 */ move $a1, $s0 -/* 0BB798 800BAB98 0C0336E0 */ jal osInvalDCache -/* 0BB79C 800BAB9C 8DE40000 */ lw $a0, ($t7) -/* 0BB7A0 800BABA0 8FB80030 */ lw $t8, 0x30($sp) -/* 0BB7A4 800BABA4 8FB90034 */ lw $t9, 0x34($sp) -/* 0BB7A8 800BABA8 8FA9003C */ lw $t1, 0x3c($sp) -/* 0BB7AC 800BABAC 8F070000 */ lw $a3, ($t8) -/* 0BB7B0 800BABB0 8F280000 */ lw $t0, ($t9) -/* 0BB7B4 800BABB4 AFB00014 */ sw $s0, 0x14($sp) -/* 0BB7B8 800BABB8 8FA40040 */ lw $a0, 0x40($sp) -/* 0BB7BC 800BABBC 00002825 */ move $a1, $zero -/* 0BB7C0 800BABC0 00003025 */ move $a2, $zero -/* 0BB7C4 800BABC4 AFA90018 */ sw $t1, 0x18($sp) -/* 0BB7C8 800BABC8 0C03370C */ jal osPiStartDma -/* 0BB7CC 800BABCC AFA80010 */ sw $t0, 0x10($sp) -/* 0BB7D0 800BABD0 8FA30030 */ lw $v1, 0x30($sp) -/* 0BB7D4 800BABD4 8FA20034 */ lw $v0, 0x34($sp) -/* 0BB7D8 800BABD8 8C6A0000 */ lw $t2, ($v1) -/* 0BB7DC 800BABDC 01505821 */ addu $t3, $t2, $s0 -/* 0BB7E0 800BABE0 AC6B0000 */ sw $t3, ($v1) -/* 0BB7E4 800BABE4 8C4C0000 */ lw $t4, ($v0) -/* 0BB7E8 800BABE8 01906821 */ addu $t5, $t4, $s0 -/* 0BB7EC 800BABEC AC4D0000 */ sw $t5, ($v0) -/* 0BB7F0 800BABF0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BB7F4 800BABF4 8FB00028 */ lw $s0, 0x28($sp) -/* 0BB7F8 800BABF8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0BB7FC 800BABFC 03E00008 */ jr $ra -/* 0BB800 800BAC00 00000000 */ nop - -glabel func_800BAC04 -/* 0BB804 800BAC04 3C05803B */ lui $a1, %hi(D_803B6E5C) # $a1, 0x803b -/* 0BB808 800BAC08 24A56E5C */ addiu $a1, %lo(D_803B6E5C) # addiu $a1, $a1, 0x6e5c -/* 0BB80C 800BAC0C 8CA30000 */ lw $v1, ($a1) -/* 0BB810 800BAC10 3C04803B */ lui $a0, %hi(D_803B6758) # $a0, 0x803b -/* 0BB814 800BAC14 24846758 */ addiu $a0, %lo(D_803B6758) # addiu $a0, $a0, 0x6758 -/* 0BB818 800BAC18 10600018 */ beqz $v1, .L800BAC7C -/* 0BB81C 800BAC1C 00001025 */ move $v0, $zero -/* 0BB820 800BAC20 3C07803B */ lui $a3, %hi(D_803B6E68) # $a3, 0x803b -/* 0BB824 800BAC24 3C06803B */ lui $a2, %hi(D_803B706A) # $a2, 0x803b -/* 0BB828 800BAC28 24C6706A */ addiu $a2, %lo(D_803B706A) # addiu $a2, $a2, 0x706a -/* 0BB82C 800BAC2C 24E76E68 */ addiu $a3, %lo(D_803B6E68) # addiu $a3, $a3, 0x6e68 -/* 0BB830 800BAC30 9083000E */ lbu $v1, 0xe($a0) -.L800BAC34: -/* 0BB834 800BAC34 1060000B */ beqz $v1, .L800BAC64 -/* 0BB838 800BAC38 246EFFFF */ addiu $t6, $v1, -1 -/* 0BB83C 800BAC3C 31CF00FF */ andi $t7, $t6, 0xff -/* 0BB840 800BAC40 15E00008 */ bnez $t7, .L800BAC64 -/* 0BB844 800BAC44 A08E000E */ sb $t6, 0xe($a0) -/* 0BB848 800BAC48 90C30000 */ lbu $v1, ($a2) -/* 0BB84C 800BAC4C 90D80000 */ lbu $t8, ($a2) -/* 0BB850 800BAC50 00E3C821 */ addu $t9, $a3, $v1 -/* 0BB854 800BAC54 A3220000 */ sb $v0, ($t9) -/* 0BB858 800BAC58 24680001 */ addiu $t0, $v1, 1 -/* 0BB85C 800BAC5C A0C80000 */ sb $t0, ($a2) -/* 0BB860 800BAC60 A098000D */ sb $t8, 0xd($a0) -.L800BAC64: -/* 0BB864 800BAC64 8CA30000 */ lw $v1, ($a1) -/* 0BB868 800BAC68 24420001 */ addiu $v0, $v0, 1 -/* 0BB86C 800BAC6C 24840010 */ addiu $a0, $a0, 0x10 -/* 0BB870 800BAC70 0043082B */ sltu $at, $v0, $v1 -/* 0BB874 800BAC74 5420FFEF */ bnel $at, $zero, .L800BAC34 -/* 0BB878 800BAC78 9083000E */ lbu $v1, 0xe($a0) -.L800BAC7C: -/* 0BB87C 800BAC7C 3C05803B */ lui $a1, %hi(D_803B6E58) # $a1, 0x803b -/* 0BB880 800BAC80 24A56E58 */ addiu $a1, %lo(D_803B6E58) # addiu $a1, $a1, 0x6e58 -/* 0BB884 800BAC84 8CA90000 */ lw $t1, ($a1) -/* 0BB888 800BAC88 00601025 */ move $v0, $v1 -/* 0BB88C 800BAC8C 00035100 */ sll $t2, $v1, 4 -/* 0BB890 800BAC90 0069082B */ sltu $at, $v1, $t1 -/* 0BB894 800BAC94 1020001A */ beqz $at, .L800BAD00 -/* 0BB898 800BAC98 3C0B803B */ lui $t3, %hi(D_803B6758) # $t3, 0x803b -/* 0BB89C 800BAC9C 256B6758 */ addiu $t3, %lo(D_803B6758) # addiu $t3, $t3, 0x6758 -/* 0BB8A0 800BACA0 3C07803B */ lui $a3, %hi(D_803B6F68) # $a3, 0x803b -/* 0BB8A4 800BACA4 3C06803B */ lui $a2, %hi(D_803B706B) # $a2, 0x803b -/* 0BB8A8 800BACA8 24C6706B */ addiu $a2, %lo(D_803B706B) # addiu $a2, $a2, 0x706b -/* 0BB8AC 800BACAC 24E76F68 */ addiu $a3, %lo(D_803B6F68) # addiu $a3, $a3, 0x6f68 -/* 0BB8B0 800BACB0 014B2021 */ addu $a0, $t2, $t3 -/* 0BB8B4 800BACB4 9083000E */ lbu $v1, 0xe($a0) -.L800BACB8: -/* 0BB8B8 800BACB8 1060000B */ beqz $v1, .L800BACE8 -/* 0BB8BC 800BACBC 246CFFFF */ addiu $t4, $v1, -1 -/* 0BB8C0 800BACC0 318D00FF */ andi $t5, $t4, 0xff -/* 0BB8C4 800BACC4 15A00008 */ bnez $t5, .L800BACE8 -/* 0BB8C8 800BACC8 A08C000E */ sb $t4, 0xe($a0) -/* 0BB8CC 800BACCC 90C30000 */ lbu $v1, ($a2) -/* 0BB8D0 800BACD0 90CE0000 */ lbu $t6, ($a2) -/* 0BB8D4 800BACD4 00E37821 */ addu $t7, $a3, $v1 -/* 0BB8D8 800BACD8 A1E20000 */ sb $v0, ($t7) -/* 0BB8DC 800BACDC 24780001 */ addiu $t8, $v1, 1 -/* 0BB8E0 800BACE0 A0D80000 */ sb $t8, ($a2) -/* 0BB8E4 800BACE4 A08E000D */ sb $t6, 0xd($a0) -.L800BACE8: -/* 0BB8E8 800BACE8 8CB90000 */ lw $t9, ($a1) -/* 0BB8EC 800BACEC 24420001 */ addiu $v0, $v0, 1 -/* 0BB8F0 800BACF0 24840010 */ addiu $a0, $a0, 0x10 -/* 0BB8F4 800BACF4 0059082B */ sltu $at, $v0, $t9 -/* 0BB8F8 800BACF8 5420FFEF */ bnel $at, $zero, .L800BACB8 -/* 0BB8FC 800BACFC 9083000E */ lbu $v1, 0xe($a0) -.L800BAD00: -/* 0BB900 800BAD00 3C01803B */ lui $at, %hi(D_803B6E60) -/* 0BB904 800BAD04 03E00008 */ jr $ra -/* 0BB908 800BAD08 AC206E60 */ sw $zero, %lo(D_803B6E60)($at) - -glabel func_800BAD0C -/* 0BB90C 800BAD0C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0BB910 800BAD10 AFB10028 */ sw $s1, 0x28($sp) -/* 0BB914 800BAD14 AFB00024 */ sw $s0, 0x24($sp) -/* 0BB918 800BAD18 00A08025 */ move $s0, $a1 -/* 0BB91C 800BAD1C 00808825 */ move $s1, $a0 -/* 0BB920 800BAD20 AFBF002C */ sw $ra, 0x2c($sp) -/* 0BB924 800BAD24 AFA70054 */ sw $a3, 0x54($sp) -/* 0BB928 800BAD28 14C00008 */ bnez $a2, .L800BAD4C -/* 0BB92C 800BAD2C 00005825 */ move $t3, $zero -/* 0BB930 800BAD30 3C05803B */ lui $a1, %hi(D_803B6E5C) # $a1, 0x803b -/* 0BB934 800BAD34 8CA56E5C */ lw $a1, %lo(D_803B6E5C)($a1) -/* 0BB938 800BAD38 90E20000 */ lbu $v0, ($a3) -/* 0BB93C 800BAD3C 00001825 */ move $v1, $zero -/* 0BB940 800BAD40 0045082B */ sltu $at, $v0, $a1 -/* 0BB944 800BAD44 14200055 */ bnez $at, .L800BAE9C -/* 0BB948 800BAD48 00026900 */ sll $t5, $v0, 4 -.L800BAD4C: -/* 0BB94C 800BAD4C 3C03803B */ lui $v1, %hi(D_803B6E5C) # $v1, 0x803b -/* 0BB950 800BAD50 3C05803B */ lui $a1, %hi(D_803B6E58) # $a1, 0x803b -/* 0BB954 800BAD54 8CA56E58 */ lw $a1, %lo(D_803B6E58)($a1) -/* 0BB958 800BAD58 8C636E5C */ lw $v1, %lo(D_803B6E5C)($v1) -/* 0BB95C 800BAD5C 3C18803B */ lui $t8, %hi(D_803B6758) # $t8, 0x803b -/* 0BB960 800BAD60 27186758 */ addiu $t8, %lo(D_803B6758) # addiu $t8, $t8, 0x6758 -/* 0BB964 800BAD64 0065082B */ sltu $at, $v1, $a1 -/* 0BB968 800BAD68 10200034 */ beqz $at, .L800BAE3C -/* 0BB96C 800BAD6C 00037900 */ sll $t7, $v1, 4 -/* 0BB970 800BAD70 01F82021 */ addu $a0, $t7, $t8 -.L800BAD74: -/* 0BB974 800BAD74 8C990004 */ lw $t9, 4($a0) -/* 0BB978 800BAD78 00804025 */ move $t0, $a0 -/* 0BB97C 800BAD7C 02391023 */ subu $v0, $s1, $t9 -/* 0BB980 800BAD80 0442002A */ bltzl $v0, .L800BAE2C -/* 0BB984 800BAD84 24630001 */ addiu $v1, $v1, 1 -/* 0BB988 800BAD88 948D000A */ lhu $t5, 0xa($a0) -/* 0BB98C 800BAD8C 01B07023 */ subu $t6, $t5, $s0 -/* 0BB990 800BAD90 01C2082B */ sltu $at, $t6, $v0 -/* 0BB994 800BAD94 54200025 */ bnel $at, $zero, .L800BAE2C -/* 0BB998 800BAD98 24630001 */ addiu $v1, $v1, 1 -/* 0BB99C 800BAD9C 908F000E */ lbu $t7, 0xe($a0) -/* 0BB9A0 800BADA0 3C09803B */ lui $t1, %hi(D_803B7069) # $t1, 0x803b -/* 0BB9A4 800BADA4 25297069 */ addiu $t1, %lo(D_803B7069) # addiu $t1, $t1, 0x7069 -/* 0BB9A8 800BADA8 15E00016 */ bnez $t7, .L800BAE04 -/* 0BB9AC 800BADAC 3C18803B */ lui $t8, %hi(D_803B706B) # $t8, 0x803b -/* 0BB9B0 800BADB0 91250000 */ lbu $a1, ($t1) -/* 0BB9B4 800BADB4 9318706B */ lbu $t8, %lo(D_803B706B)($t8) -/* 0BB9B8 800BADB8 53050013 */ beql $t8, $a1, .L800BAE08 -/* 0BB9BC 800BADBC 8FB80054 */ lw $t8, 0x54($sp) -/* 0BB9C0 800BADC0 9087000D */ lbu $a3, 0xd($a0) -/* 0BB9C4 800BADC4 3C0C803B */ lui $t4, %hi(D_803B6F68) # $t4, 0x803b -/* 0BB9C8 800BADC8 258C6F68 */ addiu $t4, %lo(D_803B6F68) # addiu $t4, $t4, 0x6f68 -/* 0BB9CC 800BADCC 10A7000B */ beq $a1, $a3, .L800BADFC -/* 0BB9D0 800BADD0 01851021 */ addu $v0, $t4, $a1 -/* 0BB9D4 800BADD4 90590000 */ lbu $t9, ($v0) -/* 0BB9D8 800BADD8 01876821 */ addu $t5, $t4, $a3 -/* 0BB9DC 800BADDC 3C06803B */ lui $a2, %hi(D_803B6758) # $a2, 0x803b -/* 0BB9E0 800BADE0 A1B90000 */ sb $t9, ($t5) -/* 0BB9E4 800BADE4 904F0000 */ lbu $t7, ($v0) -/* 0BB9E8 800BADE8 908E000D */ lbu $t6, 0xd($a0) -/* 0BB9EC 800BADEC 24C66758 */ addiu $a2, %lo(D_803B6758) # addiu $a2, $a2, 0x6758 -/* 0BB9F0 800BADF0 000FC100 */ sll $t8, $t7, 4 -/* 0BB9F4 800BADF4 00D8C821 */ addu $t9, $a2, $t8 -/* 0BB9F8 800BADF8 A32E000D */ sb $t6, 0xd($t9) -.L800BADFC: -/* 0BB9FC 800BADFC 24AD0001 */ addiu $t5, $a1, 1 -/* 0BBA00 800BAE00 A12D0000 */ sb $t5, ($t1) -.L800BAE04: -/* 0BBA04 800BAE04 8FB80054 */ lw $t8, 0x54($sp) -.L800BAE08: -/* 0BBA08 800BAE08 240F003C */ li $t7, 60 -/* 0BBA0C 800BAE0C A08F000E */ sb $t7, 0xe($a0) -/* 0BBA10 800BAE10 A3030000 */ sb $v1, ($t8) -/* 0BBA14 800BAE14 8C8E0000 */ lw $t6, ($a0) -/* 0BBA18 800BAE18 8C8D0004 */ lw $t5, 4($a0) -/* 0BBA1C 800BAE1C 01D1C821 */ addu $t9, $t6, $s1 -/* 0BBA20 800BAE20 1000007E */ b .L800BB01C -/* 0BBA24 800BAE24 032D1023 */ subu $v0, $t9, $t5 -/* 0BBA28 800BAE28 24630001 */ addiu $v1, $v1, 1 -.L800BAE2C: -/* 0BBA2C 800BAE2C 0065082B */ sltu $at, $v1, $a1 -/* 0BBA30 800BAE30 1420FFD0 */ bnez $at, .L800BAD74 -/* 0BBA34 800BAE34 24840010 */ addiu $a0, $a0, 0x10 -/* 0BBA38 800BAE38 AFA80040 */ sw $t0, 0x40($sp) -.L800BAE3C: -/* 0BBA3C 800BAE3C 3C09803B */ lui $t1, %hi(D_803B7069) # $t1, 0x803b -/* 0BBA40 800BAE40 25297069 */ addiu $t1, %lo(D_803B7069) # addiu $t1, $t1, 0x7069 -/* 0BBA44 800BAE44 3C0F803B */ lui $t7, %hi(D_803B706B) # $t7, 0x803b -/* 0BBA48 800BAE48 91EF706B */ lbu $t7, %lo(D_803B706B)($t7) -/* 0BBA4C 800BAE4C 91250000 */ lbu $a1, ($t1) -/* 0BBA50 800BAE50 8FA80040 */ lw $t0, 0x40($sp) -/* 0BBA54 800BAE54 11E5000E */ beq $t7, $a1, .L800BAE90 -/* 0BBA58 800BAE58 00000000 */ nop -/* 0BBA5C 800BAE5C 10C0000C */ beqz $a2, .L800BAE90 -/* 0BBA60 800BAE60 3C0C803B */ lui $t4, %hi(D_803B6F68) # $t4, 0x803b -/* 0BBA64 800BAE64 258C6F68 */ addiu $t4, %lo(D_803B6F68) # addiu $t4, $t4, 0x6f68 -/* 0BBA68 800BAE68 0185C021 */ addu $t8, $t4, $a1 -/* 0BBA6C 800BAE6C 930A0000 */ lbu $t2, ($t8) -/* 0BBA70 800BAE70 3C06803B */ lui $a2, %hi(D_803B6758) # $a2, 0x803b -/* 0BBA74 800BAE74 24C66758 */ addiu $a2, %lo(D_803B6758) # addiu $a2, $a2, 0x6758 -/* 0BBA78 800BAE78 24AE0001 */ addiu $t6, $a1, 1 -/* 0BBA7C 800BAE7C 000AC900 */ sll $t9, $t2, 4 -/* 0BBA80 800BAE80 A12E0000 */ sb $t6, ($t1) -/* 0BBA84 800BAE84 00D94021 */ addu $t0, $a2, $t9 -/* 0BBA88 800BAE88 240B0001 */ li $t3, 1 -/* 0BBA8C 800BAE8C AFAA0030 */ sw $t2, 0x30($sp) -.L800BAE90: -/* 0BBA90 800BAE90 3C06803B */ lui $a2, %hi(D_803B6758) # $a2, 0x803b -/* 0BBA94 800BAE94 1000002F */ b .L800BAF54 -/* 0BBA98 800BAE98 24C66758 */ addiu $a2, %lo(D_803B6758) # addiu $a2, $a2, 0x6758 -.L800BAE9C: -/* 0BBA9C 800BAE9C 3C06803B */ lui $a2, %hi(D_803B6758) # $a2, 0x803b -/* 0BBAA0 800BAEA0 24C66758 */ addiu $a2, %lo(D_803B6758) # addiu $a2, $a2, 0x6758 -/* 0BBAA4 800BAEA4 10A0002B */ beqz $a1, .L800BAF54 -/* 0BBAA8 800BAEA8 00CD4021 */ addu $t0, $a2, $t5 -.L800BAEAC: -/* 0BBAAC 800BAEAC 8D040004 */ lw $a0, 4($t0) -/* 0BBAB0 800BAEB0 0003C900 */ sll $t9, $v1, 4 -/* 0BBAB4 800BAEB4 24630001 */ addiu $v1, $v1, 1 -/* 0BBAB8 800BAEB8 02241023 */ subu $v0, $s1, $a0 -/* 0BBABC 800BAEBC 04420023 */ bltzl $v0, .L800BAF4C -/* 0BBAC0 800BAEC0 0065082B */ sltu $at, $v1, $a1 -/* 0BBAC4 800BAEC4 950F000A */ lhu $t7, 0xa($t0) -/* 0BBAC8 800BAEC8 01F0C023 */ subu $t8, $t7, $s0 -/* 0BBACC 800BAECC 0302082B */ sltu $at, $t8, $v0 -/* 0BBAD0 800BAED0 5420001E */ bnel $at, $zero, .L800BAF4C -/* 0BBAD4 800BAED4 0065082B */ sltu $at, $v1, $a1 -/* 0BBAD8 800BAED8 910E000E */ lbu $t6, 0xe($t0) -/* 0BBADC 800BAEDC 3C05803B */ lui $a1, %hi(D_803B7068) # $a1, 0x803b -/* 0BBAE0 800BAEE0 24A57068 */ addiu $a1, %lo(D_803B7068) # addiu $a1, $a1, 0x7068 -/* 0BBAE4 800BAEE4 55C00013 */ bnel $t6, $zero, .L800BAF34 -/* 0BBAE8 800BAEE8 8D0E0000 */ lw $t6, ($t0) -/* 0BBAEC 800BAEEC 90A30000 */ lbu $v1, ($a1) -/* 0BBAF0 800BAEF0 9104000D */ lbu $a0, 0xd($t0) -/* 0BBAF4 800BAEF4 3C07803B */ lui $a3, %hi(D_803B6E68) # $a3, 0x803b -/* 0BBAF8 800BAEF8 24E76E68 */ addiu $a3, %lo(D_803B6E68) # addiu $a3, $a3, 0x6e68 -/* 0BBAFC 800BAEFC 10640009 */ beq $v1, $a0, .L800BAF24 -/* 0BBB00 800BAF00 00E31021 */ addu $v0, $a3, $v1 -/* 0BBB04 800BAF04 90590000 */ lbu $t9, ($v0) -/* 0BBB08 800BAF08 00E46821 */ addu $t5, $a3, $a0 -/* 0BBB0C 800BAF0C A1B90000 */ sb $t9, ($t5) -/* 0BBB10 800BAF10 90580000 */ lbu $t8, ($v0) -/* 0BBB14 800BAF14 910F000D */ lbu $t7, 0xd($t0) -/* 0BBB18 800BAF18 00187100 */ sll $t6, $t8, 4 -/* 0BBB1C 800BAF1C 00CEC821 */ addu $t9, $a2, $t6 -/* 0BBB20 800BAF20 A32F000D */ sb $t7, 0xd($t9) -.L800BAF24: -/* 0BBB24 800BAF24 246D0001 */ addiu $t5, $v1, 1 -/* 0BBB28 800BAF28 A0AD0000 */ sb $t5, ($a1) -/* 0BBB2C 800BAF2C 8D040004 */ lw $a0, 4($t0) -/* 0BBB30 800BAF30 8D0E0000 */ lw $t6, ($t0) -.L800BAF34: -/* 0BBB34 800BAF34 24180002 */ li $t8, 2 -/* 0BBB38 800BAF38 A118000E */ sb $t8, 0xe($t0) -/* 0BBB3C 800BAF3C 01D17821 */ addu $t7, $t6, $s1 -/* 0BBB40 800BAF40 10000036 */ b .L800BB01C -/* 0BBB44 800BAF44 01E41023 */ subu $v0, $t7, $a0 -/* 0BBB48 800BAF48 0065082B */ sltu $at, $v1, $a1 -.L800BAF4C: -/* 0BBB4C 800BAF4C 1420FFD7 */ bnez $at, .L800BAEAC -/* 0BBB50 800BAF50 00D94021 */ addu $t0, $a2, $t9 -.L800BAF54: -/* 0BBB54 800BAF54 1560000C */ bnez $t3, .L800BAF88 -/* 0BBB58 800BAF58 8FAA0030 */ lw $t2, 0x30($sp) -/* 0BBB5C 800BAF5C 3C05803B */ lui $a1, %hi(D_803B7068) # $a1, 0x803b -/* 0BBB60 800BAF60 24A57068 */ addiu $a1, %lo(D_803B7068) # addiu $a1, $a1, 0x7068 -/* 0BBB64 800BAF64 90A30000 */ lbu $v1, ($a1) -/* 0BBB68 800BAF68 3C07803B */ lui $a3, %hi(D_803B6E68) # $a3, 0x803b -/* 0BBB6C 800BAF6C 24E76E68 */ addiu $a3, %lo(D_803B6E68) # addiu $a3, $a3, 0x6e68 -/* 0BBB70 800BAF70 00E36821 */ addu $t5, $a3, $v1 -/* 0BBB74 800BAF74 91AA0000 */ lbu $t2, ($t5) -/* 0BBB78 800BAF78 24780001 */ addiu $t8, $v1, 1 -/* 0BBB7C 800BAF7C A0B80000 */ sb $t8, ($a1) -/* 0BBB80 800BAF80 000A7100 */ sll $t6, $t2, 4 -/* 0BBB84 800BAF84 00CE4021 */ addu $t0, $a2, $t6 -.L800BAF88: -/* 0BBB88 800BAF88 9502000A */ lhu $v0, 0xa($t0) -/* 0BBB8C 800BAF8C 2401FFF0 */ li $at, -16 -/* 0BBB90 800BAF90 3C09803B */ lui $t1, %hi(D_803B70BC) # $t1, 0x803b -/* 0BBB94 800BAF94 240F0002 */ li $t7, 2 -/* 0BBB98 800BAF98 02218024 */ and $s0, $s1, $at -/* 0BBB9C 800BAF9C 252970BC */ addiu $t1, %lo(D_803B70BC) # addiu $t1, $t1, 0x70bc -/* 0BBBA0 800BAFA0 A10F000E */ sb $t7, 0xe($t0) -/* 0BBBA4 800BAFA4 AD100004 */ sw $s0, 4($t0) -/* 0BBBA8 800BAFA8 A5020008 */ sh $v0, 8($t0) -/* 0BBBAC 800BAFAC 8D230000 */ lw $v1, ($t1) -/* 0BBBB0 800BAFB0 8D180000 */ lw $t8, ($t0) -/* 0BBBB4 800BAFB4 3C0D803B */ lui $t5, %hi(D_803B6120) # $t5, 0x803b -/* 0BBBB8 800BAFB8 0003C880 */ sll $t9, $v1, 2 -/* 0BBBBC 800BAFBC 3C0E803B */ lui $t6, %hi(D_803B6008) # $t6, 0x803b -/* 0BBBC0 800BAFC0 0323C823 */ subu $t9, $t9, $v1 -/* 0BBBC4 800BAFC4 0019C8C0 */ sll $t9, $t9, 3 -/* 0BBBC8 800BAFC8 25CE6008 */ addiu $t6, %lo(D_803B6008) # addiu $t6, $t6, 0x6008 -/* 0BBBCC 800BAFCC 25AD6120 */ addiu $t5, %lo(D_803B6120) # addiu $t5, $t5, 0x6120 -/* 0BBBD0 800BAFD0 246F0001 */ addiu $t7, $v1, 1 -/* 0BBBD4 800BAFD4 AD2F0000 */ sw $t7, ($t1) -/* 0BBBD8 800BAFD8 032D2021 */ addu $a0, $t9, $t5 -/* 0BBBDC 800BAFDC AFAE0018 */ sw $t6, 0x18($sp) -/* 0BBBE0 800BAFE0 AFAA0030 */ sw $t2, 0x30($sp) -/* 0BBBE4 800BAFE4 AFA80040 */ sw $t0, 0x40($sp) -/* 0BBBE8 800BAFE8 02003825 */ move $a3, $s0 -/* 0BBBEC 800BAFEC 00002825 */ move $a1, $zero -/* 0BBBF0 800BAFF0 00003025 */ move $a2, $zero -/* 0BBBF4 800BAFF4 AFA20014 */ sw $v0, 0x14($sp) -/* 0BBBF8 800BAFF8 0C03370C */ jal osPiStartDma -/* 0BBBFC 800BAFFC AFB80010 */ sw $t8, 0x10($sp) -/* 0BBC00 800BB000 8FAA0030 */ lw $t2, 0x30($sp) -/* 0BBC04 800BB004 8FB90054 */ lw $t9, 0x54($sp) -/* 0BBC08 800BB008 8FA80040 */ lw $t0, 0x40($sp) -/* 0BBC0C 800BB00C 02306823 */ subu $t5, $s1, $s0 -/* 0BBC10 800BB010 A32A0000 */ sb $t2, ($t9) -/* 0BBC14 800BB014 8D180000 */ lw $t8, ($t0) -/* 0BBC18 800BB018 01B81021 */ addu $v0, $t5, $t8 -.L800BB01C: -/* 0BBC1C 800BB01C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BBC20 800BB020 8FB00024 */ lw $s0, 0x24($sp) -/* 0BBC24 800BB024 8FB10028 */ lw $s1, 0x28($sp) -/* 0BBC28 800BB028 03E00008 */ jr $ra -/* 0BBC2C 800BB02C 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_800BB030 -/* 0BBC30 800BB030 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0BBC34 800BB034 AFB50028 */ sw $s5, 0x28($sp) -/* 0BBC38 800BB038 3C15803B */ lui $s5, %hi(D_803B70B0) # $s5, 0x803b -/* 0BBC3C 800BB03C 26B570B0 */ addiu $s5, %lo(D_803B70B0) # addiu $s5, $s5, 0x70b0 -/* 0BBC40 800BB040 AFA40038 */ sw $a0, 0x38($sp) -/* 0BBC44 800BB044 8EA40000 */ lw $a0, ($s5) -/* 0BBC48 800BB048 AFB2001C */ sw $s2, 0x1c($sp) -/* 0BBC4C 800BB04C 24120003 */ li $s2, 3 -/* 0BBC50 800BB050 00920019 */ multu $a0, $s2 -/* 0BBC54 800BB054 AFB30020 */ sw $s3, 0x20($sp) -/* 0BBC58 800BB058 3C13803B */ lui $s3, %hi(D_803B7088) # $s3, 0x803b -/* 0BBC5C 800BB05C 26737088 */ addiu $s3, %lo(D_803B7088) # addiu $s3, $s3, 0x7088 -/* 0BBC60 800BB060 86780000 */ lh $t8, ($s3) -/* 0BBC64 800BB064 AFB40024 */ sw $s4, 0x24($sp) -/* 0BBC68 800BB068 3C14803B */ lui $s4, %hi(D_803B70A8) # $s4, 0x803b -/* 0BBC6C 800BB06C AFB70030 */ sw $s7, 0x30($sp) -/* 0BBC70 800BB070 AFB6002C */ sw $s6, 0x2c($sp) -/* 0BBC74 800BB074 AFB10018 */ sw $s1, 0x18($sp) -/* 0BBC78 800BB078 00007812 */ mflo $t7 -/* 0BBC7C 800BB07C 269470A8 */ addiu $s4, %lo(D_803B70A8) # addiu $s4, $s4, 0x70a8 -/* 0BBC80 800BB080 AFB00014 */ sw $s0, 0x14($sp) -/* 0BBC84 800BB084 01F80019 */ multu $t7, $t8 -/* 0BBC88 800BB088 240E05A0 */ li $t6, 1440 -/* 0BBC8C 800BB08C 3C11803B */ lui $s1, %hi(D_803B6E58) # $s1, 0x803b -/* 0BBC90 800BB090 3C16803B */ lui $s6, %hi(D_803AFBE8) # $s6, 0x803b -/* 0BBC94 800BB094 3C17803B */ lui $s7, %hi(D_803B6758) # $s7, 0x803b -/* 0BBC98 800BB098 AFBF0034 */ sw $ra, 0x34($sp) -/* 0BBC9C 800BB09C AE8E0000 */ sw $t6, ($s4) -/* 0BBCA0 800BB0A0 26F76758 */ addiu $s7, %lo(D_803B6758) # addiu $s7, $s7, 0x6758 -/* 0BBCA4 800BB0A4 26D6FBE8 */ addiu $s6, %lo(D_803AFBE8) # addiu $s6, $s6, -0x418 -/* 0BBCA8 800BB0A8 26316E58 */ addiu $s1, %lo(D_803B6E58) # addiu $s1, $s1, 0x6e58 -/* 0BBCAC 800BB0AC 0000C812 */ mflo $t9 -/* 0BBCB0 800BB0B0 01C02825 */ move $a1, $t6 -/* 0BBCB4 800BB0B4 1B200020 */ blez $t9, .L800BB138 -/* 0BBCB8 800BB0B8 00008025 */ move $s0, $zero -.L800BB0BC: -/* 0BBCBC 800BB0BC 0C02E3FF */ jal func_800B8FFC -/* 0BBCC0 800BB0C0 02C02025 */ move $a0, $s6 -/* 0BBCC4 800BB0C4 8E260000 */ lw $a2, ($s1) -/* 0BBCC8 800BB0C8 00064100 */ sll $t0, $a2, 4 -/* 0BBCCC 800BB0CC 02E81821 */ addu $v1, $s7, $t0 -/* 0BBCD0 800BB0D0 14400004 */ bnez $v0, .L800BB0E4 -/* 0BBCD4 800BB0D4 AC620000 */ sw $v0, ($v1) -/* 0BBCD8 800BB0D8 00008025 */ move $s0, $zero -/* 0BBCDC 800BB0DC 10000016 */ b .L800BB138 -/* 0BBCE0 800BB0E0 8EA40000 */ lw $a0, ($s5) -.L800BB0E4: -/* 0BBCE4 800BB0E4 8EA40000 */ lw $a0, ($s5) -/* 0BBCE8 800BB0E8 866B0000 */ lh $t3, ($s3) -/* 0BBCEC 800BB0EC 8E850000 */ lw $a1, ($s4) -/* 0BBCF0 800BB0F0 00920019 */ multu $a0, $s2 -/* 0BBCF4 800BB0F4 26100001 */ addiu $s0, $s0, 1 -/* 0BBCF8 800BB0F8 24C90001 */ addiu $t1, $a2, 1 -/* 0BBCFC 800BB0FC AC600004 */ sw $zero, 4($v1) -/* 0BBD00 800BB100 A4600008 */ sh $zero, 8($v1) -/* 0BBD04 800BB104 A060000C */ sb $zero, 0xc($v1) -/* 0BBD08 800BB108 A060000E */ sb $zero, 0xe($v1) -/* 0BBD0C 800BB10C AE290000 */ sw $t1, ($s1) -/* 0BBD10 800BB110 A465000A */ sh $a1, 0xa($v1) -/* 0BBD14 800BB114 00005012 */ mflo $t2 -/* 0BBD18 800BB118 00000000 */ nop -/* 0BBD1C 800BB11C 00000000 */ nop -/* 0BBD20 800BB120 014B0019 */ multu $t2, $t3 -/* 0BBD24 800BB124 00006012 */ mflo $t4 -/* 0BBD28 800BB128 020C082A */ slt $at, $s0, $t4 -/* 0BBD2C 800BB12C 1420FFE3 */ bnez $at, .L800BB0BC -/* 0BBD30 800BB130 00000000 */ nop -/* 0BBD34 800BB134 00008025 */ move $s0, $zero -.L800BB138: -/* 0BBD38 800BB138 3C11803B */ lui $s1, %hi(D_803B6E58) # $s1, 0x803b -/* 0BBD3C 800BB13C 26316E58 */ addiu $s1, %lo(D_803B6E58) # addiu $s1, $s1, 0x6e58 -/* 0BBD40 800BB140 8E260000 */ lw $a2, ($s1) -/* 0BBD44 800BB144 3C16803B */ lui $s6, %hi(D_803AFBE8) # $s6, 0x803b -/* 0BBD48 800BB148 3C17803B */ lui $s7, %hi(D_803B6758) # $s7, 0x803b -/* 0BBD4C 800BB14C 26F76758 */ addiu $s7, %lo(D_803B6758) # addiu $s7, $s7, 0x6758 -/* 0BBD50 800BB150 10C0000C */ beqz $a2, .L800BB184 -/* 0BBD54 800BB154 26D6FBE8 */ addiu $s6, %lo(D_803AFBE8) # addiu $s6, $s6, -0x418 -/* 0BBD58 800BB158 3C02803B */ lui $v0, %hi(D_803B6E68) # $v0, 0x803b -/* 0BBD5C 800BB15C 3C03803B */ lui $v1, %hi(D_803B6758) # $v1, 0x803b -/* 0BBD60 800BB160 24636758 */ addiu $v1, %lo(D_803B6758) # addiu $v1, $v1, 0x6758 -/* 0BBD64 800BB164 24426E68 */ addiu $v0, %lo(D_803B6E68) # addiu $v0, $v0, 0x6e68 -.L800BB168: -/* 0BBD68 800BB168 A0500000 */ sb $s0, ($v0) -/* 0BBD6C 800BB16C A070000D */ sb $s0, 0xd($v1) -/* 0BBD70 800BB170 26100001 */ addiu $s0, $s0, 1 -/* 0BBD74 800BB174 0206082B */ sltu $at, $s0, $a2 -/* 0BBD78 800BB178 24420001 */ addiu $v0, $v0, 1 -/* 0BBD7C 800BB17C 1420FFFA */ bnez $at, .L800BB168 -/* 0BBD80 800BB180 24630010 */ addiu $v1, $v1, 0x10 -.L800BB184: -/* 0BBD84 800BB184 28C10100 */ slti $at, $a2, 0x100 -/* 0BBD88 800BB188 00C03825 */ move $a3, $a2 -/* 0BBD8C 800BB18C 1020000A */ beqz $at, .L800BB1B8 -/* 0BBD90 800BB190 00C08025 */ move $s0, $a2 -/* 0BBD94 800BB194 3C0D803B */ lui $t5, %hi(D_803B6E68) # $t5, 0x803b -/* 0BBD98 800BB198 25AD6E68 */ addiu $t5, %lo(D_803B6E68) # addiu $t5, $t5, 0x6e68 -/* 0BBD9C 800BB19C 3C03803B */ lui $v1, %hi(D_803B6F68) # $v1, 0x803b -/* 0BBDA0 800BB1A0 24636F68 */ addiu $v1, %lo(D_803B6F68) # addiu $v1, $v1, 0x6f68 -/* 0BBDA4 800BB1A4 020D1021 */ addu $v0, $s0, $t5 -.L800BB1A8: -/* 0BBDA8 800BB1A8 24420001 */ addiu $v0, $v0, 1 -/* 0BBDAC 800BB1AC 0043082B */ sltu $at, $v0, $v1 -/* 0BBDB0 800BB1B0 1420FFFD */ bnez $at, .L800BB1A8 -/* 0BBDB4 800BB1B4 A040FFFF */ sb $zero, -1($v0) -.L800BB1B8: -/* 0BBDB8 800BB1B8 3C01803B */ lui $at, %hi(D_803B7068) # $at, 0x803b -/* 0BBDBC 800BB1BC A0207068 */ sb $zero, %lo(D_803B7068)($at) -/* 0BBDC0 800BB1C0 3C12803B */ lui $s2, %hi(D_803B6E5C) # $s2, 0x803b -/* 0BBDC4 800BB1C4 3C01803B */ lui $at, %hi(D_803B706A) # $at, 0x803b -/* 0BBDC8 800BB1C8 26526E5C */ addiu $s2, %lo(D_803B6E5C) # addiu $s2, $s2, 0x6e5c -/* 0BBDCC 800BB1CC A026706A */ sb $a2, %lo(D_803B706A)($at) -/* 0BBDD0 800BB1D0 240E0180 */ li $t6, 384 -/* 0BBDD4 800BB1D4 AE460000 */ sw $a2, ($s2) -/* 0BBDD8 800BB1D8 AE8E0000 */ sw $t6, ($s4) -/* 0BBDDC 800BB1DC 1880001A */ blez $a0, .L800BB248 -/* 0BBDE0 800BB1E0 00008025 */ move $s0, $zero -/* 0BBDE4 800BB1E4 01C02825 */ move $a1, $t6 -.L800BB1E8: -/* 0BBDE8 800BB1E8 0C02E3FF */ jal func_800B8FFC -/* 0BBDEC 800BB1EC 02C02025 */ move $a0, $s6 -/* 0BBDF0 800BB1F0 8E260000 */ lw $a2, ($s1) -/* 0BBDF4 800BB1F4 26100001 */ addiu $s0, $s0, 1 -/* 0BBDF8 800BB1F8 00067900 */ sll $t7, $a2, 4 -/* 0BBDFC 800BB1FC 02EF1821 */ addu $v1, $s7, $t7 -/* 0BBE00 800BB200 14400003 */ bnez $v0, .L800BB210 -/* 0BBE04 800BB204 AC620000 */ sw $v0, ($v1) -/* 0BBE08 800BB208 1000000F */ b .L800BB248 -/* 0BBE0C 800BB20C 00C03825 */ move $a3, $a2 -.L800BB210: -/* 0BBE10 800BB210 8EB90000 */ lw $t9, ($s5) -/* 0BBE14 800BB214 8E850000 */ lw $a1, ($s4) -/* 0BBE18 800BB218 24D80001 */ addiu $t8, $a2, 1 -/* 0BBE1C 800BB21C 0219082A */ slt $at, $s0, $t9 -/* 0BBE20 800BB220 AC600004 */ sw $zero, 4($v1) -/* 0BBE24 800BB224 A4600008 */ sh $zero, 8($v1) -/* 0BBE28 800BB228 A060000C */ sb $zero, 0xc($v1) -/* 0BBE2C 800BB22C A060000E */ sb $zero, 0xe($v1) -/* 0BBE30 800BB230 AE380000 */ sw $t8, ($s1) -/* 0BBE34 800BB234 1420FFEC */ bnez $at, .L800BB1E8 -/* 0BBE38 800BB238 A465000A */ sh $a1, 0xa($v1) -/* 0BBE3C 800BB23C 3C06803B */ lui $a2, %hi(D_803B6E58) # $a2, 0x803b -/* 0BBE40 800BB240 8CC66E58 */ lw $a2, %lo(D_803B6E58)($a2) -/* 0BBE44 800BB244 00C03825 */ move $a3, $a2 -.L800BB248: -/* 0BBE48 800BB248 8E450000 */ lw $a1, ($s2) -/* 0BBE4C 800BB24C 3C09803B */ lui $t1, %hi(D_803B6758) # $t1, 0x803b -/* 0BBE50 800BB250 25296758 */ addiu $t1, %lo(D_803B6758) # addiu $t1, $t1, 0x6758 -/* 0BBE54 800BB254 00A6082B */ sltu $at, $a1, $a2 -/* 0BBE58 800BB258 1020000F */ beqz $at, .L800BB298 -/* 0BBE5C 800BB25C 00A08025 */ move $s0, $a1 -/* 0BBE60 800BB260 3C0A803B */ lui $t2, %hi(D_803B6F68) # $t2, 0x803b -/* 0BBE64 800BB264 254A6F68 */ addiu $t2, %lo(D_803B6F68) # addiu $t2, $t2, 0x6f68 -/* 0BBE68 800BB268 00104100 */ sll $t0, $s0, 4 -/* 0BBE6C 800BB26C 02051023 */ subu $v0, $s0, $a1 -/* 0BBE70 800BB270 004A2021 */ addu $a0, $v0, $t2 -/* 0BBE74 800BB274 01091821 */ addu $v1, $t0, $t1 -.L800BB278: -/* 0BBE78 800BB278 A0900000 */ sb $s0, ($a0) -/* 0BBE7C 800BB27C 26100001 */ addiu $s0, $s0, 1 -/* 0BBE80 800BB280 0206082B */ sltu $at, $s0, $a2 -/* 0BBE84 800BB284 A062000D */ sb $v0, 0xd($v1) -/* 0BBE88 800BB288 24420001 */ addiu $v0, $v0, 1 -/* 0BBE8C 800BB28C 24630010 */ addiu $v1, $v1, 0x10 -/* 0BBE90 800BB290 1420FFF9 */ bnez $at, .L800BB278 -/* 0BBE94 800BB294 24840001 */ addiu $a0, $a0, 1 -.L800BB298: -/* 0BBE98 800BB298 28E10100 */ slti $at, $a3, 0x100 -/* 0BBE9C 800BB29C 1020000A */ beqz $at, .L800BB2C8 -/* 0BBEA0 800BB2A0 00C56023 */ subu $t4, $a2, $a1 -/* 0BBEA4 800BB2A4 3C0B803B */ lui $t3, %hi(D_803B6F68) # $t3, 0x803b -/* 0BBEA8 800BB2A8 256B6F68 */ addiu $t3, %lo(D_803B6F68) # addiu $t3, $t3, 0x6f68 -/* 0BBEAC 800BB2AC 3C03803B */ lui $v1, %hi(D_803B7068) # $v1, 0x803b -/* 0BBEB0 800BB2B0 24637068 */ addiu $v1, %lo(D_803B7068) # addiu $v1, $v1, 0x7068 -/* 0BBEB4 800BB2B4 00EB1021 */ addu $v0, $a3, $t3 -.L800BB2B8: -/* 0BBEB8 800BB2B8 24420001 */ addiu $v0, $v0, 1 -/* 0BBEBC 800BB2BC 0043082B */ sltu $at, $v0, $v1 -/* 0BBEC0 800BB2C0 1420FFFD */ bnez $at, .L800BB2B8 -/* 0BBEC4 800BB2C4 A045FFFF */ sb $a1, -1($v0) -.L800BB2C8: -/* 0BBEC8 800BB2C8 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BBECC 800BB2CC 3C01803B */ lui $at, %hi(D_803B7069) # $at, 0x803b -/* 0BBED0 800BB2D0 A0207069 */ sb $zero, %lo(D_803B7069)($at) -/* 0BBED4 800BB2D4 3C01803B */ lui $at, %hi(D_803B706B) # $at, 0x803b -/* 0BBED8 800BB2D8 8FB00014 */ lw $s0, 0x14($sp) -/* 0BBEDC 800BB2DC 8FB10018 */ lw $s1, 0x18($sp) -/* 0BBEE0 800BB2E0 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BBEE4 800BB2E4 8FB30020 */ lw $s3, 0x20($sp) -/* 0BBEE8 800BB2E8 8FB40024 */ lw $s4, 0x24($sp) -/* 0BBEEC 800BB2EC 8FB50028 */ lw $s5, 0x28($sp) -/* 0BBEF0 800BB2F0 8FB6002C */ lw $s6, 0x2c($sp) -/* 0BBEF4 800BB2F4 8FB70030 */ lw $s7, 0x30($sp) -/* 0BBEF8 800BB2F8 A02C706B */ sb $t4, %lo(D_803B706B)($at) -/* 0BBEFC 800BB2FC 03E00008 */ jr $ra -/* 0BBF00 800BB300 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800BB304 -/* 0BBF04 800BB304 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BBF08 800BB308 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BBF0C 800BB30C 14800003 */ bnez $a0, .L800BB31C -/* 0BBF10 800BB310 00803825 */ move $a3, $a0 -/* 0BBF14 800BB314 10000018 */ b .L800BB378 -/* 0BBF18 800BB318 2402FFFF */ li $v0, -1 -.L800BB31C: -/* 0BBF1C 800BB31C 90EE0001 */ lbu $t6, 1($a3) -/* 0BBF20 800BB320 24010001 */ li $at, 1 -/* 0BBF24 800BB324 3C04803B */ lui $a0, %hi(D_803AFBE8) # $a0, 0x803b -/* 0BBF28 800BB328 15C10013 */ bne $t6, $at, .L800BB378 -/* 0BBF2C 800BB32C 2484FBE8 */ addiu $a0, %lo(D_803AFBE8) # addiu $a0, $a0, -0x418 -/* 0BBF30 800BB330 8CE50010 */ lw $a1, 0x10($a3) -/* 0BBF34 800BB334 0C02E3FF */ jal func_800B8FFC -/* 0BBF38 800BB338 AFA70020 */ sw $a3, 0x20($sp) -/* 0BBF3C 800BB33C 8FA70020 */ lw $a3, 0x20($sp) -/* 0BBF40 800BB340 14400003 */ bnez $v0, .L800BB350 -/* 0BBF44 800BB344 00402825 */ move $a1, $v0 -/* 0BBF48 800BB348 1000000B */ b .L800BB378 -/* 0BBF4C 800BB34C 2402FFFF */ li $v0, -1 -.L800BB350: -/* 0BBF50 800BB350 8CE40004 */ lw $a0, 4($a3) -/* 0BBF54 800BB354 8CE60010 */ lw $a2, 0x10($a3) -/* 0BBF58 800BB358 AFA70020 */ sw $a3, 0x20($sp) -/* 0BBF5C 800BB35C 0C02EAA0 */ jal func_800BAA80 -/* 0BBF60 800BB360 AFA5001C */ sw $a1, 0x1c($sp) -/* 0BBF64 800BB364 8FA70020 */ lw $a3, 0x20($sp) -/* 0BBF68 800BB368 8FA5001C */ lw $a1, 0x1c($sp) -/* 0BBF6C 800BB36C 240F0081 */ li $t7, 129 -/* 0BBF70 800BB370 A0EF0001 */ sb $t7, 1($a3) -/* 0BBF74 800BB374 ACE50004 */ sw $a1, 4($a3) -.L800BB378: -/* 0BBF78 800BB378 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BBF7C 800BB37C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BBF80 800BB380 03E00008 */ jr $ra -/* 0BBF84 800BB384 00000000 */ nop - -glabel func_800BB388 -/* 0BBF88 800BB388 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BBF8C 800BB38C 28A1007F */ slti $at, $a1, 0x7f -/* 0BBF90 800BB390 1020001A */ beqz $at, .L800BB3FC -/* 0BBF94 800BB394 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BBF98 800BB398 0C02F252 */ jal func_800BC948 -/* 0BBF9C 800BB39C 00000000 */ nop -/* 0BBFA0 800BB3A0 14400003 */ bnez $v0, .L800BB3B0 -/* 0BBFA4 800BB3A4 00401825 */ move $v1, $v0 -/* 0BBFA8 800BB3A8 10000020 */ b .L800BB42C -/* 0BBFAC 800BB3AC 2402FFFF */ li $v0, -1 -.L800BB3B0: -/* 0BBFB0 800BB3B0 904E0001 */ lbu $t6, 1($v0) -/* 0BBFB4 800BB3B4 51C00006 */ beql $t6, $zero, .L800BB3D0 -/* 0BBFB8 800BB3B8 8C640010 */ lw $a0, 0x10($v1) -/* 0BBFBC 800BB3BC 8C640008 */ lw $a0, 8($v1) -/* 0BBFC0 800BB3C0 0C02ECC1 */ jal func_800BB304 -/* 0BBFC4 800BB3C4 AFA3001C */ sw $v1, 0x1c($sp) -/* 0BBFC8 800BB3C8 8FA3001C */ lw $v1, 0x1c($sp) -/* 0BBFCC 800BB3CC 8C640010 */ lw $a0, 0x10($v1) -.L800BB3D0: -/* 0BBFD0 800BB3D0 0C02ECC1 */ jal func_800BB304 -/* 0BBFD4 800BB3D4 AFA3001C */ sw $v1, 0x1c($sp) -/* 0BBFD8 800BB3D8 8FA3001C */ lw $v1, 0x1c($sp) -/* 0BBFDC 800BB3DC 2401007F */ li $at, 127 -/* 0BBFE0 800BB3E0 906F0002 */ lbu $t7, 2($v1) -/* 0BBFE4 800BB3E4 51E10012 */ beql $t7, $at, .L800BB430 -/* 0BBFE8 800BB3E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BBFEC 800BB3EC 0C02ECC1 */ jal func_800BB304 -/* 0BBFF0 800BB3F0 8C640018 */ lw $a0, 0x18($v1) -/* 0BBFF4 800BB3F4 1000000E */ b .L800BB430 -/* 0BBFF8 800BB3F8 8FBF0014 */ lw $ra, 0x14($sp) -.L800BB3FC: -/* 0BBFFC 800BB3FC 2401007F */ li $at, 127 -/* 0BC000 800BB400 54A1000B */ bnel $a1, $at, .L800BB430 -/* 0BC004 800BB404 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC008 800BB408 0C02F27E */ jal func_800BC9F8 -/* 0BC00C 800BB40C 00C02825 */ move $a1, $a2 -/* 0BC010 800BB410 14400003 */ bnez $v0, .L800BB420 -/* 0BC014 800BB414 00401825 */ move $v1, $v0 -/* 0BC018 800BB418 10000004 */ b .L800BB42C -/* 0BC01C 800BB41C 2402FFFF */ li $v0, -1 -.L800BB420: -/* 0BC020 800BB420 0C02ECC1 */ jal func_800BB304 -/* 0BC024 800BB424 8C640004 */ lw $a0, 4($v1) -/* 0BC028 800BB428 00001025 */ move $v0, $zero -.L800BB42C: -/* 0BC02C 800BB42C 8FBF0014 */ lw $ra, 0x14($sp) -.L800BB430: -/* 0BC030 800BB430 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BC034 800BB434 03E00008 */ jr $ra -/* 0BC038 800BB438 00000000 */ nop - -glabel func_800BB43C -/* 0BC03C 800BB43C 84830002 */ lh $v1, 2($a0) -/* 0BC040 800BB440 00001025 */ move $v0, $zero -/* 0BC044 800BB444 00803025 */ move $a2, $a0 -/* 0BC048 800BB448 1860000C */ blez $v1, .L800BB47C -/* 0BC04C 800BB44C 00000000 */ nop -.L800BB450: -/* 0BC050 800BB450 8CCE0008 */ lw $t6, 8($a2) -/* 0BC054 800BB454 24420001 */ addiu $v0, $v0, 1 -/* 0BC058 800BB458 51C00006 */ beql $t6, $zero, .L800BB474 -/* 0BC05C 800BB45C 0043082A */ slt $at, $v0, $v1 -/* 0BC060 800BB460 8CCF0004 */ lw $t7, 4($a2) -/* 0BC064 800BB464 01E5C021 */ addu $t8, $t7, $a1 -/* 0BC068 800BB468 ACD80004 */ sw $t8, 4($a2) -/* 0BC06C 800BB46C 84830002 */ lh $v1, 2($a0) -/* 0BC070 800BB470 0043082A */ slt $at, $v0, $v1 -.L800BB474: -/* 0BC074 800BB474 1420FFF6 */ bnez $at, .L800BB450 -/* 0BC078 800BB478 24C60008 */ addiu $a2, $a2, 8 -.L800BB47C: -/* 0BC07C 800BB47C 03E00008 */ jr $ra -/* 0BC080 800BB480 00000000 */ nop - -glabel func_800BB484 -/* 0BC084 800BB484 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0BC088 800BB488 AFBF001C */ sw $ra, 0x1c($sp) -/* 0BC08C 800BB48C AFB00018 */ sw $s0, 0x18($sp) -/* 0BC090 800BB490 AFA40030 */ sw $a0, 0x30($sp) -/* 0BC094 800BB494 8C820000 */ lw $v0, ($a0) -/* 0BC098 800BB498 00A08025 */ move $s0, $a1 -/* 0BC09C 800BB49C 10400034 */ beqz $v0, .L800BB570 -/* 0BC0A0 800BB4A0 00453821 */ addu $a3, $v0, $a1 -/* 0BC0A4 800BB4A4 AC870000 */ sw $a3, ($a0) -/* 0BC0A8 800BB4A8 90E40001 */ lbu $a0, 1($a3) -/* 0BC0AC 800BB4AC 00E01825 */ move $v1, $a3 -/* 0BC0B0 800BB4B0 24080001 */ li $t0, 1 -/* 0BC0B4 800BB4B4 1480000C */ bnez $a0, .L800BB4E8 -/* 0BC0B8 800BB4B8 24010080 */ li $at, 128 -/* 0BC0BC 800BB4BC 8CEF0004 */ lw $t7, 4($a3) -/* 0BC0C0 800BB4C0 8C780008 */ lw $t8, 8($v1) -/* 0BC0C4 800BB4C4 8C79000C */ lw $t9, 0xc($v1) -/* 0BC0C8 800BB4C8 01E63821 */ addu $a3, $t7, $a2 -/* 0BC0CC 800BB4CC AC670004 */ sw $a3, 4($v1) -/* 0BC0D0 800BB4D0 03053821 */ addu $a3, $t8, $a1 -/* 0BC0D4 800BB4D4 AC670008 */ sw $a3, 8($v1) -/* 0BC0D8 800BB4D8 03253821 */ addu $a3, $t9, $a1 -/* 0BC0DC 800BB4DC AC67000C */ sw $a3, 0xc($v1) -/* 0BC0E0 800BB4E0 10000023 */ b .L800BB570 -/* 0BC0E4 800BB4E4 A0680001 */ sb $t0, 1($v1) -.L800BB4E8: -/* 0BC0E8 800BB4E8 54810022 */ bnel $a0, $at, .L800BB574 -/* 0BC0EC 800BB4EC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BC0F0 800BB4F0 8C690004 */ lw $t1, 4($v1) -/* 0BC0F4 800BB4F4 3C04803B */ lui $a0, %hi(D_803AFBE8) # $a0, 0x803b -/* 0BC0F8 800BB4F8 8C650010 */ lw $a1, 0x10($v1) -/* 0BC0FC 800BB4FC 01263821 */ addu $a3, $t1, $a2 -/* 0BC100 800BB500 AFA70028 */ sw $a3, 0x28($sp) -/* 0BC104 800BB504 AFA3002C */ sw $v1, 0x2c($sp) -/* 0BC108 800BB508 0C02E3FF */ jal func_800B8FFC -/* 0BC10C 800BB50C 2484FBE8 */ addiu $a0, %lo(D_803AFBE8) # addiu $a0, $a0, -0x418 -/* 0BC110 800BB510 8FA3002C */ lw $v1, 0x2c($sp) -/* 0BC114 800BB514 8FA70028 */ lw $a3, 0x28($sp) -/* 0BC118 800BB518 14400005 */ bnez $v0, .L800BB530 -/* 0BC11C 800BB51C 00402825 */ move $a1, $v0 -/* 0BC120 800BB520 240A0001 */ li $t2, 1 -/* 0BC124 800BB524 AC670004 */ sw $a3, 4($v1) -/* 0BC128 800BB528 1000000B */ b .L800BB558 -/* 0BC12C 800BB52C A06A0001 */ sb $t2, 1($v1) -.L800BB530: -/* 0BC130 800BB530 8C660010 */ lw $a2, 0x10($v1) -/* 0BC134 800BB534 AFA50024 */ sw $a1, 0x24($sp) -/* 0BC138 800BB538 AFA3002C */ sw $v1, 0x2c($sp) -/* 0BC13C 800BB53C 0C02EAA0 */ jal func_800BAA80 -/* 0BC140 800BB540 00E02025 */ move $a0, $a3 -/* 0BC144 800BB544 8FA3002C */ lw $v1, 0x2c($sp) -/* 0BC148 800BB548 8FA50024 */ lw $a1, 0x24($sp) -/* 0BC14C 800BB54C 240B0081 */ li $t3, 129 -/* 0BC150 800BB550 A06B0001 */ sb $t3, 1($v1) -/* 0BC154 800BB554 AC650004 */ sw $a1, 4($v1) -.L800BB558: -/* 0BC158 800BB558 8C6C0008 */ lw $t4, 8($v1) -/* 0BC15C 800BB55C 8C6D000C */ lw $t5, 0xc($v1) -/* 0BC160 800BB560 01903821 */ addu $a3, $t4, $s0 -/* 0BC164 800BB564 AC670008 */ sw $a3, 8($v1) -/* 0BC168 800BB568 01B03821 */ addu $a3, $t5, $s0 -/* 0BC16C 800BB56C AC67000C */ sw $a3, 0xc($v1) -.L800BB570: -/* 0BC170 800BB570 8FBF001C */ lw $ra, 0x1c($sp) -.L800BB574: -/* 0BC174 800BB574 8FB00018 */ lw $s0, 0x18($sp) -/* 0BC178 800BB578 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0BC17C 800BB57C 03E00008 */ jr $ra -/* 0BC180 800BB580 00000000 */ nop - -glabel func_800BB584 -/* 0BC184 800BB584 3C03803B */ lui $v1, %hi(D_803B7074) # $v1, 0x803b -/* 0BC188 800BB588 8C637074 */ lw $v1, %lo(D_803B7074)($v1) -/* 0BC18C 800BB58C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BC190 800BB590 000478C0 */ sll $t7, $a0, 3 -/* 0BC194 800BB594 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BC198 800BB598 AFA40020 */ sw $a0, 0x20($sp) -/* 0BC19C 800BB59C 006F1021 */ addu $v0, $v1, $t7 -/* 0BC1A0 800BB5A0 8C580008 */ lw $t8, 8($v0) -/* 0BC1A4 800BB5A4 57000007 */ bnel $t8, $zero, .L800BB5C4 -/* 0BC1A8 800BB5A8 8C450004 */ lw $a1, 4($v0) -/* 0BC1AC 800BB5AC 8C590004 */ lw $t9, 4($v0) -/* 0BC1B0 800BB5B0 001940C0 */ sll $t0, $t9, 3 -/* 0BC1B4 800BB5B4 00684821 */ addu $t1, $v1, $t0 -/* 0BC1B8 800BB5B8 10000002 */ b .L800BB5C4 -/* 0BC1BC 800BB5BC 8D250004 */ lw $a1, 4($t1) -/* 0BC1C0 800BB5C0 8C450004 */ lw $a1, 4($v0) -.L800BB5C4: -/* 0BC1C4 800BB5C4 8FA30020 */ lw $v1, 0x20($sp) -/* 0BC1C8 800BB5C8 3C0B803B */ lui $t3, %hi(D_803B7080) # $t3, 0x803b -/* 0BC1CC 800BB5CC 8D6B7080 */ lw $t3, %lo(D_803B7080)($t3) -/* 0BC1D0 800BB5D0 00035080 */ sll $t2, $v1, 2 -/* 0BC1D4 800BB5D4 01435023 */ subu $t2, $t2, $v1 -/* 0BC1D8 800BB5D8 000A1880 */ sll $v1, $t2, 2 -/* 0BC1DC 800BB5DC 01631021 */ addu $v0, $t3, $v1 -/* 0BC1E0 800BB5E0 8C440004 */ lw $a0, 4($v0) -/* 0BC1E4 800BB5E4 90460001 */ lbu $a2, 1($v0) -/* 0BC1E8 800BB5E8 90470002 */ lbu $a3, 2($v0) -/* 0BC1EC 800BB5EC AFA30018 */ sw $v1, 0x18($sp) -/* 0BC1F0 800BB5F0 0C02ED89 */ jal func_800BB624 -/* 0BC1F4 800BB5F4 2484FFFC */ addiu $a0, $a0, -4 -/* 0BC1F8 800BB5F8 3C0C803B */ lui $t4, %hi(D_803B7080) # $t4, 0x803b -/* 0BC1FC 800BB5FC 8FA30018 */ lw $v1, 0x18($sp) -/* 0BC200 800BB600 8D8C7080 */ lw $t4, %lo(D_803B7080)($t4) -/* 0BC204 800BB604 01831021 */ addu $v0, $t4, $v1 -/* 0BC208 800BB608 8C4D0004 */ lw $t5, 4($v0) -/* 0BC20C 800BB60C 8DAEFFFC */ lw $t6, -4($t5) -/* 0BC210 800BB610 AC4E0008 */ sw $t6, 8($v0) -/* 0BC214 800BB614 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BC218 800BB618 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BC21C 800BB61C 03E00008 */ jr $ra -/* 0BC220 800BB620 00000000 */ nop - -glabel func_800BB624 -/* 0BC224 800BB624 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0BC228 800BB628 AFBF0034 */ sw $ra, 0x34($sp) -/* 0BC22C 800BB62C AFB70030 */ sw $s7, 0x30($sp) -/* 0BC230 800BB630 AFB6002C */ sw $s6, 0x2c($sp) -/* 0BC234 800BB634 AFB50028 */ sw $s5, 0x28($sp) -/* 0BC238 800BB638 AFB40024 */ sw $s4, 0x24($sp) -/* 0BC23C 800BB63C AFB30020 */ sw $s3, 0x20($sp) -/* 0BC240 800BB640 AFB2001C */ sw $s2, 0x1c($sp) -/* 0BC244 800BB644 AFB10018 */ sw $s1, 0x18($sp) -/* 0BC248 800BB648 AFB00014 */ sw $s0, 0x14($sp) -/* 0BC24C 800BB64C AFA60040 */ sw $a2, 0x40($sp) -/* 0BC250 800BB650 8C820000 */ lw $v0, ($a0) -/* 0BC254 800BB654 00809825 */ move $s3, $a0 -/* 0BC258 800BB658 00A0A825 */ move $s5, $a1 -/* 0BC25C 800BB65C 1040001C */ beqz $v0, .L800BB6D0 -/* 0BC260 800BB660 00E0B825 */ move $s7, $a3 -/* 0BC264 800BB664 10E0001A */ beqz $a3, .L800BB6D0 -/* 0BC268 800BB668 00447021 */ addu $t6, $v0, $a0 -/* 0BC26C 800BB66C AC8E0000 */ sw $t6, ($a0) -/* 0BC270 800BB670 10E00017 */ beqz $a3, .L800BB6D0 -/* 0BC274 800BB674 00009025 */ move $s2, $zero -/* 0BC278 800BB678 0000A025 */ move $s4, $zero -/* 0BC27C 800BB67C 24160001 */ li $s6, 1 -.L800BB680: -/* 0BC280 800BB680 8E6F0000 */ lw $t7, ($s3) -/* 0BC284 800BB684 01F41021 */ addu $v0, $t7, $s4 -/* 0BC288 800BB688 8C500000 */ lw $s0, ($v0) -/* 0BC28C 800BB68C 1200000D */ beqz $s0, .L800BB6C4 -/* 0BC290 800BB690 02138021 */ addu $s0, $s0, $s3 -/* 0BC294 800BB694 AC500000 */ sw $s0, ($v0) -/* 0BC298 800BB698 92180002 */ lbu $t8, 2($s0) -/* 0BC29C 800BB69C 02008825 */ move $s1, $s0 -/* 0BC2A0 800BB6A0 26040004 */ addiu $a0, $s0, 4 -/* 0BC2A4 800BB6A4 17000007 */ bnez $t8, .L800BB6C4 -/* 0BC2A8 800BB6A8 02602825 */ move $a1, $s3 -/* 0BC2AC 800BB6AC 0C02ED21 */ jal func_800BB484 -/* 0BC2B0 800BB6B0 02A03025 */ move $a2, $s5 -/* 0BC2B4 800BB6B4 8E30000C */ lw $s0, 0xc($s1) -/* 0BC2B8 800BB6B8 A2360002 */ sb $s6, 2($s1) -/* 0BC2BC 800BB6BC 0213C821 */ addu $t9, $s0, $s3 -/* 0BC2C0 800BB6C0 AE39000C */ sw $t9, 0xc($s1) -.L800BB6C4: -/* 0BC2C4 800BB6C4 26520001 */ addiu $s2, $s2, 1 -/* 0BC2C8 800BB6C8 1657FFED */ bne $s2, $s7, .L800BB680 -/* 0BC2CC 800BB6CC 26940004 */ addiu $s4, $s4, 4 -.L800BB6D0: -/* 0BC2D0 800BB6D0 8FA80040 */ lw $t0, 0x40($sp) -/* 0BC2D4 800BB6D4 24160001 */ li $s6, 1 -/* 0BC2D8 800BB6D8 26720004 */ addiu $s2, $s3, 4 -/* 0BC2DC 800BB6DC 1100001D */ beqz $t0, .L800BB754 -/* 0BC2E0 800BB6E0 00084880 */ sll $t1, $t0, 2 -/* 0BC2E4 800BB6E4 0133A021 */ addu $s4, $t1, $s3 -/* 0BC2E8 800BB6E8 26940004 */ addiu $s4, $s4, 4 -/* 0BC2EC 800BB6EC 8E420000 */ lw $v0, ($s2) -.L800BB6F0: -/* 0BC2F0 800BB6F0 10400015 */ beqz $v0, .L800BB748 -/* 0BC2F4 800BB6F4 00535021 */ addu $t2, $v0, $s3 -/* 0BC2F8 800BB6F8 AE4A0000 */ sw $t2, ($s2) -/* 0BC2FC 800BB6FC 914B0000 */ lbu $t3, ($t2) -/* 0BC300 800BB700 01408825 */ move $s1, $t2 -/* 0BC304 800BB704 25440008 */ addiu $a0, $t2, 8 -/* 0BC308 800BB708 1560000F */ bnez $t3, .L800BB748 -/* 0BC30C 800BB70C 02602825 */ move $a1, $s3 -/* 0BC310 800BB710 0C02ED21 */ jal func_800BB484 -/* 0BC314 800BB714 02A03025 */ move $a2, $s5 -/* 0BC318 800BB718 26240010 */ addiu $a0, $s1, 0x10 -/* 0BC31C 800BB71C 02602825 */ move $a1, $s3 -/* 0BC320 800BB720 0C02ED21 */ jal func_800BB484 -/* 0BC324 800BB724 02A03025 */ move $a2, $s5 -/* 0BC328 800BB728 26240018 */ addiu $a0, $s1, 0x18 -/* 0BC32C 800BB72C 02602825 */ move $a1, $s3 -/* 0BC330 800BB730 0C02ED21 */ jal func_800BB484 -/* 0BC334 800BB734 02A03025 */ move $a2, $s5 -/* 0BC338 800BB738 8E300004 */ lw $s0, 4($s1) -/* 0BC33C 800BB73C A2360000 */ sb $s6, ($s1) -/* 0BC340 800BB740 02136021 */ addu $t4, $s0, $s3 -/* 0BC344 800BB744 AE2C0004 */ sw $t4, 4($s1) -.L800BB748: -/* 0BC348 800BB748 26520004 */ addiu $s2, $s2, 4 -/* 0BC34C 800BB74C 5692FFE8 */ bnel $s4, $s2, .L800BB6F0 -/* 0BC350 800BB750 8E420000 */ lw $v0, ($s2) -.L800BB754: -/* 0BC354 800BB754 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BC358 800BB758 8FB00014 */ lw $s0, 0x14($sp) -/* 0BC35C 800BB75C 8FB10018 */ lw $s1, 0x18($sp) -/* 0BC360 800BB760 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BC364 800BB764 8FB30020 */ lw $s3, 0x20($sp) -/* 0BC368 800BB768 8FB40024 */ lw $s4, 0x24($sp) -/* 0BC36C 800BB76C 8FB50028 */ lw $s5, 0x28($sp) -/* 0BC370 800BB770 8FB6002C */ lw $s6, 0x2c($sp) -/* 0BC374 800BB774 8FB70030 */ lw $s7, 0x30($sp) -/* 0BC378 800BB778 03E00008 */ jr $ra -/* 0BC37C 800BB77C 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800BB780 -/* 0BC380 800BB780 3C0E803B */ lui $t6, %hi(D_803B7070) # $t6, 0x803b -/* 0BC384 800BB784 8DCE7070 */ lw $t6, %lo(D_803B7070)($t6) -/* 0BC388 800BB788 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0BC38C 800BB78C 000478C0 */ sll $t7, $a0, 3 -/* 0BC390 800BB790 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BC394 800BB794 AFB00020 */ sw $s0, 0x20($sp) -/* 0BC398 800BB798 01CF1021 */ addu $v0, $t6, $t7 -/* 0BC39C 800BB79C 8C460008 */ lw $a2, 8($v0) -/* 0BC3A0 800BB7A0 2401FFF0 */ li $at, -16 -/* 0BC3A4 800BB7A4 8C590004 */ lw $t9, 4($v0) -/* 0BC3A8 800BB7A8 24C6001E */ addiu $a2, $a2, 0x1e -/* 0BC3AC 800BB7AC 00808025 */ move $s0, $a0 -/* 0BC3B0 800BB7B0 00C1C024 */ and $t8, $a2, $at -/* 0BC3B4 800BB7B4 00A03825 */ move $a3, $a1 -/* 0BC3B8 800BB7B8 2706FFF0 */ addiu $a2, $t8, -0x10 -/* 0BC3BC 800BB7BC 3C04803B */ lui $a0, %hi(D_803AFE18) # $a0, 0x803b -/* 0BC3C0 800BB7C0 2484FE18 */ addiu $a0, %lo(D_803AFE18) # addiu $a0, $a0, -0x1e8 -/* 0BC3C4 800BB7C4 AFA60054 */ sw $a2, 0x54($sp) -/* 0BC3C8 800BB7C8 24050001 */ li $a1, 1 -/* 0BC3CC 800BB7CC AFB00010 */ sw $s0, 0x10($sp) -/* 0BC3D0 800BB7D0 0C02E4EF */ jal func_800B93BC -/* 0BC3D4 800BB7D4 AFB90028 */ sw $t9, 0x28($sp) -/* 0BC3D8 800BB7D8 8FA60054 */ lw $a2, 0x54($sp) -/* 0BC3DC 800BB7DC 14400003 */ bnez $v0, .L800BB7EC -/* 0BC3E0 800BB7E0 00402825 */ move $a1, $v0 -/* 0BC3E4 800BB7E4 1000001A */ b .L800BB850 -/* 0BC3E8 800BB7E8 00001025 */ move $v0, $zero -.L800BB7EC: -/* 0BC3EC 800BB7EC 8FA40028 */ lw $a0, 0x28($sp) -/* 0BC3F0 800BB7F0 AFA5002C */ sw $a1, 0x2c($sp) -/* 0BC3F4 800BB7F4 0C02EAA0 */ jal func_800BAA80 -/* 0BC3F8 800BB7F8 24840010 */ addiu $a0, $a0, 0x10 -/* 0BC3FC 800BB7FC 3C0A803B */ lui $t2, %hi(D_803B7080) # $t2, 0x803b -/* 0BC400 800BB800 8D4A7080 */ lw $t2, %lo(D_803B7080)($t2) -/* 0BC404 800BB804 8FA8002C */ lw $t0, 0x2c($sp) -/* 0BC408 800BB808 00105880 */ sll $t3, $s0, 2 -/* 0BC40C 800BB80C 01705823 */ subu $t3, $t3, $s0 -/* 0BC410 800BB810 000B5880 */ sll $t3, $t3, 2 -/* 0BC414 800BB814 014B6021 */ addu $t4, $t2, $t3 -/* 0BC418 800BB818 25090004 */ addiu $t1, $t0, 4 -/* 0BC41C 800BB81C AD890004 */ sw $t1, 4($t4) -/* 0BC420 800BB820 0C02ED61 */ jal func_800BB584 -/* 0BC424 800BB824 02002025 */ move $a0, $s0 -/* 0BC428 800BB828 3C0D803B */ lui $t5, %hi(D_803B03C0) # $t5, 0x803b -/* 0BC42C 800BB82C 25AD03C0 */ addiu $t5, %lo(D_803B03C0) # addiu $t5, $t5, 0x3c0 -/* 0BC430 800BB830 020D1021 */ addu $v0, $s0, $t5 -/* 0BC434 800BB834 904E0000 */ lbu $t6, ($v0) -/* 0BC438 800BB838 24010005 */ li $at, 5 -/* 0BC43C 800BB83C 240F0002 */ li $t7, 2 -/* 0BC440 800BB840 51C10003 */ beql $t6, $at, .L800BB850 -/* 0BC444 800BB844 8FA2002C */ lw $v0, 0x2c($sp) -/* 0BC448 800BB848 A04F0000 */ sb $t7, ($v0) -/* 0BC44C 800BB84C 8FA2002C */ lw $v0, 0x2c($sp) -.L800BB850: -/* 0BC450 800BB850 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BC454 800BB854 8FB00020 */ lw $s0, 0x20($sp) -/* 0BC458 800BB858 27BD0058 */ addiu $sp, $sp, 0x58 -/* 0BC45C 800BB85C 03E00008 */ jr $ra -/* 0BC460 800BB860 00000000 */ nop - -glabel func_800BB864 -/* 0BC464 800BB864 3C0E803B */ lui $t6, %hi(D_803B7070) # $t6, 0x803b -/* 0BC468 800BB868 8DCE7070 */ lw $t6, %lo(D_803B7070)($t6) -/* 0BC46C 800BB86C 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 0BC470 800BB870 AFB0001C */ sw $s0, 0x1c($sp) -/* 0BC474 800BB874 000478C0 */ sll $t7, $a0, 3 -/* 0BC478 800BB878 00C08025 */ move $s0, $a2 -/* 0BC47C 800BB87C AFBF0024 */ sw $ra, 0x24($sp) -/* 0BC480 800BB880 AFB10020 */ sw $s1, 0x20($sp) -/* 0BC484 800BB884 01CF1021 */ addu $v0, $t6, $t7 -/* 0BC488 800BB888 8C460008 */ lw $a2, 8($v0) -/* 0BC48C 800BB88C 2401FFF0 */ li $at, -16 -/* 0BC490 800BB890 8C590004 */ lw $t9, 4($v0) -/* 0BC494 800BB894 24C6001E */ addiu $a2, $a2, 0x1e -/* 0BC498 800BB898 00808825 */ move $s1, $a0 -/* 0BC49C 800BB89C 00C1C024 */ and $t8, $a2, $at -/* 0BC4A0 800BB8A0 00A03825 */ move $a3, $a1 -/* 0BC4A4 800BB8A4 2706FFF0 */ addiu $a2, $t8, -0x10 -/* 0BC4A8 800BB8A8 3C04803B */ lui $a0, %hi(D_803AFE18) # $a0, 0x803b -/* 0BC4AC 800BB8AC 2484FE18 */ addiu $a0, %lo(D_803AFE18) # addiu $a0, $a0, -0x1e8 -/* 0BC4B0 800BB8B0 AFA60064 */ sw $a2, 0x64($sp) -/* 0BC4B4 800BB8B4 24050001 */ li $a1, 1 -/* 0BC4B8 800BB8B8 AFB10010 */ sw $s1, 0x10($sp) -/* 0BC4BC 800BB8BC 0C02E4EF */ jal func_800B93BC -/* 0BC4C0 800BB8C0 AFB90038 */ sw $t9, 0x38($sp) -/* 0BC4C4 800BB8C4 8FA60064 */ lw $a2, 0x64($sp) -/* 0BC4C8 800BB8C8 14400003 */ bnez $v0, .L800BB8D8 -/* 0BC4CC 800BB8CC AFA2003C */ sw $v0, 0x3c($sp) -/* 0BC4D0 800BB8D0 1000002D */ b .L800BB988 -/* 0BC4D4 800BB8D4 00001025 */ move $v0, $zero -.L800BB8D8: -/* 0BC4D8 800BB8D8 3C04803B */ lui $a0, %hi(D_803B7080) # $a0, 0x803b -/* 0BC4DC 800BB8DC 24847080 */ addiu $a0, %lo(D_803B7080) # addiu $a0, $a0, 0x7080 -/* 0BC4E0 800BB8E0 A2110006 */ sb $s1, 6($s0) -/* 0BC4E4 800BB8E4 8C890000 */ lw $t1, ($a0) -/* 0BC4E8 800BB8E8 00111880 */ sll $v1, $s1, 2 -/* 0BC4EC 800BB8EC 00711823 */ subu $v1, $v1, $s1 -/* 0BC4F0 800BB8F0 00031880 */ sll $v1, $v1, 2 -/* 0BC4F4 800BB8F4 24480004 */ addiu $t0, $v0, 4 -/* 0BC4F8 800BB8F8 01235021 */ addu $t2, $t1, $v1 -/* 0BC4FC 800BB8FC AD480004 */ sw $t0, 4($t2) -/* 0BC500 800BB900 8C8B0000 */ lw $t3, ($a0) -/* 0BC504 800BB904 26070108 */ addiu $a3, $s0, 0x108 -/* 0BC508 800BB908 00E02025 */ move $a0, $a3 -/* 0BC50C 800BB90C 01636021 */ addu $t4, $t3, $v1 -/* 0BC510 800BB910 AD800008 */ sw $zero, 8($t4) -/* 0BC514 800BB914 AE02013C */ sw $v0, 0x13c($s0) -/* 0BC518 800BB918 8FAD0038 */ lw $t5, 0x38($sp) -/* 0BC51C 800BB91C AE060144 */ sw $a2, 0x144($s0) -/* 0BC520 800BB920 24060001 */ li $a2, 1 -/* 0BC524 800BB924 25AE0010 */ addiu $t6, $t5, 0x10 -/* 0BC528 800BB928 AE0E0140 */ sw $t6, 0x140($s0) -/* 0BC52C 800BB92C AFA7002C */ sw $a3, 0x2c($sp) -/* 0BC530 800BB930 0C033358 */ jal osCreateMesgQueue -/* 0BC534 800BB934 26050120 */ addiu $a1, $s0, 0x120 -/* 0BC538 800BB938 92180000 */ lbu $t8, ($s0) -/* 0BC53C 800BB93C 8FA7002C */ lw $a3, 0x2c($sp) -/* 0BC540 800BB940 26090124 */ addiu $t1, $s0, 0x124 -/* 0BC544 800BB944 37190008 */ ori $t9, $t8, 8 -/* 0BC548 800BB948 A2190000 */ sb $t9, ($s0) -/* 0BC54C 800BB94C AFA90010 */ sw $t1, 0x10($sp) -/* 0BC550 800BB950 26040140 */ addiu $a0, $s0, 0x140 -/* 0BC554 800BB954 2605013C */ addiu $a1, $s0, 0x13c -/* 0BC558 800BB958 0C02EAD6 */ jal func_800BAB58 -/* 0BC55C 800BB95C 26060144 */ addiu $a2, $s0, 0x144 -/* 0BC560 800BB960 3C08803B */ lui $t0, %hi(D_803B03C0) # $t0, 0x803b -/* 0BC564 800BB964 250803C0 */ addiu $t0, %lo(D_803B03C0) # addiu $t0, $t0, 0x3c0 -/* 0BC568 800BB968 02281021 */ addu $v0, $s1, $t0 -/* 0BC56C 800BB96C 904A0000 */ lbu $t2, ($v0) -/* 0BC570 800BB970 24010005 */ li $at, 5 -/* 0BC574 800BB974 240B0001 */ li $t3, 1 -/* 0BC578 800BB978 51410003 */ beql $t2, $at, .L800BB988 -/* 0BC57C 800BB97C 8FA2003C */ lw $v0, 0x3c($sp) -/* 0BC580 800BB980 A04B0000 */ sb $t3, ($v0) -/* 0BC584 800BB984 8FA2003C */ lw $v0, 0x3c($sp) -.L800BB988: -/* 0BC588 800BB988 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BC58C 800BB98C 8FB0001C */ lw $s0, 0x1c($sp) -/* 0BC590 800BB990 8FB10020 */ lw $s1, 0x20($sp) -/* 0BC594 800BB994 03E00008 */ jr $ra -/* 0BC598 800BB998 27BD0068 */ addiu $sp, $sp, 0x68 - -glabel func_800BB99C -/* 0BC59C 800BB99C 3C0E803B */ lui $t6, %hi(D_803B706C) # $t6, 0x803b -/* 0BC5A0 800BB9A0 8DCE706C */ lw $t6, %lo(D_803B706C)($t6) -/* 0BC5A4 800BB9A4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0BC5A8 800BB9A8 0004C0C0 */ sll $t8, $a0, 3 -/* 0BC5AC 800BB9AC AFBF001C */ sw $ra, 0x1c($sp) -/* 0BC5B0 800BB9B0 AFA40030 */ sw $a0, 0x30($sp) -/* 0BC5B4 800BB9B4 01D81021 */ addu $v0, $t6, $t8 -/* 0BC5B8 800BB9B8 8C460008 */ lw $a2, 8($v0) -/* 0BC5BC 800BB9BC 8C480004 */ lw $t0, 4($v0) -/* 0BC5C0 800BB9C0 00807825 */ move $t7, $a0 -/* 0BC5C4 800BB9C4 2401FFF0 */ li $at, -16 -/* 0BC5C8 800BB9C8 24C6000F */ addiu $a2, $a2, 0xf -/* 0BC5CC 800BB9CC 00A03825 */ move $a3, $a1 -/* 0BC5D0 800BB9D0 00C1C824 */ and $t9, $a2, $at -/* 0BC5D4 800BB9D4 3C04803B */ lui $a0, %hi(D_803AFC48) # $a0, 0x803b -/* 0BC5D8 800BB9D8 03203025 */ move $a2, $t9 -/* 0BC5DC 800BB9DC 2484FC48 */ addiu $a0, %lo(D_803AFC48) # addiu $a0, $a0, -0x3b8 -/* 0BC5E0 800BB9E0 AFB9002C */ sw $t9, 0x2c($sp) -/* 0BC5E4 800BB9E4 24050001 */ li $a1, 1 -/* 0BC5E8 800BB9E8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BC5EC 800BB9EC 0C02E4EF */ jal func_800B93BC -/* 0BC5F0 800BB9F0 AFA80024 */ sw $t0, 0x24($sp) -/* 0BC5F4 800BB9F4 8FA6002C */ lw $a2, 0x2c($sp) -/* 0BC5F8 800BB9F8 14400003 */ bnez $v0, .L800BBA08 -/* 0BC5FC 800BB9FC 00402825 */ move $a1, $v0 -/* 0BC600 800BBA00 1000000F */ b .L800BBA40 -/* 0BC604 800BBA04 00001025 */ move $v0, $zero -.L800BBA08: -/* 0BC608 800BBA08 8FA40024 */ lw $a0, 0x24($sp) -/* 0BC60C 800BBA0C 0C02EAA0 */ jal func_800BAA80 -/* 0BC610 800BBA10 AFA50028 */ sw $a1, 0x28($sp) -/* 0BC614 800BBA14 8FA90030 */ lw $t1, 0x30($sp) -/* 0BC618 800BBA18 3C0A803B */ lui $t2, %hi(D_803B0400) # $t2, 0x803b -/* 0BC61C 800BBA1C 254A0400 */ addiu $t2, %lo(D_803B0400) # addiu $t2, $t2, 0x400 -/* 0BC620 800BBA20 012A1021 */ addu $v0, $t1, $t2 -/* 0BC624 800BBA24 904B0000 */ lbu $t3, ($v0) -/* 0BC628 800BBA28 24010005 */ li $at, 5 -/* 0BC62C 800BBA2C 8FA50028 */ lw $a1, 0x28($sp) -/* 0BC630 800BBA30 11610002 */ beq $t3, $at, .L800BBA3C -/* 0BC634 800BBA34 240C0002 */ li $t4, 2 -/* 0BC638 800BBA38 A04C0000 */ sb $t4, ($v0) -.L800BBA3C: -/* 0BC63C 800BBA3C 00A01025 */ move $v0, $a1 -.L800BBA40: -/* 0BC640 800BBA40 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BC644 800BBA44 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0BC648 800BBA48 03E00008 */ jr $ra -/* 0BC64C 800BBA4C 00000000 */ nop - -glabel func_800BBA50 -/* 0BC650 800BBA50 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0BC654 800BBA54 3C0E803B */ lui $t6, %hi(D_803B706C) # $t6, 0x803b -/* 0BC658 800BBA58 8DCE706C */ lw $t6, %lo(D_803B706C)($t6) -/* 0BC65C 800BBA5C 0004C0C0 */ sll $t8, $a0, 3 -/* 0BC660 800BBA60 AFBF002C */ sw $ra, 0x2c($sp) -/* 0BC664 800BBA64 AFB20028 */ sw $s2, 0x28($sp) -/* 0BC668 800BBA68 AFB10024 */ sw $s1, 0x24($sp) -/* 0BC66C 800BBA6C AFB00020 */ sw $s0, 0x20($sp) -/* 0BC670 800BBA70 AFA40048 */ sw $a0, 0x48($sp) -/* 0BC674 800BBA74 01D81021 */ addu $v0, $t6, $t8 -/* 0BC678 800BBA78 8C500008 */ lw $s0, 8($v0) -/* 0BC67C 800BBA7C 8C480004 */ lw $t0, 4($v0) -/* 0BC680 800BBA80 00C08825 */ move $s1, $a2 -/* 0BC684 800BBA84 00807825 */ move $t7, $a0 -/* 0BC688 800BBA88 2401FFF0 */ li $at, -16 -/* 0BC68C 800BBA8C 2610000F */ addiu $s0, $s0, 0xf -/* 0BC690 800BBA90 00A03825 */ move $a3, $a1 -/* 0BC694 800BBA94 02013024 */ and $a2, $s0, $at -/* 0BC698 800BBA98 3C04803B */ lui $a0, %hi(D_803AFC48) # $a0, 0x803b -/* 0BC69C 800BBA9C 00C08025 */ move $s0, $a2 -/* 0BC6A0 800BBAA0 2484FC48 */ addiu $a0, %lo(D_803AFC48) # addiu $a0, $a0, -0x3b8 -/* 0BC6A4 800BBAA4 24050001 */ li $a1, 1 -/* 0BC6A8 800BBAA8 AFAF0010 */ sw $t7, 0x10($sp) -/* 0BC6AC 800BBAAC 0C02E4EF */ jal func_800B93BC -/* 0BC6B0 800BBAB0 AFA8003C */ sw $t0, 0x3c($sp) -/* 0BC6B4 800BBAB4 14400003 */ bnez $v0, .L800BBAC4 -/* 0BC6B8 800BBAB8 00409025 */ move $s2, $v0 -/* 0BC6BC 800BBABC 10000032 */ b .L800BBB88 -/* 0BC6C0 800BBAC0 00001025 */ move $v0, $zero -.L800BBAC4: -/* 0BC6C4 800BBAC4 2A010041 */ slti $at, $s0, 0x41 -/* 0BC6C8 800BBAC8 10200010 */ beqz $at, .L800BBB0C -/* 0BC6CC 800BBACC 8FA4003C */ lw $a0, 0x3c($sp) -/* 0BC6D0 800BBAD0 8FA4003C */ lw $a0, 0x3c($sp) -/* 0BC6D4 800BBAD4 02402825 */ move $a1, $s2 -/* 0BC6D8 800BBAD8 0C02EAA0 */ jal func_800BAA80 -/* 0BC6DC 800BBADC 02003025 */ move $a2, $s0 -/* 0BC6E0 800BBAE0 8FA90048 */ lw $t1, 0x48($sp) -/* 0BC6E4 800BBAE4 3C0A803B */ lui $t2, %hi(D_803B0400) # $t2, 0x803b -/* 0BC6E8 800BBAE8 254A0400 */ addiu $t2, %lo(D_803B0400) # addiu $t2, $t2, 0x400 -/* 0BC6EC 800BBAEC 012A1021 */ addu $v0, $t1, $t2 -/* 0BC6F0 800BBAF0 904B0000 */ lbu $t3, ($v0) -/* 0BC6F4 800BBAF4 24010005 */ li $at, 5 -/* 0BC6F8 800BBAF8 240C0002 */ li $t4, 2 -/* 0BC6FC 800BBAFC 51610022 */ beql $t3, $at, .L800BBB88 -/* 0BC700 800BBB00 02401025 */ move $v0, $s2 -/* 0BC704 800BBB04 1000001F */ b .L800BBB84 -/* 0BC708 800BBB08 A04C0000 */ sb $t4, ($v0) -.L800BBB0C: -/* 0BC70C 800BBB0C 02402825 */ move $a1, $s2 -/* 0BC710 800BBB10 0C02EAA0 */ jal func_800BAA80 -/* 0BC714 800BBB14 24060040 */ li $a2, 64 -/* 0BC718 800BBB18 262700D4 */ addiu $a3, $s1, 0xd4 -/* 0BC71C 800BBB1C 00E02025 */ move $a0, $a3 -/* 0BC720 800BBB20 AFA70034 */ sw $a3, 0x34($sp) -/* 0BC724 800BBB24 262500EC */ addiu $a1, $s1, 0xec -/* 0BC728 800BBB28 0C033358 */ jal osCreateMesgQueue -/* 0BC72C 800BBB2C 24060001 */ li $a2, 1 -/* 0BC730 800BBB30 922E0000 */ lbu $t6, ($s1) -/* 0BC734 800BBB34 8FA70034 */ lw $a3, 0x34($sp) -/* 0BC738 800BBB38 263900F0 */ addiu $t9, $s1, 0xf0 -/* 0BC73C 800BBB3C 35D80010 */ ori $t8, $t6, 0x10 -/* 0BC740 800BBB40 A2380000 */ sb $t8, ($s1) -/* 0BC744 800BBB44 8FA4003C */ lw $a0, 0x3c($sp) -/* 0BC748 800BBB48 AFB90010 */ sw $t9, 0x10($sp) -/* 0BC74C 800BBB4C 26450040 */ addiu $a1, $s2, 0x40 -/* 0BC750 800BBB50 2606FFC0 */ addiu $a2, $s0, -0x40 -/* 0BC754 800BBB54 0C02EABE */ jal func_800BAAF8 -/* 0BC758 800BBB58 24840040 */ addiu $a0, $a0, 0x40 -/* 0BC75C 800BBB5C 8FA80048 */ lw $t0, 0x48($sp) -/* 0BC760 800BBB60 3C0F803B */ lui $t7, %hi(D_803B0400) # $t7, 0x803b -/* 0BC764 800BBB64 25EF0400 */ addiu $t7, %lo(D_803B0400) # addiu $t7, $t7, 0x400 -/* 0BC768 800BBB68 010F1021 */ addu $v0, $t0, $t7 -/* 0BC76C 800BBB6C 90490000 */ lbu $t1, ($v0) -/* 0BC770 800BBB70 24010005 */ li $at, 5 -/* 0BC774 800BBB74 240A0001 */ li $t2, 1 -/* 0BC778 800BBB78 51210003 */ beql $t1, $at, .L800BBB88 -/* 0BC77C 800BBB7C 02401025 */ move $v0, $s2 -/* 0BC780 800BBB80 A04A0000 */ sb $t2, ($v0) -.L800BBB84: -/* 0BC784 800BBB84 02401025 */ move $v0, $s2 -.L800BBB88: -/* 0BC788 800BBB88 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BC78C 800BBB8C 8FB00020 */ lw $s0, 0x20($sp) -/* 0BC790 800BBB90 8FB10024 */ lw $s1, 0x24($sp) -/* 0BC794 800BBB94 8FB20028 */ lw $s2, 0x28($sp) -/* 0BC798 800BBB98 03E00008 */ jr $ra -/* 0BC79C 800BBB9C 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_800BBBA0 -/* 0BC7A0 800BBBA0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0BC7A4 800BBBA4 AFBE0038 */ sw $fp, 0x38($sp) -/* 0BC7A8 800BBBA8 AFBF003C */ sw $ra, 0x3c($sp) -/* 0BC7AC 800BBBAC AFB70034 */ sw $s7, 0x34($sp) -/* 0BC7B0 800BBBB0 AFB60030 */ sw $s6, 0x30($sp) -/* 0BC7B4 800BBBB4 AFB5002C */ sw $s5, 0x2c($sp) -/* 0BC7B8 800BBBB8 AFB40028 */ sw $s4, 0x28($sp) -/* 0BC7BC 800BBBBC AFB30024 */ sw $s3, 0x24($sp) -/* 0BC7C0 800BBBC0 AFB20020 */ sw $s2, 0x20($sp) -/* 0BC7C4 800BBBC4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BC7C8 800BBBC8 AFB00018 */ sw $s0, 0x18($sp) -/* 0BC7CC 800BBBCC 3C1E803B */ lui $fp, %hi(D_803B7078) # $fp, 0x803b -/* 0BC7D0 800BBBD0 ACC00000 */ sw $zero, ($a2) -/* 0BC7D4 800BBBD4 27DE7078 */ addiu $fp, %lo(D_803B7078) # addiu $fp, $fp, 0x7078 -/* 0BC7D8 800BBBD8 ACA00000 */ sw $zero, ($a1) -/* 0BC7DC 800BBBDC 8FC20000 */ lw $v0, ($fp) -/* 0BC7E0 800BBBE0 00047040 */ sll $t6, $a0, 1 -/* 0BC7E4 800BBBE4 00C09825 */ move $s3, $a2 -/* 0BC7E8 800BBBE8 004E7821 */ addu $t7, $v0, $t6 -/* 0BC7EC 800BBBEC 95F10000 */ lhu $s1, ($t7) -/* 0BC7F0 800BBBF0 00A0A025 */ move $s4, $a1 -/* 0BC7F4 800BBBF4 0000B825 */ move $s7, $zero -/* 0BC7F8 800BBBF8 0222C021 */ addu $t8, $s1, $v0 -/* 0BC7FC 800BBBFC 93120000 */ lbu $s2, ($t8) -/* 0BC800 800BBC00 26310001 */ addiu $s1, $s1, 1 -/* 0BC804 800BBC04 3239FFFF */ andi $t9, $s1, 0xffff -/* 0BC808 800BBC08 12400024 */ beqz $s2, .L800BBC9C -/* 0BC80C 800BBC0C 03208825 */ move $s1, $t9 -/* 0BC810 800BBC10 3C16803B */ lui $s6, %hi(D_803B03C0) # $s6, 0x803b -/* 0BC814 800BBC14 26D603C0 */ addiu $s6, %lo(D_803B03C0) # addiu $s6, $s6, 0x3c0 -/* 0BC818 800BBC18 24150001 */ li $s5, 1 -.L800BBC1C: -/* 0BC81C 800BBC1C 8FC80000 */ lw $t0, ($fp) -/* 0BC820 800BBC20 02A02025 */ move $a0, $s5 -/* 0BC824 800BBC24 24050002 */ li $a1, 2 -/* 0BC828 800BBC28 02284821 */ addu $t1, $s1, $t0 -/* 0BC82C 800BBC2C 91300000 */ lbu $s0, ($t1) -/* 0BC830 800BBC30 26310001 */ addiu $s1, $s1, 1 -/* 0BC834 800BBC34 322AFFFF */ andi $t2, $s1, 0xffff -/* 0BC838 800BBC38 02D05821 */ addu $t3, $s6, $s0 -/* 0BC83C 800BBC3C 916C0000 */ lbu $t4, ($t3) -/* 0BC840 800BBC40 01408825 */ move $s1, $t2 -/* 0BC844 800BBC44 00001825 */ move $v1, $zero -/* 0BC848 800BBC48 298D0002 */ slti $t5, $t4, 2 -/* 0BC84C 800BBC4C 39AD0001 */ xori $t5, $t5, 1 -/* 0BC850 800BBC50 16AD0005 */ bne $s5, $t5, .L800BBC68 -/* 0BC854 800BBC54 00000000 */ nop -/* 0BC858 800BBC58 0C02E6A4 */ jal func_800B9A90 -/* 0BC85C 800BBC5C 02003025 */ move $a2, $s0 -/* 0BC860 800BBC60 10000001 */ b .L800BBC68 -/* 0BC864 800BBC64 00401825 */ move $v1, $v0 -.L800BBC68: -/* 0BC868 800BBC68 14600006 */ bnez $v1, .L800BBC84 -/* 0BC86C 800BBC6C 2652FFFF */ addiu $s2, $s2, -1 -/* 0BC870 800BBC70 8E6E0000 */ lw $t6, ($s3) -/* 0BC874 800BBC74 321700FF */ andi $s7, $s0, 0xff -/* 0BC878 800BBC78 25CF0001 */ addiu $t7, $t6, 1 -/* 0BC87C 800BBC7C 10000004 */ b .L800BBC90 -/* 0BC880 800BBC80 AE6F0000 */ sw $t7, ($s3) -.L800BBC84: -/* 0BC884 800BBC84 8E980000 */ lw $t8, ($s4) -/* 0BC888 800BBC88 27190001 */ addiu $t9, $t8, 1 -/* 0BC88C 800BBC8C AE990000 */ sw $t9, ($s4) -.L800BBC90: -/* 0BC890 800BBC90 324800FF */ andi $t0, $s2, 0xff -/* 0BC894 800BBC94 1500FFE1 */ bnez $t0, .L800BBC1C -/* 0BC898 800BBC98 01009025 */ move $s2, $t0 -.L800BBC9C: -/* 0BC89C 800BBC9C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BC8A0 800BBCA0 02E01025 */ move $v0, $s7 -/* 0BC8A4 800BBCA4 8FB70034 */ lw $s7, 0x34($sp) -/* 0BC8A8 800BBCA8 8FB00018 */ lw $s0, 0x18($sp) -/* 0BC8AC 800BBCAC 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BC8B0 800BBCB0 8FB20020 */ lw $s2, 0x20($sp) -/* 0BC8B4 800BBCB4 8FB30024 */ lw $s3, 0x24($sp) -/* 0BC8B8 800BBCB8 8FB40028 */ lw $s4, 0x28($sp) -/* 0BC8BC 800BBCBC 8FB5002C */ lw $s5, 0x2c($sp) -/* 0BC8C0 800BBCC0 8FB60030 */ lw $s6, 0x30($sp) -/* 0BC8C4 800BBCC4 8FBE0038 */ lw $fp, 0x38($sp) -/* 0BC8C8 800BBCC8 03E00008 */ jr $ra -/* 0BC8CC 800BBCCC 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800BBCD0 -/* 0BC8D0 800BBCD0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0BC8D4 800BBCD4 AFB50028 */ sw $s5, 0x28($sp) -/* 0BC8D8 800BBCD8 3C15803B */ lui $s5, %hi(D_803B7078) # $s5, 0x803b -/* 0BC8DC 800BBCDC 26B57078 */ addiu $s5, %lo(D_803B7078) # addiu $s5, $s5, 0x7078 -/* 0BC8E0 800BBCE0 8EA20000 */ lw $v0, ($s5) -/* 0BC8E4 800BBCE4 00047040 */ sll $t6, $a0, 1 -/* 0BC8E8 800BBCE8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0BC8EC 800BBCEC AFB40024 */ sw $s4, 0x24($sp) -/* 0BC8F0 800BBCF0 AFB30020 */ sw $s3, 0x20($sp) -/* 0BC8F4 800BBCF4 AFB2001C */ sw $s2, 0x1c($sp) -/* 0BC8F8 800BBCF8 AFB10018 */ sw $s1, 0x18($sp) -/* 0BC8FC 800BBCFC AFB00014 */ sw $s0, 0x14($sp) -/* 0BC900 800BBD00 AFA5003C */ sw $a1, 0x3c($sp) -/* 0BC904 800BBD04 004E7821 */ addu $t7, $v0, $t6 -/* 0BC908 800BBD08 95F10000 */ lhu $s1, ($t7) -/* 0BC90C 800BBD0C 3C14803B */ lui $s4, %hi(D_803B03C0) # $s4, 0x803b -/* 0BC910 800BBD10 269403C0 */ addiu $s4, %lo(D_803B03C0) # addiu $s4, $s4, 0x3c0 -/* 0BC914 800BBD14 0222C021 */ addu $t8, $s1, $v0 -/* 0BC918 800BBD18 93120000 */ lbu $s2, ($t8) -/* 0BC91C 800BBD1C 26310001 */ addiu $s1, $s1, 1 -/* 0BC920 800BBD20 3239FFFF */ andi $t9, $s1, 0xffff -/* 0BC924 800BBD24 12400020 */ beqz $s2, .L800BBDA8 -/* 0BC928 800BBD28 03208825 */ move $s1, $t9 -/* 0BC92C 800BBD2C 24130001 */ li $s3, 1 -.L800BBD30: -/* 0BC930 800BBD30 8EA80000 */ lw $t0, ($s5) -/* 0BC934 800BBD34 02602025 */ move $a0, $s3 -/* 0BC938 800BBD38 24050002 */ li $a1, 2 -/* 0BC93C 800BBD3C 02284821 */ addu $t1, $s1, $t0 -/* 0BC940 800BBD40 91300000 */ lbu $s0, ($t1) -/* 0BC944 800BBD44 26310001 */ addiu $s1, $s1, 1 -/* 0BC948 800BBD48 322AFFFF */ andi $t2, $s1, 0xffff -/* 0BC94C 800BBD4C 02905821 */ addu $t3, $s4, $s0 -/* 0BC950 800BBD50 916C0000 */ lbu $t4, ($t3) -/* 0BC954 800BBD54 01408825 */ move $s1, $t2 -/* 0BC958 800BBD58 00001825 */ move $v1, $zero -/* 0BC95C 800BBD5C 298D0002 */ slti $t5, $t4, 2 -/* 0BC960 800BBD60 39AD0001 */ xori $t5, $t5, 1 -/* 0BC964 800BBD64 166D0005 */ bne $s3, $t5, .L800BBD7C -/* 0BC968 800BBD68 00000000 */ nop -/* 0BC96C 800BBD6C 0C02E6A4 */ jal func_800B9A90 -/* 0BC970 800BBD70 02003025 */ move $a2, $s0 -/* 0BC974 800BBD74 10000001 */ b .L800BBD7C -/* 0BC978 800BBD78 00401825 */ move $v1, $v0 -.L800BBD7C: -/* 0BC97C 800BBD7C 14600004 */ bnez $v1, .L800BBD90 -/* 0BC980 800BBD80 02002025 */ move $a0, $s0 -/* 0BC984 800BBD84 0C02EDE0 */ jal func_800BB780 -/* 0BC988 800BBD88 24050002 */ li $a1, 2 -/* 0BC98C 800BBD8C 00401825 */ move $v1, $v0 -.L800BBD90: -/* 0BC990 800BBD90 2652FFFF */ addiu $s2, $s2, -1 -/* 0BC994 800BBD94 324E00FF */ andi $t6, $s2, 0xff -/* 0BC998 800BBD98 15C0FFE5 */ bnez $t6, .L800BBD30 -/* 0BC99C 800BBD9C 01C09025 */ move $s2, $t6 -/* 0BC9A0 800BBDA0 AFA30034 */ sw $v1, 0x34($sp) -/* 0BC9A4 800BBDA4 AFB00030 */ sw $s0, 0x30($sp) -.L800BBDA8: -/* 0BC9A8 800BBDA8 8FB00030 */ lw $s0, 0x30($sp) -/* 0BC9AC 800BBDAC 8FAF003C */ lw $t7, 0x3c($sp) -/* 0BC9B0 800BBDB0 8FA20034 */ lw $v0, 0x34($sp) -/* 0BC9B4 800BBDB4 A1F00000 */ sb $s0, ($t7) -/* 0BC9B8 800BBDB8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BC9BC 800BBDBC 8FB50028 */ lw $s5, 0x28($sp) -/* 0BC9C0 800BBDC0 8FB40024 */ lw $s4, 0x24($sp) -/* 0BC9C4 800BBDC4 8FB30020 */ lw $s3, 0x20($sp) -/* 0BC9C8 800BBDC8 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BC9CC 800BBDCC 8FB10018 */ lw $s1, 0x18($sp) -/* 0BC9D0 800BBDD0 8FB00014 */ lw $s0, 0x14($sp) -/* 0BC9D4 800BBDD4 03E00008 */ jr $ra -/* 0BC9D8 800BBDD8 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800BBDDC -/* 0BC9DC 800BBDDC 3C0F803B */ lui $t7, %hi(D_803B707C) # $t7, 0x803b -/* 0BC9E0 800BBDE0 95EF707C */ lhu $t7, %lo(D_803B707C)($t7) -/* 0BC9E4 800BBDE4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BC9E8 800BBDE8 AFA5002C */ sw $a1, 0x2c($sp) -/* 0BC9EC 800BBDEC 30AE00FF */ andi $t6, $a1, 0xff -/* 0BC9F0 800BBDF0 008F082B */ sltu $at, $a0, $t7 -/* 0BC9F4 800BBDF4 01C02825 */ move $a1, $t6 -/* 0BC9F8 800BBDF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BC9FC 800BBDFC 10200038 */ beqz $at, .L800BBEE0 -/* 0BCA00 800BBE00 00803025 */ move $a2, $a0 -/* 0BCA04 800BBE04 3C18803B */ lui $t8, %hi(D_803B706C) # $t8, 0x803b -/* 0BCA08 800BBE08 8F18706C */ lw $t8, %lo(D_803B706C)($t8) -/* 0BCA0C 800BBE0C 0004C8C0 */ sll $t9, $a0, 3 -/* 0BCA10 800BBE10 3C091971 */ lui $t1, (0x19710515 >> 16) # lui $t1, 0x1971 -/* 0BCA14 800BBE14 03191021 */ addu $v0, $t8, $t9 -/* 0BCA18 800BBE18 8C480008 */ lw $t0, 8($v0) -/* 0BCA1C 800BBE1C 3C0A800F */ lui $t2, %hi(D_800EA5DC) # $t2, 0x800f -/* 0BCA20 800BBE20 254AA5DC */ addiu $t2, %lo(D_800EA5DC) # addiu $t2, $t2, -0x5a24 -/* 0BCA24 800BBE24 15000002 */ bnez $t0, .L800BBE30 -/* 0BCA28 800BBE28 35290515 */ ori $t1, (0x19710515 & 0xFFFF) # ori $t1, $t1, 0x515 -/* 0BCA2C 800BBE2C 8C460004 */ lw $a2, 4($v0) -.L800BBE30: -/* 0BCA30 800BBE30 30AB0002 */ andi $t3, $a1, 2 -/* 0BCA34 800BBE34 AD490000 */ sw $t1, ($t2) -/* 0BCA38 800BBE38 11600008 */ beqz $t3, .L800BBE5C -/* 0BCA3C 800BBE3C 00A01825 */ move $v1, $a1 -/* 0BCA40 800BBE40 00C02025 */ move $a0, $a2 -/* 0BCA44 800BBE44 27A50023 */ addiu $a1, $sp, 0x23 -/* 0BCA48 800BBE48 AFA3001C */ sw $v1, 0x1c($sp) -/* 0BCA4C 800BBE4C 0C02EF34 */ jal func_800BBCD0 -/* 0BCA50 800BBE50 AFA60028 */ sw $a2, 0x28($sp) -/* 0BCA54 800BBE54 8FA3001C */ lw $v1, 0x1c($sp) -/* 0BCA58 800BBE58 8FA60028 */ lw $a2, 0x28($sp) -.L800BBE5C: -/* 0BCA5C 800BBE5C 306C0001 */ andi $t4, $v1, 1 -/* 0BCA60 800BBE60 1180001A */ beqz $t4, .L800BBECC -/* 0BCA64 800BBE64 3C0D803B */ lui $t5, %hi(D_803B03C0) # 0x803b -/* 0BCA68 800BBE68 01A66821 */ addu $t5, $t5, $a2 -/* 0BCA6C 800BBE6C 91AD03C0 */ lbu $t5, %lo(D_803B03C0)($t5) # 0x3c0($t5) -/* 0BCA70 800BBE70 24010001 */ li $at, 1 -/* 0BCA74 800BBE74 00002025 */ move $a0, $zero -/* 0BCA78 800BBE78 29AE0002 */ slti $t6, $t5, 2 -/* 0BCA7C 800BBE7C 39CE0001 */ xori $t6, $t6, 1 -/* 0BCA80 800BBE80 15C10007 */ bne $t6, $at, .L800BBEA0 -/* 0BCA84 800BBE84 00001825 */ move $v1, $zero -/* 0BCA88 800BBE88 24050002 */ li $a1, 2 -/* 0BCA8C 800BBE8C 0C02E6A4 */ jal func_800B9A90 -/* 0BCA90 800BBE90 AFA60028 */ sw $a2, 0x28($sp) -/* 0BCA94 800BBE94 8FA60028 */ lw $a2, 0x28($sp) -/* 0BCA98 800BBE98 10000001 */ b .L800BBEA0 -/* 0BCA9C 800BBE9C 00401825 */ move $v1, $v0 -.L800BBEA0: -/* 0BCAA0 800BBEA0 1460000A */ bnez $v1, .L800BBECC -/* 0BCAA4 800BBEA4 00C02025 */ move $a0, $a2 -/* 0BCAA8 800BBEA8 0C02EE67 */ jal func_800BB99C -/* 0BCAAC 800BBEAC 24050002 */ li $a1, 2 -/* 0BCAB0 800BBEB0 14400006 */ bnez $v0, .L800BBECC -/* 0BCAB4 800BBEB4 3C0F7655 */ lui $t7, (0x76557364 >> 16) # lui $t7, 0x7655 -/* 0BCAB8 800BBEB8 3C18800F */ lui $t8, %hi(D_800EA5DC) # $t8, 0x800f -/* 0BCABC 800BBEBC 2718A5DC */ addiu $t8, %lo(D_800EA5DC) # addiu $t8, $t8, -0x5a24 -/* 0BCAC0 800BBEC0 35EF7364 */ ori $t7, (0x76557364 & 0xFFFF) # ori $t7, $t7, 0x7364 -/* 0BCAC4 800BBEC4 10000006 */ b .L800BBEE0 -/* 0BCAC8 800BBEC8 AF0F0000 */ sw $t7, ($t8) -.L800BBECC: -/* 0BCACC 800BBECC 3C197655 */ lui $t9, (0x76557364 >> 16) # lui $t9, 0x7655 -/* 0BCAD0 800BBED0 3C08800F */ lui $t0, %hi(D_800EA5DC) # $t0, 0x800f -/* 0BCAD4 800BBED4 2508A5DC */ addiu $t0, %lo(D_800EA5DC) # addiu $t0, $t0, -0x5a24 -/* 0BCAD8 800BBED8 37397364 */ ori $t9, (0x76557364 & 0xFFFF) # ori $t9, $t9, 0x7364 -/* 0BCADC 800BBEDC AD190000 */ sw $t9, ($t0) -.L800BBEE0: -/* 0BCAE0 800BBEE0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BCAE4 800BBEE4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BCAE8 800BBEE8 03E00008 */ jr $ra -/* 0BCAEC 800BBEEC 00000000 */ nop - -glabel func_800BBEF0 -/* 0BCAF0 800BBEF0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BCAF4 800BBEF4 14C00006 */ bnez $a2, .L800BBF10 -/* 0BCAF8 800BBEF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BCAFC 800BBEFC 3C0E1971 */ lui $t6, (0x19710515 >> 16) # lui $t6, 0x1971 -/* 0BCB00 800BBF00 3C0F800F */ lui $t7, %hi(D_800EA5DC) # $t7, 0x800f -/* 0BCB04 800BBF04 25EFA5DC */ addiu $t7, %lo(D_800EA5DC) # addiu $t7, $t7, -0x5a24 -/* 0BCB08 800BBF08 35CE0515 */ ori $t6, (0x19710515 & 0xFFFF) # ori $t6, $t6, 0x515 -/* 0BCB0C 800BBF0C ADEE0000 */ sw $t6, ($t7) -.L800BBF10: -/* 0BCB10 800BBF10 0C02EFD1 */ jal func_800BBF44 -/* 0BCB14 800BBF14 AFA60020 */ sw $a2, 0x20($sp) -/* 0BCB18 800BBF18 8FA60020 */ lw $a2, 0x20($sp) -/* 0BCB1C 800BBF1C 3C187655 */ lui $t8, (0x76557364 >> 16) # lui $t8, 0x7655 -/* 0BCB20 800BBF20 37187364 */ ori $t8, (0x76557364 & 0xFFFF) # ori $t8, $t8, 0x7364 -/* 0BCB24 800BBF24 14C00003 */ bnez $a2, .L800BBF34 -/* 0BCB28 800BBF28 3C19800F */ lui $t9, %hi(D_800EA5DC) # $t9, 0x800f -/* 0BCB2C 800BBF2C 2739A5DC */ addiu $t9, %lo(D_800EA5DC) # addiu $t9, $t9, -0x5a24 -/* 0BCB30 800BBF30 AF380000 */ sw $t8, ($t9) -.L800BBF34: -/* 0BCB34 800BBF34 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BCB38 800BBF38 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BCB3C 800BBF3C 03E00008 */ jr $ra -/* 0BCB40 800BBF40 00000000 */ nop - -glabel func_800BBF44 -/* 0BCB44 800BBF44 3C0E803B */ lui $t6, %hi(D_803B707C) # $t6, 0x803b -/* 0BCB48 800BBF48 95CE707C */ lhu $t6, %lo(D_803B707C)($t6) -/* 0BCB4C 800BBF4C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0BCB50 800BBF50 AFB10018 */ sw $s1, 0x18($sp) -/* 0BCB54 800BBF54 00AE082B */ sltu $at, $a1, $t6 -/* 0BCB58 800BBF58 00A08825 */ move $s1, $a1 -/* 0BCB5C 800BBF5C AFBF001C */ sw $ra, 0x1c($sp) -/* 0BCB60 800BBF60 AFB00014 */ sw $s0, 0x14($sp) -/* 0BCB64 800BBF64 AFA40040 */ sw $a0, 0x40($sp) -/* 0BCB68 800BBF68 10200057 */ beqz $at, .L800BC0C8 -/* 0BCB6C 800BBF6C AFA60048 */ sw $a2, 0x48($sp) -/* 0BCB70 800BBF70 3C0F803B */ lui $t7, %hi(D_803B706C) # $t7, 0x803b -/* 0BCB74 800BBF74 8DEF706C */ lw $t7, %lo(D_803B706C)($t7) -/* 0BCB78 800BBF78 8FA80040 */ lw $t0, 0x40($sp) -/* 0BCB7C 800BBF7C 0005C0C0 */ sll $t8, $a1, 3 -/* 0BCB80 800BBF80 01F81021 */ addu $v0, $t7, $t8 -/* 0BCB84 800BBF84 8C590008 */ lw $t9, 8($v0) -/* 0BCB88 800BBF88 00084880 */ sll $t1, $t0, 2 -/* 0BCB8C 800BBF8C 01284821 */ addu $t1, $t1, $t0 -/* 0BCB90 800BBF90 17200002 */ bnez $t9, .L800BBF9C -/* 0BCB94 800BBF94 000948C0 */ sll $t1, $t1, 3 -/* 0BCB98 800BBF98 8C510004 */ lw $s1, 4($v0) -.L800BBF9C: -/* 0BCB9C 800BBF9C 01284821 */ addu $t1, $t1, $t0 -/* 0BCBA0 800BBFA0 3C0A803B */ lui $t2, %hi(D_803B1510) # $t2, 0x803b -/* 0BCBA4 800BBFA4 254A1510 */ addiu $t2, %lo(D_803B1510) # addiu $t2, $t2, 0x1510 -/* 0BCBA8 800BBFA8 000948C0 */ sll $t1, $t1, 3 -/* 0BCBAC 800BBFAC 012A8021 */ addu $s0, $t1, $t2 -/* 0BCBB0 800BBFB0 0C02FBCB */ jal func_800BEF2C -/* 0BCBB4 800BBFB4 02002025 */ move $a0, $s0 -/* 0BCBB8 800BBFB8 8FAB0048 */ lw $t3, 0x48($sp) -/* 0BCBBC 800BBFBC 27A50028 */ addiu $a1, $sp, 0x28 -/* 0BCBC0 800BBFC0 27A6002C */ addiu $a2, $sp, 0x2c -/* 0BCBC4 800BBFC4 11600018 */ beqz $t3, .L800BC028 -/* 0BCBC8 800BBFC8 02202025 */ move $a0, $s1 -/* 0BCBCC 800BBFCC AFA0002C */ sw $zero, 0x2c($sp) -/* 0BCBD0 800BBFD0 AFA00028 */ sw $zero, 0x28($sp) -/* 0BCBD4 800BBFD4 0C02EEE8 */ jal func_800BBBA0 -/* 0BCBD8 800BBFD8 02202025 */ move $a0, $s1 -/* 0BCBDC 800BBFDC 8FAC002C */ lw $t4, 0x2c($sp) -/* 0BCBE0 800BBFE0 24010001 */ li $at, 1 -/* 0BCBE4 800BBFE4 00402025 */ move $a0, $v0 -/* 0BCBE8 800BBFE8 15810009 */ bne $t4, $at, .L800BC010 -/* 0BCBEC 800BBFEC 26050005 */ addiu $a1, $s0, 5 -/* 0BCBF0 800BBFF0 24050002 */ li $a1, 2 -/* 0BCBF4 800BBFF4 02003025 */ move $a2, $s0 -/* 0BCBF8 800BBFF8 0C02EE19 */ jal func_800BB864 -/* 0BCBFC 800BBFFC AFA20024 */ sw $v0, 0x24($sp) -/* 0BCC00 800BC000 10400031 */ beqz $v0, .L800BC0C8 -/* 0BCC04 800BC004 8FA40024 */ lw $a0, 0x24($sp) -/* 0BCC08 800BC008 1000000B */ b .L800BC038 -/* 0BCC0C 800BC00C A2040005 */ sb $a0, 5($s0) -.L800BC010: -/* 0BCC10 800BC010 0C02EF34 */ jal func_800BBCD0 -/* 0BCC14 800BC014 02202025 */ move $a0, $s1 -/* 0BCC18 800BC018 54400008 */ bnel $v0, $zero, .L800BC03C -/* 0BCC1C 800BC01C A2110004 */ sb $s1, 4($s0) -/* 0BCC20 800BC020 1000002A */ b .L800BC0CC -/* 0BCC24 800BC024 8FBF001C */ lw $ra, 0x1c($sp) -.L800BC028: -/* 0BCC28 800BC028 0C02EF34 */ jal func_800BBCD0 -/* 0BCC2C 800BC02C 26050005 */ addiu $a1, $s0, 5 -/* 0BCC30 800BC030 50400026 */ beql $v0, $zero, .L800BC0CC -/* 0BCC34 800BC034 8FBF001C */ lw $ra, 0x1c($sp) -.L800BC038: -/* 0BCC38 800BC038 A2110004 */ sb $s1, 4($s0) -.L800BC03C: -/* 0BCC3C 800BC03C 00002025 */ move $a0, $zero -/* 0BCC40 800BC040 24050002 */ li $a1, 2 -/* 0BCC44 800BC044 0C02E6A4 */ jal func_800B9A90 -/* 0BCC48 800BC048 02203025 */ move $a2, $s1 -/* 0BCC4C 800BC04C 14400013 */ bnez $v0, .L800BC09C -/* 0BCC50 800BC050 00401825 */ move $v1, $v0 -/* 0BCC54 800BC054 8E0D0000 */ lw $t5, ($s0) -/* 0BCC58 800BC058 8FB80048 */ lw $t8, 0x48($sp) -/* 0BCC5C 800BC05C 000D78C0 */ sll $t7, $t5, 3 -/* 0BCC60 800BC060 05E2001A */ bltzl $t7, .L800BC0CC -/* 0BCC64 800BC064 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BCC68 800BC068 13000007 */ beqz $t8, .L800BC088 -/* 0BCC6C 800BC06C 02202025 */ move $a0, $s1 -/* 0BCC70 800BC070 02202025 */ move $a0, $s1 -/* 0BCC74 800BC074 24050002 */ li $a1, 2 -/* 0BCC78 800BC078 0C02EE94 */ jal func_800BBA50 -/* 0BCC7C 800BC07C 02003025 */ move $a2, $s0 -/* 0BCC80 800BC080 10000004 */ b .L800BC094 -/* 0BCC84 800BC084 00401825 */ move $v1, $v0 -.L800BC088: -/* 0BCC88 800BC088 0C02EE67 */ jal func_800BB99C -/* 0BCC8C 800BC08C 24050002 */ li $a1, 2 -/* 0BCC90 800BC090 00401825 */ move $v1, $v0 -.L800BC094: -/* 0BCC94 800BC094 5040000D */ beql $v0, $zero, .L800BC0CC -/* 0BCC98 800BC098 8FBF001C */ lw $ra, 0x1c($sp) -.L800BC09C: -/* 0BCC9C 800BC09C 8FA40040 */ lw $a0, 0x40($sp) -/* 0BCCA0 800BC0A0 0C03046C */ jal func_800C11B0 -/* 0BCCA4 800BC0A4 AFA3003C */ sw $v1, 0x3c($sp) -/* 0BCCA8 800BC0A8 8FA3003C */ lw $v1, 0x3c($sp) -/* 0BCCAC 800BC0AC 92080000 */ lbu $t0, ($s0) -/* 0BCCB0 800BC0B0 A2000088 */ sb $zero, 0x88($s0) -/* 0BCCB4 800BC0B4 A600000E */ sh $zero, 0xe($s0) -/* 0BCCB8 800BC0B8 35090080 */ ori $t1, $t0, 0x80 -/* 0BCCBC 800BC0BC A2090000 */ sb $t1, ($s0) -/* 0BCCC0 800BC0C0 AE030014 */ sw $v1, 0x14($s0) -/* 0BCCC4 800BC0C4 AE030070 */ sw $v1, 0x70($s0) -.L800BC0C8: -/* 0BCCC8 800BC0C8 8FBF001C */ lw $ra, 0x1c($sp) -.L800BC0CC: -/* 0BCCCC 800BC0CC 8FB00014 */ lw $s0, 0x14($sp) -/* 0BCCD0 800BC0D0 8FB10018 */ lw $s1, 0x18($sp) -/* 0BCCD4 800BC0D4 03E00008 */ jr $ra -/* 0BCCD8 800BC0D8 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel audio_init -/* 0BCCDC 800BC0DC 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0BCCE0 800BC0E0 3C0E800F */ lui $t6, %hi(D_800EA5DC) # $t6, 0x800f -/* 0BCCE4 800BC0E4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0BCCE8 800BC0E8 AFB50028 */ sw $s5, 0x28($sp) -/* 0BCCEC 800BC0EC AFB40024 */ sw $s4, 0x24($sp) -/* 0BCCF0 800BC0F0 AFB30020 */ sw $s3, 0x20($sp) -/* 0BCCF4 800BC0F4 AFB2001C */ sw $s2, 0x1c($sp) -/* 0BCCF8 800BC0F8 AFB10018 */ sw $s1, 0x18($sp) -/* 0BCCFC 800BC0FC AFB00014 */ sw $s0, 0x14($sp) -/* 0BCD00 800BC100 25CEA5DC */ addiu $t6, %lo(D_800EA5DC) # addiu $t6, $t6, -0x5a24 -/* 0BCD04 800BC104 ADC00000 */ sw $zero, ($t6) -/* 0BCD08 800BC108 3C04800F */ lui $a0, %hi(D_800EA5D0) # $a0, 0x800f -/* 0BCD0C 800BC10C 8C84A5D0 */ lw $a0, %lo(D_800EA5D0)($a0) -/* 0BCD10 800BC110 00001825 */ move $v1, $zero -/* 0BCD14 800BC114 3C0A803B */ lui $t2, %hi(D_803B71A0) # $t2, 0x803b -/* 0BCD18 800BC118 04810003 */ bgez $a0, .L800BC128 -/* 0BCD1C 800BC11C 000478C3 */ sra $t7, $a0, 3 -/* 0BCD20 800BC120 24810007 */ addiu $at, $a0, 7 -/* 0BCD24 800BC124 000178C3 */ sra $t7, $at, 3 -.L800BC128: -/* 0BCD28 800BC128 19E0000C */ blez $t7, .L800BC15C -/* 0BCD2C 800BC12C 3C04803B */ lui $a0, %hi(gGfxSPTaskOutputBufferSize) # 0x803b -/* 0BCD30 800BC130 3C18803B */ lui $t8, %hi(D_803B71B0) # 0x803b -/* 0BCD34 800BC134 270271B0 */ addiu $v0, $t8, %lo(D_803B71B0) # 0x71b0 -/* 0BCD38 800BC138 000FC8C0 */ sll $t9, $t7, 3 -/* 0BCD3C 800BC13C 03221821 */ addu $v1, $t9, $v0 -.L800BC140: -/* 0BCD40 800BC140 24420008 */ addiu $v0, $v0, 8 -/* 0BCD44 800BC144 0043082B */ sltu $at, $v0, $v1 -/* 0BCD48 800BC148 24080000 */ li $t0, 0 -/* 0BCD4C 800BC14C 24090000 */ li $t1, 0 -/* 0BCD50 800BC150 AC49FFFC */ sw $t1, -4($v0) -/* 0BCD54 800BC154 1420FFFA */ bnez $at, .L800BC140 -/* 0BCD58 800BC158 AC48FFF8 */ sw $t0, -8($v0) -.L800BC15C: -/* 0BCD5C 800BC15C 2482F780 */ addiu $v0, $a0, %lo(gGfxSPTaskOutputBufferSize) # -0x880 -/* 0BCD60 800BC160 254A71A0 */ addiu $t2, %lo(D_803B71A0) # addiu $t2, $t2, 0x71a0 -/* 0BCD64 800BC164 01421823 */ subu $v1, $t2, $v0 -/* 0BCD68 800BC168 000380C2 */ srl $s0, $v1, 3 -/* 0BCD6C 800BC16C 06000007 */ bltz $s0, .L800BC18C -.L800BC170: -/* 0BCD70 800BC170 2610FFFF */ addiu $s0, $s0, -1 -/* 0BCD74 800BC174 240C0000 */ li $t4, 0 -/* 0BCD78 800BC178 240D0000 */ li $t5, 0 -/* 0BCD7C 800BC17C AC4D0004 */ sw $t5, 4($v0) -/* 0BCD80 800BC180 AC4C0000 */ sw $t4, ($v0) -/* 0BCD84 800BC184 0601FFFA */ bgez $s0, .L800BC170 -/* 0BCD88 800BC188 24420008 */ addiu $v0, $v0, 8 -.L800BC18C: -/* 0BCD8C 800BC18C 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000 -/* 0BCD90 800BC190 8C420300 */ lw $v0, %lo(osTvType)($v0) -/* 0BCD94 800BC194 10400007 */ beqz $v0, .L800BC1B4 -/* 0BCD98 800BC198 24010001 */ li $at, 1 -/* 0BCD9C 800BC19C 10410015 */ beq $v0, $at, .L800BC1F4 -/* 0BCDA0 800BC1A0 24010002 */ li $at, 2 -/* 0BCDA4 800BC1A4 1041000B */ beq $v0, $at, .L800BC1D4 -/* 0BCDA8 800BC1A8 00000000 */ nop -/* 0BCDAC 800BC1AC 10000011 */ b .L800BC1F4 -/* 0BCDB0 800BC1B0 00000000 */ nop -.L800BC1B4: -/* 0BCDB4 800BC1B4 3C01800F */ lui $at, %hi(D_800F2EA0) # $at, 0x800f -/* 0BCDB8 800BC1B8 C4242EA0 */ lwc1 $f4, %lo(D_800F2EA0)($at) -/* 0BCDBC 800BC1BC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b -/* 0BCDC0 800BC1C0 240E0032 */ li $t6, 50 -/* 0BCDC4 800BC1C4 E4247178 */ swc1 $f4, %lo(D_803B7178)($at) -/* 0BCDC8 800BC1C8 3C01803B */ lui $at, %hi(D_803B717C) # $at, 0x803b -/* 0BCDCC 800BC1CC 10000010 */ b .L800BC210 -/* 0BCDD0 800BC1D0 AC2E717C */ sw $t6, %lo(D_803B717C)($at) -.L800BC1D4: -/* 0BCDD4 800BC1D4 3C01800F */ lui $at, %hi(D_800F2EA4) # $at, 0x800f -/* 0BCDD8 800BC1D8 C4262EA4 */ lwc1 $f6, %lo(D_800F2EA4)($at) -/* 0BCDDC 800BC1DC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b -/* 0BCDE0 800BC1E0 240F003C */ li $t7, 60 -/* 0BCDE4 800BC1E4 E4267178 */ swc1 $f6, %lo(D_803B7178)($at) -/* 0BCDE8 800BC1E8 3C01803B */ lui $at, %hi(D_803B717C) # $at, 0x803b -/* 0BCDEC 800BC1EC 10000008 */ b .L800BC210 -/* 0BCDF0 800BC1F0 AC2F717C */ sw $t7, %lo(D_803B717C)($at) -.L800BC1F4: -/* 0BCDF4 800BC1F4 3C01800F */ lui $at, %hi(D_800F2EA8) # $at, 0x800f -/* 0BCDF8 800BC1F8 C4282EA8 */ lwc1 $f8, %lo(D_800F2EA8)($at) -/* 0BCDFC 800BC1FC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b -/* 0BCE00 800BC200 2419003C */ li $t9, 60 -/* 0BCE04 800BC204 E4287178 */ swc1 $f8, %lo(D_803B7178)($at) -/* 0BCE08 800BC208 3C01803B */ lui $at, %hi(D_803B717C) # $at, 0x803b -/* 0BCE0C 800BC20C AC39717C */ sw $t9, %lo(D_803B717C)($at) -.L800BC210: -/* 0BCE10 800BC210 0C032FD2 */ jal func_800CBF48 -/* 0BCE14 800BC214 00000000 */ nop -/* 0BCE18 800BC218 3C02803B */ lui $v0, %hi(D_803B718C) # $v0, 0x803b -/* 0BCE1C 800BC21C 3C04803B */ lui $a0, %hi(D_803B7192) # $a0, 0x803b -/* 0BCE20 800BC220 24847192 */ addiu $a0, %lo(D_803B7192) # addiu $a0, $a0, 0x7192 -/* 0BCE24 800BC224 2442718C */ addiu $v0, %lo(D_803B718C) # addiu $v0, $v0, 0x718c -/* 0BCE28 800BC228 240300A0 */ li $v1, 160 -.L800BC22C: -/* 0BCE2C 800BC22C 24420002 */ addiu $v0, $v0, 2 -/* 0BCE30 800BC230 0044082B */ sltu $at, $v0, $a0 -/* 0BCE34 800BC234 1420FFFD */ bnez $at, .L800BC22C -/* 0BCE38 800BC238 A443FFFE */ sh $v1, -2($v0) -/* 0BCE3C 800BC23C 3C18803B */ lui $t8, %hi(D_803B70B8) # $t8, 0x803b -/* 0BCE40 800BC240 271870B8 */ addiu $t8, %lo(D_803B70B8) # addiu $t8, $t8, 0x70b8 -/* 0BCE44 800BC244 AF000000 */ sw $zero, ($t8) -/* 0BCE48 800BC248 3C01803B */ lui $at, %hi(D_803B70C0) # $at, 0x803b -/* 0BCE4C 800BC24C AC2070C0 */ sw $zero, %lo(D_803B70C0)($at) -/* 0BCE50 800BC250 3C01803B */ lui $at, %hi(D_803B70C4) # $at, 0x803b -/* 0BCE54 800BC254 AC2070C4 */ sw $zero, %lo(D_803B70C4)($at) -/* 0BCE58 800BC258 3C01803B */ lui $at, %hi(D_803B70B6) # $at, 0x803b -/* 0BCE5C 800BC25C A02070B6 */ sb $zero, %lo(D_803B70B6)($at) -/* 0BCE60 800BC260 3C02803B */ lui $v0, %hi(D_803B70D8) # $v0, 0x803b -/* 0BCE64 800BC264 3C01803B */ lui $at, %hi(D_803B70D4) # $at, 0x803b -/* 0BCE68 800BC268 244270D8 */ addiu $v0, %lo(D_803B70D8) # addiu $v0, $v0, 0x70d8 -/* 0BCE6C 800BC26C AC2070D4 */ sw $zero, %lo(D_803B70D4)($at) -/* 0BCE70 800BC270 3C04803B */ lui $a0, %hi(D_803B6720) # $a0, 0x803b -/* 0BCE74 800BC274 3C05803B */ lui $a1, %hi(D_803B6738) # $a1, 0x803b -/* 0BCE78 800BC278 AC400034 */ sw $zero, 0x34($v0) -/* 0BCE7C 800BC27C AC400084 */ sw $zero, 0x84($v0) -/* 0BCE80 800BC280 24A56738 */ addiu $a1, %lo(D_803B6738) # addiu $a1, $a1, 0x6738 -/* 0BCE84 800BC284 24846720 */ addiu $a0, %lo(D_803B6720) # addiu $a0, $a0, 0x6720 -/* 0BCE88 800BC288 0C033358 */ jal osCreateMesgQueue -/* 0BCE8C 800BC28C 24060001 */ li $a2, 1 -/* 0BCE90 800BC290 3C04803B */ lui $a0, %hi(D_803B6008) # $a0, 0x803b -/* 0BCE94 800BC294 3C05803B */ lui $a1, %hi(D_803B6020) # $a1, 0x803b -/* 0BCE98 800BC298 24A56020 */ addiu $a1, %lo(D_803B6020) # addiu $a1, $a1, 0x6020 -/* 0BCE9C 800BC29C 24846008 */ addiu $a0, %lo(D_803B6008) # addiu $a0, $a0, 0x6008 -/* 0BCEA0 800BC2A0 0C033358 */ jal osCreateMesgQueue -/* 0BCEA4 800BC2A4 24060040 */ li $a2, 64 -/* 0BCEA8 800BC2A8 3C01803B */ lui $at, %hi(D_803B70BC) # $at, 0x803b -/* 0BCEAC 800BC2AC AC2070BC */ sw $zero, %lo(D_803B70BC)($at) -/* 0BCEB0 800BC2B0 3C01803B */ lui $at, %hi(D_803B6E58) # $at, 0x803b -/* 0BCEB4 800BC2B4 3C04800F */ lui $a0, %hi(D_800EA5D4) # $a0, 0x800f -/* 0BCEB8 800BC2B8 AC206E58 */ sw $zero, %lo(D_803B6E58)($at) -/* 0BCEBC 800BC2BC 0C02E43C */ jal func_800B90F0 -/* 0BCEC0 800BC2C0 8C84A5D4 */ lw $a0, %lo(D_800EA5D4)($a0) -/* 0BCEC4 800BC2C4 3C06803B */ lui $a2, %hi(D_803B7180) # $a2, 0x803b -/* 0BCEC8 800BC2C8 3C14803B */ lui $s4, %hi(D_803AFBD8) # $s4, 0x803b -/* 0BCECC 800BC2CC 3C11803B */ lui $s1, %hi(D_803B718C) # $s1, 0x803b -/* 0BCED0 800BC2D0 2631718C */ addiu $s1, %lo(D_803B718C) # addiu $s1, $s1, 0x718c -/* 0BCED4 800BC2D4 2694FBD8 */ addiu $s4, %lo(D_803AFBD8) # addiu $s4, $s4, -0x428 -/* 0BCED8 800BC2D8 24C67180 */ addiu $a2, %lo(D_803B7180) # addiu $a2, $a2, 0x7180 -/* 0BCEDC 800BC2DC 24100A00 */ li $s0, 2560 -/* 0BCEE0 800BC2E0 02802025 */ move $a0, $s4 -.L800BC2E4: -/* 0BCEE4 800BC2E4 24050A00 */ li $a1, 2560 -/* 0BCEE8 800BC2E8 0C02E3FF */ jal func_800B8FFC -/* 0BCEEC 800BC2EC AFA6003C */ sw $a2, 0x3c($sp) -/* 0BCEF0 800BC2F0 8FA6003C */ lw $a2, 0x3c($sp) -/* 0BCEF4 800BC2F4 00001825 */ move $v1, $zero -/* 0BCEF8 800BC2F8 ACC20000 */ sw $v0, ($a2) -.L800BC2FC: -/* 0BCEFC 800BC2FC 8CC80000 */ lw $t0, ($a2) -/* 0BCF00 800BC300 01034821 */ addu $t1, $t0, $v1 -/* 0BCF04 800BC304 A5200000 */ sh $zero, ($t1) -/* 0BCF08 800BC308 8CCA0000 */ lw $t2, ($a2) -/* 0BCF0C 800BC30C 01435821 */ addu $t3, $t2, $v1 -/* 0BCF10 800BC310 A5600002 */ sh $zero, 2($t3) -/* 0BCF14 800BC314 8CCC0000 */ lw $t4, ($a2) -/* 0BCF18 800BC318 01836821 */ addu $t5, $t4, $v1 -/* 0BCF1C 800BC31C A5A00004 */ sh $zero, 4($t5) -/* 0BCF20 800BC320 8CCE0000 */ lw $t6, ($a2) -/* 0BCF24 800BC324 01C37821 */ addu $t7, $t6, $v1 -/* 0BCF28 800BC328 24630008 */ addiu $v1, $v1, 8 -/* 0BCF2C 800BC32C 1470FFF3 */ bne $v1, $s0, .L800BC2FC -/* 0BCF30 800BC330 A5E00006 */ sh $zero, 6($t7) -/* 0BCF34 800BC334 24C60004 */ addiu $a2, $a2, 4 -/* 0BCF38 800BC338 00D1082B */ sltu $at, $a2, $s1 -/* 0BCF3C 800BC33C 5420FFE9 */ bnel $at, $zero, .L800BC2E4 -/* 0BCF40 800BC340 02802025 */ move $a0, $s4 -/* 0BCF44 800BC344 3C01803B */ lui $at, %hi(D_803B0501) # $at, 0x803b -/* 0BCF48 800BC348 3C18803B */ lui $t8, %hi(D_803B0500) # $t8, 0x803b -/* 0BCF4C 800BC34C A0200501 */ sb $zero, %lo(D_803B0501)($at) -/* 0BCF50 800BC350 27180500 */ addiu $t8, %lo(D_803B0500) # addiu $t8, $t8, 0x500 -/* 0BCF54 800BC354 24190001 */ li $t9, 1 -/* 0BCF58 800BC358 0C02E803 */ jal func_800BA00C -/* 0BCF5C 800BC35C A3190000 */ sb $t9, ($t8) -/* 0BCF60 800BC360 3C11803B */ lui $s1, %hi(D_803B706C) # $s1, 0x803b -/* 0BCF64 800BC364 3C1200BC */ lui $s2, %hi(_sequencesSegmentRomStart) # $s2, 0xbc -/* 0BCF68 800BC368 26525F60 */ addiu $s2, %lo(_sequencesSegmentRomStart) # addiu $s2, $s2, 0x5f60 -/* 0BCF6C 800BC36C 2631706C */ addiu $s1, %lo(D_803B706C) # addiu $s1, $s1, 0x706c -/* 0BCF70 800BC370 27B50060 */ addiu $s5, $sp, 0x60 -/* 0BCF74 800BC374 AE350000 */ sw $s5, ($s1) -/* 0BCF78 800BC378 02A02825 */ move $a1, $s5 -/* 0BCF7C 800BC37C 02402025 */ move $a0, $s2 -/* 0BCF80 800BC380 0C02EAA0 */ jal func_800BAA80 -/* 0BCF84 800BC384 24060010 */ li $a2, 16 -/* 0BCF88 800BC388 8E280000 */ lw $t0, ($s1) -/* 0BCF8C 800BC38C 3C02803B */ lui $v0, %hi(D_803B707C) # $v0, 0x803b -/* 0BCF90 800BC390 2401FFF0 */ li $at, -16 -/* 0BCF94 800BC394 85090002 */ lh $t1, 2($t0) -/* 0BCF98 800BC398 2442707C */ addiu $v0, %lo(D_803B707C) # addiu $v0, $v0, 0x707c -/* 0BCF9C 800BC39C 02802025 */ move $a0, $s4 -/* 0BCFA0 800BC3A0 3130FFFF */ andi $s0, $t1, 0xffff -/* 0BCFA4 800BC3A4 001050C0 */ sll $t2, $s0, 3 -/* 0BCFA8 800BC3A8 01408025 */ move $s0, $t2 -/* 0BCFAC 800BC3AC 26100013 */ addiu $s0, $s0, 0x13 -/* 0BCFB0 800BC3B0 02012824 */ and $a1, $s0, $at -/* 0BCFB4 800BC3B4 00A08025 */ move $s0, $a1 -/* 0BCFB8 800BC3B8 0C02E3FF */ jal func_800B8FFC -/* 0BCFBC 800BC3BC A4490000 */ sh $t1, ($v0) -/* 0BCFC0 800BC3C0 AE220000 */ sw $v0, ($s1) -/* 0BCFC4 800BC3C4 02402025 */ move $a0, $s2 -/* 0BCFC8 800BC3C8 00402825 */ move $a1, $v0 -/* 0BCFCC 800BC3CC 0C02EAA0 */ jal func_800BAA80 -/* 0BCFD0 800BC3D0 02003025 */ move $a2, $s0 -/* 0BCFD4 800BC3D4 8E240000 */ lw $a0, ($s1) -/* 0BCFD8 800BC3D8 0C02ED0F */ jal func_800BB43C -/* 0BCFDC 800BC3DC 02402825 */ move $a1, $s2 -/* 0BCFE0 800BC3E0 3C110096 */ lui $s1, %hi(_audio_banksSegmentRomStart) # $s1, 0x96 -/* 0BCFE4 800BC3E4 3C12803B */ lui $s2, %hi(D_803B7070) # $s2, 0x803b -/* 0BCFE8 800BC3E8 26527070 */ addiu $s2, %lo(D_803B7070) # addiu $s2, $s2, 0x7070 -/* 0BCFEC 800BC3EC 26316260 */ addiu $s1, %lo(_audio_banksSegmentRomStart) # addiu $s1, $s1, 0x6260 -/* 0BCFF0 800BC3F0 AE550000 */ sw $s5, ($s2) -/* 0BCFF4 800BC3F4 02202025 */ move $a0, $s1 -/* 0BCFF8 800BC3F8 02A02825 */ move $a1, $s5 -/* 0BCFFC 800BC3FC 0C02EAA0 */ jal func_800BAA80 -/* 0BD000 800BC400 24060010 */ li $a2, 16 -/* 0BD004 800BC404 8E4C0000 */ lw $t4, ($s2) -/* 0BD008 800BC408 2401FFF0 */ li $at, -16 -/* 0BD00C 800BC40C 02802025 */ move $a0, $s4 -/* 0BD010 800BC410 85930002 */ lh $s3, 2($t4) -/* 0BD014 800BC414 001380C0 */ sll $s0, $s3, 3 -/* 0BD018 800BC418 26100013 */ addiu $s0, $s0, 0x13 -/* 0BD01C 800BC41C 02012824 */ and $a1, $s0, $at -/* 0BD020 800BC420 0C02E3FF */ jal func_800B8FFC -/* 0BD024 800BC424 00A08025 */ move $s0, $a1 -/* 0BD028 800BC428 AE420000 */ sw $v0, ($s2) -/* 0BD02C 800BC42C 02202025 */ move $a0, $s1 -/* 0BD030 800BC430 00402825 */ move $a1, $v0 -/* 0BD034 800BC434 0C02EAA0 */ jal func_800BAA80 -/* 0BD038 800BC438 02003025 */ move $a2, $s0 -/* 0BD03C 800BC43C 8E440000 */ lw $a0, ($s2) -/* 0BD040 800BC440 0C02ED0F */ jal func_800BB43C -/* 0BD044 800BC444 02202825 */ move $a1, $s1 -/* 0BD048 800BC448 00132880 */ sll $a1, $s3, 2 -/* 0BD04C 800BC44C 00B32823 */ subu $a1, $a1, $s3 -/* 0BD050 800BC450 00052880 */ sll $a1, $a1, 2 -/* 0BD054 800BC454 0C02E3FF */ jal func_800B8FFC -/* 0BD058 800BC458 02802025 */ move $a0, $s4 -/* 0BD05C 800BC45C 3C07803B */ lui $a3, %hi(D_803B7080) # $a3, 0x803b -/* 0BD060 800BC460 24E77080 */ addiu $a3, %lo(D_803B7080) # addiu $a3, $a3, 0x7080 -/* 0BD064 800BC464 ACE20000 */ sw $v0, ($a3) -/* 0BD068 800BC468 1A600019 */ blez $s3, .L800BC4D0 -/* 0BD06C 800BC46C 00001825 */ move $v1, $zero -/* 0BD070 800BC470 00008825 */ move $s1, $zero -/* 0BD074 800BC474 00008025 */ move $s0, $zero -.L800BC478: -/* 0BD078 800BC478 8E4E0000 */ lw $t6, ($s2) -/* 0BD07C 800BC47C 02A02825 */ move $a1, $s5 -/* 0BD080 800BC480 24060010 */ li $a2, 16 -/* 0BD084 800BC484 01D17821 */ addu $t7, $t6, $s1 -/* 0BD088 800BC488 8DE40004 */ lw $a0, 4($t7) -/* 0BD08C 800BC48C 0C02EAA0 */ jal func_800BAA80 -/* 0BD090 800BC490 AFA3008C */ sw $v1, 0x8c($sp) -/* 0BD094 800BC494 3C07803B */ lui $a3, %hi(D_803B7080) # $a3, 0x803b -/* 0BD098 800BC498 24E77080 */ addiu $a3, %lo(D_803B7080) # addiu $a3, $a3, 0x7080 -/* 0BD09C 800BC49C 8CF80000 */ lw $t8, ($a3) -/* 0BD0A0 800BC4A0 8FB90060 */ lw $t9, 0x60($sp) -/* 0BD0A4 800BC4A4 8FA3008C */ lw $v1, 0x8c($sp) -/* 0BD0A8 800BC4A8 03104021 */ addu $t0, $t8, $s0 -/* 0BD0AC 800BC4AC A1190001 */ sb $t9, 1($t0) -/* 0BD0B0 800BC4B0 8CEA0000 */ lw $t2, ($a3) -/* 0BD0B4 800BC4B4 8FA90064 */ lw $t1, 0x64($sp) -/* 0BD0B8 800BC4B8 24630001 */ addiu $v1, $v1, 1 -/* 0BD0BC 800BC4BC 01505821 */ addu $t3, $t2, $s0 -/* 0BD0C0 800BC4C0 2610000C */ addiu $s0, $s0, 0xc -/* 0BD0C4 800BC4C4 26310008 */ addiu $s1, $s1, 8 -/* 0BD0C8 800BC4C8 1473FFEB */ bne $v1, $s3, .L800BC478 -/* 0BD0CC 800BC4CC A1690002 */ sb $t1, 2($t3) -.L800BC4D0: -/* 0BD0D0 800BC4D0 3C11803B */ lui $s1, %hi(D_803B7074) # $s1, 0x803b -/* 0BD0D4 800BC4D4 3C120098 */ lui $s2, %hi(_audio_tablesSegmentRomStart) # $s2, 0x98 -/* 0BD0D8 800BC4D8 26529AA0 */ addiu $s2, %lo(_audio_tablesSegmentRomStart) # addiu $s2, $s2, -0x6560 -/* 0BD0DC 800BC4DC 26317074 */ addiu $s1, %lo(D_803B7074) # addiu $s1, $s1, 0x7074 -/* 0BD0E0 800BC4E0 AE350000 */ sw $s5, ($s1) -/* 0BD0E4 800BC4E4 02402025 */ move $a0, $s2 -/* 0BD0E8 800BC4E8 02A02825 */ move $a1, $s5 -/* 0BD0EC 800BC4EC 0C02EAA0 */ jal func_800BAA80 -/* 0BD0F0 800BC4F0 24060010 */ li $a2, 16 -/* 0BD0F4 800BC4F4 8E2C0000 */ lw $t4, ($s1) -/* 0BD0F8 800BC4F8 2401FFF0 */ li $at, -16 -/* 0BD0FC 800BC4FC 02802025 */ move $a0, $s4 -/* 0BD100 800BC500 85900002 */ lh $s0, 2($t4) -/* 0BD104 800BC504 001068C0 */ sll $t5, $s0, 3 -/* 0BD108 800BC508 01A08025 */ move $s0, $t5 -/* 0BD10C 800BC50C 26100013 */ addiu $s0, $s0, 0x13 -/* 0BD110 800BC510 02012824 */ and $a1, $s0, $at -/* 0BD114 800BC514 0C02E3FF */ jal func_800B8FFC -/* 0BD118 800BC518 00A08025 */ move $s0, $a1 -/* 0BD11C 800BC51C AE220000 */ sw $v0, ($s1) -/* 0BD120 800BC520 02402025 */ move $a0, $s2 -/* 0BD124 800BC524 00402825 */ move $a1, $v0 -/* 0BD128 800BC528 0C02EAA0 */ jal func_800BAA80 -/* 0BD12C 800BC52C 02003025 */ move $a2, $s0 -/* 0BD130 800BC530 8E240000 */ lw $a0, ($s1) -/* 0BD134 800BC534 0C02ED0F */ jal func_800BB43C -/* 0BD138 800BC538 02402825 */ move $a1, $s2 -/* 0BD13C 800BC53C 02802025 */ move $a0, $s4 -/* 0BD140 800BC540 0C02E3FF */ jal func_800B8FFC -/* 0BD144 800BC544 24050100 */ li $a1, 256 -/* 0BD148 800BC548 3C03803B */ lui $v1, %hi(D_803B7078) # $v1, 0x803b -/* 0BD14C 800BC54C 24637078 */ addiu $v1, %lo(D_803B7078) # addiu $v1, $v1, 0x7078 -/* 0BD150 800BC550 3C0400BF */ lui $a0, %hi(_instrument_setsSegmentRomStart) # $a0, 0xbf -/* 0BD154 800BC554 AC620000 */ sw $v0, ($v1) -/* 0BD158 800BC558 248490E0 */ addiu $a0, %lo(_instrument_setsSegmentRomStart) # addiu $a0, $a0, -0x6f20 -/* 0BD15C 800BC55C 00402825 */ move $a1, $v0 -/* 0BD160 800BC560 0C02EAA0 */ jal func_800BAA80 -/* 0BD164 800BC564 24060100 */ li $a2, 256 -/* 0BD168 800BC568 3C10800F */ lui $s0, %hi(D_800EA5D8) # $s0, 0x800f -/* 0BD16C 800BC56C 2610A5D8 */ addiu $s0, %lo(D_800EA5D8) # addiu $s0, $s0, -0x5a28 -/* 0BD170 800BC570 8E050000 */ lw $a1, ($s0) -/* 0BD174 800BC574 0C02E3FF */ jal func_800B8FFC -/* 0BD178 800BC578 02802025 */ move $a0, $s4 -/* 0BD17C 800BC57C 3C04803B */ lui $a0, %hi(D_803B01B8) # $a0, 0x803b -/* 0BD180 800BC580 248401B8 */ addiu $a0, %lo(D_803B01B8) # addiu $a0, $a0, 0x1b8 -/* 0BD184 800BC584 00402825 */ move $a1, $v0 -/* 0BD188 800BC588 0C02E41F */ jal func_800B907C -/* 0BD18C 800BC58C 8E060000 */ lw $a2, ($s0) -/* 0BD190 800BC590 0C030497 */ jal func_800C125C -/* 0BD194 800BC594 00000000 */ nop -/* 0BD198 800BC598 3C0F7655 */ lui $t7, (0x76557364 >> 16) # lui $t7, 0x7655 -/* 0BD19C 800BC59C 3C18800F */ lui $t8, %hi(D_800EA5DC) # $t8, 0x800f -/* 0BD1A0 800BC5A0 2718A5DC */ addiu $t8, %lo(D_800EA5DC) # addiu $t8, $t8, -0x5a24 -/* 0BD1A4 800BC5A4 35EF7364 */ ori $t7, (0x76557364 & 0xFFFF) # ori $t7, $t7, 0x7364 -/* 0BD1A8 800BC5A8 AF0F0000 */ sw $t7, ($t8) -/* 0BD1AC 800BC5AC 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BD1B0 800BC5B0 8FB50028 */ lw $s5, 0x28($sp) -/* 0BD1B4 800BC5B4 8FB40024 */ lw $s4, 0x24($sp) -/* 0BD1B8 800BC5B8 8FB30020 */ lw $s3, 0x20($sp) -/* 0BD1BC 800BC5BC 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BD1C0 800BC5C0 8FB10018 */ lw $s1, 0x18($sp) -/* 0BD1C4 800BC5C4 8FB00014 */ lw $s0, 0x14($sp) -/* 0BD1C8 800BC5C8 03E00008 */ jr $ra -/* 0BD1CC 800BC5CC 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/audio/playback.s b/asm/audio/playback.s deleted file mode 100644 index 20712e5ec..000000000 --- a/asm/audio/playback.s +++ /dev/null @@ -1,1767 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.section .text, "ax" - -glabel func_800BC5D0 -/* 0BD1D0 800BC5D0 AFA60008 */ sw $a2, 8($sp) -/* 0BD1D4 800BC5D4 AFA7000C */ sw $a3, 0xc($sp) -/* 0BD1D8 800BC5D8 8C9900B0 */ lw $t9, 0xb0($a0) -/* 0BD1DC 800BC5DC 00C07825 */ move $t7, $a2 -/* 0BD1E0 800BC5E0 44856000 */ mtc1 $a1, $f12 -/* 0BD1E4 800BC5E4 31F8007F */ andi $t8, $t7, 0x7f -/* 0BD1E8 800BC5E8 00194980 */ sll $t1, $t9, 6 -/* 0BD1EC 800BC5EC 05210026 */ bgez $t1, .L800BC688 -/* 0BD1F0 800BC5F0 03003025 */ move $a2, $t8 -/* 0BD1F4 800BC5F4 3C0A803B */ lui $t2, %hi(D_803B70B6) # $t2, 0x803b -/* 0BD1F8 800BC5F8 814A70B6 */ lb $t2, %lo(D_803B70B6)($t2) -/* 0BD1FC 800BC5FC 24010001 */ li $at, 1 -/* 0BD200 800BC600 001828C3 */ sra $a1, $t8, 3 -/* 0BD204 800BC604 15410020 */ bne $t2, $at, .L800BC688 -/* 0BD208 800BC608 248200B0 */ addiu $v0, $a0, 0xb0 -/* 0BD20C 800BC60C 28A10010 */ slti $at, $a1, 0x10 -/* 0BD210 800BC610 14200002 */ bnez $at, .L800BC61C -/* 0BD214 800BC614 03001825 */ move $v1, $t8 -/* 0BD218 800BC618 2405000F */ li $a1, 15 -.L800BC61C: -/* 0BD21C 800BC61C 00053840 */ sll $a3, $a1, 1 -/* 0BD220 800BC620 3C0B800F */ lui $t3, %hi(gHeadsetPanQuantization) -/* 0BD224 800BC624 01675821 */ addu $t3, $t3, $a3 -/* 0BD228 800BC628 956B6270 */ lhu $t3, %lo(gHeadsetPanQuantization)($t3) -/* 0BD22C 800BC62C 904E0000 */ lbu $t6, ($v0) -/* 0BD230 800BC630 00076023 */ negu $t4, $a3 -/* 0BD234 800BC634 3C0D800F */ lui $t5, %hi(gHeadsetPanQuantization + 0x1e) -/* 0BD238 800BC638 01AC6821 */ addu $t5, $t5, $t4 -/* 0BD23C 800BC63C A04B0004 */ sb $t3, 4($v0) -/* 0BD240 800BC640 95AD628E */ lhu $t5, %lo(gHeadsetPanQuantization + 0x1e)($t5) -/* 0BD244 800BC644 31D8FFF7 */ andi $t8, $t6, 0xfff7 -/* 0BD248 800BC648 330900FB */ andi $t1, $t8, 0xfb -/* 0BD24C 800BC64C A0580000 */ sb $t8, ($v0) -/* 0BD250 800BC650 A0490000 */ sb $t1, ($v0) -/* 0BD254 800BC654 352A0001 */ ori $t2, $t1, 1 -/* 0BD258 800BC658 00065880 */ sll $t3, $a2, 2 -/* 0BD25C 800BC65C 3C01800F */ lui $at, %hi(gHeadsetPanVolume) -/* 0BD260 800BC660 A04A0000 */ sb $t2, ($v0) -/* 0BD264 800BC664 002B0821 */ addu $at, $at, $t3 -/* 0BD268 800BC668 A04D0003 */ sb $t5, 3($v0) -/* 0BD26C 800BC66C C4206310 */ lwc1 $f0, %lo(gHeadsetPanVolume)($at) -/* 0BD270 800BC670 00036080 */ sll $t4, $v1, 2 -/* 0BD274 800BC674 000C6823 */ negu $t5, $t4 -/* 0BD278 800BC678 3C01800F */ lui $at, %hi(gHeadsetPanVolume + 0x1fc) -/* 0BD27C 800BC67C 002D0821 */ addu $at, $at, $t5 -/* 0BD280 800BC680 1000003C */ b .L800BC774 -/* 0BD284 800BC684 C422650C */ lwc1 $f2, %lo(gHeadsetPanVolume + 0x1fc)($at) -.L800BC688: -/* 0BD288 800BC688 248200B0 */ addiu $v0, $a0, 0xb0 -/* 0BD28C 800BC68C 8C4E0000 */ lw $t6, ($v0) -/* 0BD290 800BC690 3C03803B */ lui $v1, %hi(D_803B70B6) # $v1, 0x803b -/* 0BD294 800BC694 806370B6 */ lb $v1, %lo(D_803B70B6)($v1) -/* 0BD298 800BC698 000EC180 */ sll $t8, $t6, 6 -/* 0BD29C 800BC69C 07010027 */ bgez $t8, .L800BC73C -/* 0BD2A0 800BC6A0 24010003 */ li $at, 3 -/* 0BD2A4 800BC6A4 14600025 */ bnez $v1, .L800BC73C -/* 0BD2A8 800BC6A8 00002025 */ move $a0, $zero -/* 0BD2AC 800BC6AC 90590000 */ lbu $t9, ($v0) -/* 0BD2B0 800BC6B0 00064880 */ sll $t1, $a2, 2 -/* 0BD2B4 800BC6B4 3C01800F */ lui $at, %hi(gStereoPanVolume) -/* 0BD2B8 800BC6B8 3328FFFE */ andi $t0, $t9, 0xfffe -/* 0BD2BC 800BC6BC A0400003 */ sb $zero, 3($v0) -/* 0BD2C0 800BC6C0 A0400004 */ sb $zero, 4($v0) -/* 0BD2C4 800BC6C4 A0480000 */ sb $t0, ($v0) -/* 0BD2C8 800BC6C8 00290821 */ addu $at, $at, $t1 -/* 0BD2CC 800BC6CC C4206510 */ lwc1 $f0, %lo(gStereoPanVolume)($at) -/* 0BD2D0 800BC6D0 00065080 */ sll $t2, $a2, 2 -/* 0BD2D4 800BC6D4 000A5823 */ negu $t3, $t2 -/* 0BD2D8 800BC6D8 3C01800F */ lui $at, %hi(gStereoPanVolume + 0x1fc) -/* 0BD2DC 800BC6DC 002B0821 */ addu $at, $at, $t3 -/* 0BD2E0 800BC6E0 C422670C */ lwc1 $f2, %lo(gStereoPanVolume + 0x1fc)($at) -/* 0BD2E4 800BC6E4 28C10020 */ slti $at, $a2, 0x20 -/* 0BD2E8 800BC6E8 00002825 */ move $a1, $zero -/* 0BD2EC 800BC6EC 10200003 */ beqz $at, .L800BC6FC -/* 0BD2F0 800BC6F0 00C01825 */ move $v1, $a2 -/* 0BD2F4 800BC6F4 10000005 */ b .L800BC70C -/* 0BD2F8 800BC6F8 24050001 */ li $a1, 1 -.L800BC6FC: -/* 0BD2FC 800BC6FC 28610061 */ slti $at, $v1, 0x61 -/* 0BD300 800BC700 54200003 */ bnel $at, $zero, .L800BC710 -/* 0BD304 800BC704 904F0000 */ lbu $t7, ($v0) -/* 0BD308 800BC708 24040001 */ li $a0, 1 -.L800BC70C: -/* 0BD30C 800BC70C 904F0000 */ lbu $t7, ($v0) -.L800BC710: -/* 0BD310 800BC710 000468C0 */ sll $t5, $a0, 3 -/* 0BD314 800BC714 31AE0008 */ andi $t6, $t5, 8 -/* 0BD318 800BC718 31F8FFF7 */ andi $t8, $t7, 0xfff7 -/* 0BD31C 800BC71C 01D85825 */ or $t3, $t6, $t8 -/* 0BD320 800BC720 00054880 */ sll $t1, $a1, 2 -/* 0BD324 800BC724 312A0004 */ andi $t2, $t1, 4 -/* 0BD328 800BC728 316C00FB */ andi $t4, $t3, 0xfb -/* 0BD32C 800BC72C A04B0000 */ sb $t3, ($v0) -/* 0BD330 800BC730 014C6825 */ or $t5, $t2, $t4 -/* 0BD334 800BC734 1000000F */ b .L800BC774 -/* 0BD338 800BC738 A04D0000 */ sb $t5, ($v0) -.L800BC73C: -/* 0BD33C 800BC73C 14610005 */ bne $v1, $at, .L800BC754 -/* 0BD340 800BC740 00067880 */ sll $t7, $a2, 2 -/* 0BD344 800BC744 3C01800F */ lui $at, %hi(D_800F2EB0) # $at, 0x800f -/* 0BD348 800BC748 C4222EB0 */ lwc1 $f2, %lo(D_800F2EB0)($at) -/* 0BD34C 800BC74C 10000009 */ b .L800BC774 -/* 0BD350 800BC750 46001006 */ mov.s $f0, $f2 -.L800BC754: -/* 0BD354 800BC754 3C01800F */ lui $at, %hi(gDefaultPanVolume) -/* 0BD358 800BC758 002F0821 */ addu $at, $at, $t7 -/* 0BD35C 800BC75C C4206710 */ lwc1 $f0, %lo(gDefaultPanVolume)($at) -/* 0BD360 800BC760 00067080 */ sll $t6, $a2, 2 -/* 0BD364 800BC764 000EC023 */ negu $t8, $t6 -/* 0BD368 800BC768 3C01800F */ lui $at, %hi(gDefaultPanVolume + 0x1fc) -/* 0BD36C 800BC76C 00380821 */ addu $at, $at, $t8 -/* 0BD370 800BC770 C422690C */ lwc1 $f2, %lo(gDefaultPanVolume + 0x1fc)($at) -.L800BC774: -/* 0BD374 800BC774 44807000 */ mtc1 $zero, $f14 -/* 0BD378 800BC778 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BD37C 800BC77C 460E603C */ c.lt.s $f12, $f14 -/* 0BD380 800BC780 00000000 */ nop -/* 0BD384 800BC784 45020003 */ bc1fl .L800BC794 -/* 0BD388 800BC788 44817000 */ mtc1 $at, $f14 -/* 0BD38C 800BC78C 46007306 */ mov.s $f12, $f14 -/* 0BD390 800BC790 44817000 */ mtc1 $at, $f14 -.L800BC794: -/* 0BD394 800BC794 00000000 */ nop -/* 0BD398 800BC798 460C703C */ c.lt.s $f14, $f12 -/* 0BD39C 800BC79C 00000000 */ nop -/* 0BD3A0 800BC7A0 45000002 */ bc1f .L800BC7AC -/* 0BD3A4 800BC7A4 00000000 */ nop -/* 0BD3A8 800BC7A8 46007306 */ mov.s $f12, $f14 -.L800BC7AC: -/* 0BD3AC 800BC7AC 46006102 */ mul.s $f4, $f12, $f0 -/* 0BD3B0 800BC7B0 3C01800F */ lui $at, %hi(D_800F2EB4) # $at, 0x800f -/* 0BD3B4 800BC7B4 C42E2EB4 */ lwc1 $f14, %lo(D_800F2EB4)($at) -/* 0BD3B8 800BC7B8 904C0005 */ lbu $t4, 5($v0) -/* 0BD3BC 800BC7BC 460E2182 */ mul.s $f6, $f4, $f14 -/* 0BD3C0 800BC7C0 00000000 */ nop -/* 0BD3C4 800BC7C4 46026282 */ mul.s $f10, $f12, $f2 -/* 0BD3C8 800BC7C8 4600320D */ trunc.w.s $f8, $f6 -/* 0BD3CC 800BC7CC 460E5402 */ mul.s $f16, $f10, $f14 -/* 0BD3D0 800BC7D0 44084000 */ mfc1 $t0, $f8 -/* 0BD3D4 800BC7D4 00000000 */ nop -/* 0BD3D8 800BC7D8 A4480006 */ sh $t0, 6($v0) -/* 0BD3DC 800BC7DC 4600848D */ trunc.w.s $f18, $f16 -/* 0BD3E0 800BC7E0 440B9000 */ mfc1 $t3, $f18 -/* 0BD3E4 800BC7E4 00000000 */ nop -/* 0BD3E8 800BC7E8 A44B0008 */ sh $t3, 8($v0) -/* 0BD3EC 800BC7EC 93AA000F */ lbu $t2, 0xf($sp) -/* 0BD3F0 800BC7F0 114C0006 */ beq $t2, $t4, .L800BC80C -/* 0BD3F4 800BC7F4 00000000 */ nop -/* 0BD3F8 800BC7F8 904F0000 */ lbu $t7, ($v0) -/* 0BD3FC 800BC7FC A04A0005 */ sb $t2, 5($v0) -/* 0BD400 800BC800 35EE0010 */ ori $t6, $t7, 0x10 -/* 0BD404 800BC804 03E00008 */ jr $ra -/* 0BD408 800BC808 A04E0000 */ sb $t6, ($v0) - -.L800BC80C: -/* 0BD40C 800BC80C 8C580000 */ lw $t8, ($v0) -/* 0BD410 800BC810 00184040 */ sll $t0, $t8, 1 -/* 0BD414 800BC814 05030006 */ bgezl $t0, .L800BC830 -/* 0BD418 800BC818 904A0000 */ lbu $t2, ($v0) -/* 0BD41C 800BC81C 904B0000 */ lbu $t3, ($v0) -/* 0BD420 800BC820 356C0010 */ ori $t4, $t3, 0x10 -/* 0BD424 800BC824 03E00008 */ jr $ra -/* 0BD428 800BC828 A04C0000 */ sb $t4, ($v0) - -/* 0BD42C 800BC82C 904A0000 */ lbu $t2, ($v0) -.L800BC830: -/* 0BD430 800BC830 314DFFEF */ andi $t5, $t2, 0xffef -/* 0BD434 800BC834 A04D0000 */ sb $t5, ($v0) -/* 0BD438 800BC838 03E00008 */ jr $ra -/* 0BD43C 800BC83C 00000000 */ nop - -glabel func_800BC840 -/* 0BD440 800BC840 44856000 */ mtc1 $a1, $f12 -/* 0BD444 800BC844 44800000 */ mtc1 $zero, $f0 -/* 0BD448 800BC848 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0BD44C 800BC84C 44812000 */ mtc1 $at, $f4 -/* 0BD450 800BC850 4600603C */ c.lt.s $f12, $f0 -/* 0BD454 800BC854 3C01800F */ lui $at, %hi(D_800F2EB8) # $at, 0x800f -/* 0BD458 800BC858 248200B0 */ addiu $v0, $a0, 0xb0 -/* 0BD45C 800BC85C 45020003 */ bc1fl .L800BC86C -/* 0BD460 800BC860 4604603C */ c.lt.s $f12, $f4 -/* 0BD464 800BC864 46000306 */ mov.s $f12, $f0 -/* 0BD468 800BC868 4604603C */ c.lt.s $f12, $f4 -.L800BC86C: -/* 0BD46C 800BC86C 00000000 */ nop -/* 0BD470 800BC870 4502000E */ bc1fl .L800BC8AC -/* 0BD474 800BC874 90590001 */ lbu $t9, 1($v0) -/* 0BD478 800BC878 C4222EB8 */ lwc1 $f2, %lo(D_800F2EB8)($at) -/* 0BD47C 800BC87C 248200B0 */ addiu $v0, $a0, 0xb0 -/* 0BD480 800BC880 904E0001 */ lbu $t6, 1($v0) -/* 0BD484 800BC884 460C103C */ c.lt.s $f2, $f12 -/* 0BD488 800BC888 31CFFFFE */ andi $t7, $t6, 0xfffe -/* 0BD48C 800BC88C A04F0001 */ sb $t7, 1($v0) -/* 0BD490 800BC890 45000003 */ bc1f .L800BC8A0 -/* 0BD494 800BC894 00000000 */ nop -/* 0BD498 800BC898 10000014 */ b .L800BC8EC -/* 0BD49C 800BC89C 46001006 */ mov.s $f0, $f2 -.L800BC8A0: -/* 0BD4A0 800BC8A0 10000012 */ b .L800BC8EC -/* 0BD4A4 800BC8A4 46006006 */ mov.s $f0, $f12 -/* 0BD4A8 800BC8A8 90590001 */ lbu $t9, 1($v0) -.L800BC8AC: -/* 0BD4AC 800BC8AC 3C01800F */ lui $at, %hi(D_800F2EBC) # $at, 0x800f -/* 0BD4B0 800BC8B0 37280001 */ ori $t0, $t9, 1 -/* 0BD4B4 800BC8B4 A0480001 */ sb $t0, 1($v0) -/* 0BD4B8 800BC8B8 C4262EBC */ lwc1 $f6, %lo(D_800F2EBC)($at) -/* 0BD4BC 800BC8BC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0BD4C0 800BC8C0 460C303C */ c.lt.s $f6, $f12 -/* 0BD4C4 800BC8C4 00000000 */ nop -/* 0BD4C8 800BC8C8 45020005 */ bc1fl .L800BC8E0 -/* 0BD4CC 800BC8CC 44814000 */ mtc1 $at, $f8 -/* 0BD4D0 800BC8D0 3C01800F */ lui $at, %hi(D_800F2EC0) -/* 0BD4D4 800BC8D4 10000005 */ b .L800BC8EC -/* 0BD4D8 800BC8D8 C4202EC0 */ lwc1 $f0, %lo(D_800F2EC0)($at) -/* 0BD4DC 800BC8DC 44814000 */ mtc1 $at, $f8 -.L800BC8E0: -/* 0BD4E0 800BC8E0 00000000 */ nop -/* 0BD4E4 800BC8E4 46086002 */ mul.s $f0, $f12, $f8 -/* 0BD4E8 800BC8E8 00000000 */ nop -.L800BC8EC: -/* 0BD4EC 800BC8EC 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 0BD4F0 800BC8F0 44815000 */ mtc1 $at, $f10 -/* 0BD4F4 800BC8F4 00000000 */ nop -/* 0BD4F8 800BC8F8 460A0402 */ mul.s $f16, $f0, $f10 -/* 0BD4FC 800BC8FC 4600848D */ trunc.w.s $f18, $f16 -/* 0BD500 800BC900 440A9000 */ mfc1 $t2, $f18 -/* 0BD504 800BC904 03E00008 */ jr $ra -/* 0BD508 800BC908 A48A00BA */ sh $t2, 0xba($a0) - -glabel func_800BC90C -/* 0BD50C 800BC90C 908E0001 */ lbu $t6, 1($a0) -/* 0BD510 800BC910 00AE082A */ slt $at, $a1, $t6 -/* 0BD514 800BC914 50200004 */ beql $at, $zero, .L800BC928 -/* 0BD518 800BC918 908F0002 */ lbu $t7, 2($a0) -/* 0BD51C 800BC91C 03E00008 */ jr $ra -/* 0BD520 800BC920 24820008 */ addiu $v0, $a0, 8 - -/* 0BD524 800BC924 908F0002 */ lbu $t7, 2($a0) -.L800BC928: -/* 0BD528 800BC928 24830018 */ addiu $v1, $a0, 0x18 -/* 0BD52C 800BC92C 01E5082A */ slt $at, $t7, $a1 -/* 0BD530 800BC930 14200003 */ bnez $at, .L800BC940 -/* 0BD534 800BC934 00000000 */ nop -/* 0BD538 800BC938 03E00008 */ jr $ra -/* 0BD53C 800BC93C 24820010 */ addiu $v0, $a0, 0x10 - -.L800BC940: -/* 0BD540 800BC940 03E00008 */ jr $ra -/* 0BD544 800BC944 00601025 */ move $v0, $v1 - -glabel func_800BC948 -/* 0BD548 800BC948 3C0E803B */ lui $t6, %hi(D_803B03C0) # 0x803b -/* 0BD54C 800BC94C 01C47021 */ addu $t6, $t6, $a0 -/* 0BD550 800BC950 91CE03C0 */ lbu $t6, %lo(D_803B03C0)($t6) # 0x3c0($t6) -/* 0BD554 800BC954 3C011000 */ lui $at, 0x1000 -/* 0BD558 800BC958 3C19803B */ lui $t9, %hi(D_803B7080) # 0x803b -/* 0BD55C 800BC95C 29CF0002 */ slti $t7, $t6, 2 -/* 0BD560 800BC960 11E00006 */ beqz $t7, .L800BC97C -/* 0BD564 800BC964 00044080 */ sll $t0, $a0, 2 -/* 0BD568 800BC968 0081C021 */ addu $t8, $a0, $at -/* 0BD56C 800BC96C 3C01803B */ lui $at, %hi(D_803B7198) # $at, 0x803b -/* 0BD570 800BC970 AC387198 */ sw $t8, %lo(D_803B7198)($at) -/* 0BD574 800BC974 03E00008 */ jr $ra -/* 0BD578 800BC978 00001025 */ move $v0, $zero - -.L800BC97C: -/* 0BD57C 800BC97C 8F397080 */ lw $t9, %lo(D_803B7080)($t9) # 0x7080($t9) -/* 0BD580 800BC980 01044023 */ subu $t0, $t0, $a0 -/* 0BD584 800BC984 00084080 */ sll $t0, $t0, 2 -/* 0BD588 800BC988 03281021 */ addu $v0, $t9, $t0 -/* 0BD58C 800BC98C 90490001 */ lbu $t1, 1($v0) -/* 0BD590 800BC990 00045200 */ sll $t2, $a0, 8 -/* 0BD594 800BC994 01455821 */ addu $t3, $t2, $a1 -/* 0BD598 800BC998 00A9082A */ slt $at, $a1, $t1 -/* 0BD59C 800BC99C 14200006 */ bnez $at, .L800BC9B8 -/* 0BD5A0 800BC9A0 3C010300 */ lui $at, 0x300 -/* 0BD5A4 800BC9A4 01616021 */ addu $t4, $t3, $at -/* 0BD5A8 800BC9A8 3C01803B */ lui $at, %hi(D_803B7198) # $at, 0x803b -/* 0BD5AC 800BC9AC AC2C7198 */ sw $t4, %lo(D_803B7198)($at) -/* 0BD5B0 800BC9B0 03E00008 */ jr $ra -/* 0BD5B4 800BC9B4 00001025 */ move $v0, $zero - -.L800BC9B8: -/* 0BD5B8 800BC9B8 8C4D0004 */ lw $t5, 4($v0) -/* 0BD5BC 800BC9BC 00057080 */ sll $t6, $a1, 2 -/* 0BD5C0 800BC9C0 0004C200 */ sll $t8, $a0, 8 -/* 0BD5C4 800BC9C4 01AE7821 */ addu $t7, $t5, $t6 -/* 0BD5C8 800BC9C8 8DE30000 */ lw $v1, ($t7) -/* 0BD5CC 800BC9CC 0305C821 */ addu $t9, $t8, $a1 -/* 0BD5D0 800BC9D0 3C010100 */ lui $at, 0x100 -/* 0BD5D4 800BC9D4 14600006 */ bnez $v1, .L800BC9F0 -/* 0BD5D8 800BC9D8 00601025 */ move $v0, $v1 -/* 0BD5DC 800BC9DC 03214021 */ addu $t0, $t9, $at -/* 0BD5E0 800BC9E0 3C01803B */ lui $at, %hi(D_803B7198) # $at, 0x803b -/* 0BD5E4 800BC9E4 AC287198 */ sw $t0, %lo(D_803B7198)($at) -/* 0BD5E8 800BC9E8 03E00008 */ jr $ra -/* 0BD5EC 800BC9EC 00601025 */ move $v0, $v1 - -.L800BC9F0: -/* 0BD5F0 800BC9F0 03E00008 */ jr $ra -/* 0BD5F4 800BC9F4 00000000 */ nop - -glabel func_800BC9F8 -/* 0BD5F8 800BC9F8 3C0E803B */ lui $t6, %hi(D_803B03C0) # 0x803b -/* 0BD5FC 800BC9FC 01C47021 */ addu $t6, $t6, $a0 -/* 0BD600 800BCA00 91CE03C0 */ lbu $t6, %lo(D_803B03C0)($t6) # 0x3c0($t6) -/* 0BD604 800BCA04 3C011000 */ lui $at, 0x1000 -/* 0BD608 800BCA08 3C19803B */ lui $t9, %hi(D_803B7080) # 0x803b -/* 0BD60C 800BCA0C 29CF0002 */ slti $t7, $t6, 2 -/* 0BD610 800BCA10 11E00006 */ beqz $t7, .L800BCA2C -/* 0BD614 800BCA14 00044080 */ sll $t0, $a0, 2 -/* 0BD618 800BCA18 0081C021 */ addu $t8, $a0, $at -/* 0BD61C 800BCA1C 3C01803B */ lui $at, %hi(D_803B7198) # $at, 0x803b -/* 0BD620 800BCA20 AC387198 */ sw $t8, %lo(D_803B7198)($at) -/* 0BD624 800BCA24 03E00008 */ jr $ra -/* 0BD628 800BCA28 00001025 */ move $v0, $zero - -.L800BCA2C: -/* 0BD62C 800BCA2C 8F397080 */ lw $t9, %lo(D_803B7080)($t9) # 0x7080($t9) -/* 0BD630 800BCA30 01044023 */ subu $t0, $t0, $a0 -/* 0BD634 800BCA34 00084080 */ sll $t0, $t0, 2 -/* 0BD638 800BCA38 03281021 */ addu $v0, $t9, $t0 -/* 0BD63C 800BCA3C 90490002 */ lbu $t1, 2($v0) -/* 0BD640 800BCA40 00045200 */ sll $t2, $a0, 8 -/* 0BD644 800BCA44 01455821 */ addu $t3, $t2, $a1 -/* 0BD648 800BCA48 00A9082A */ slt $at, $a1, $t1 -/* 0BD64C 800BCA4C 14200006 */ bnez $at, .L800BCA68 -/* 0BD650 800BCA50 3C010400 */ lui $at, 0x400 -/* 0BD654 800BCA54 01616021 */ addu $t4, $t3, $at -/* 0BD658 800BCA58 3C01803B */ lui $at, %hi(D_803B7198) # $at, 0x803b -/* 0BD65C 800BCA5C AC2C7198 */ sw $t4, %lo(D_803B7198)($at) -/* 0BD660 800BCA60 03E00008 */ jr $ra -/* 0BD664 800BCA64 00001025 */ move $v0, $zero - -.L800BCA68: -/* 0BD668 800BCA68 8C430008 */ lw $v1, 8($v0) -/* 0BD66C 800BCA6C 3C018000 */ lui $at, 0x8000 -/* 0BD670 800BCA70 00056880 */ sll $t5, $a1, 2 -/* 0BD674 800BCA74 0061082B */ sltu $at, $v1, $at -/* 0BD678 800BCA78 10200003 */ beqz $at, .L800BCA88 -/* 0BD67C 800BCA7C 006D7021 */ addu $t6, $v1, $t5 -/* 0BD680 800BCA80 03E00008 */ jr $ra -/* 0BD684 800BCA84 00001025 */ move $v0, $zero - -.L800BCA88: -/* 0BD688 800BCA88 8DC60000 */ lw $a2, ($t6) -/* 0BD68C 800BCA8C 00047A00 */ sll $t7, $a0, 8 -/* 0BD690 800BCA90 01E5C021 */ addu $t8, $t7, $a1 -/* 0BD694 800BCA94 14C00005 */ bnez $a2, .L800BCAAC -/* 0BD698 800BCA98 00C01025 */ move $v0, $a2 -/* 0BD69C 800BCA9C 3C010500 */ lui $at, 0x500 -/* 0BD6A0 800BCAA0 0301C821 */ addu $t9, $t8, $at -/* 0BD6A4 800BCAA4 3C01803B */ lui $at, %hi(D_803B7198) # $at, 0x803b -/* 0BD6A8 800BCAA8 AC397198 */ sw $t9, %lo(D_803B7198)($at) -.L800BCAAC: -/* 0BD6AC 800BCAAC 03E00008 */ jr $ra -/* 0BD6B0 800BCAB0 00000000 */ nop - -glabel func_800BCAB4 -/* 0BD6B4 800BCAB4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BD6B8 800BCAB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BD6BC 800BCABC 8C820044 */ lw $v0, 0x44($a0) -/* 0BD6C0 800BCAC0 00803825 */ move $a3, $a0 -/* 0BD6C4 800BCAC4 24E60034 */ addiu $a2, $a3, 0x34 -/* 0BD6C8 800BCAC8 904E0018 */ lbu $t6, 0x18($v0) -/* 0BD6CC 800BCACC 55C0000A */ bnel $t6, $zero, .L800BCAF8 -/* 0BD6D0 800BCAD0 8C45001C */ lw $a1, 0x1c($v0) -/* 0BD6D4 800BCAD4 8C4F004C */ lw $t7, 0x4c($v0) -/* 0BD6D8 800BCAD8 24840058 */ addiu $a0, $a0, 0x58 -/* 0BD6DC 800BCADC 24E60034 */ addiu $a2, $a3, 0x34 -/* 0BD6E0 800BCAE0 8DE50080 */ lw $a1, 0x80($t7) -/* 0BD6E4 800BCAE4 0C02F96F */ jal func_800BE5BC -/* 0BD6E8 800BCAE8 AFA70018 */ sw $a3, 0x18($sp) -/* 0BD6EC 800BCAEC 10000006 */ b .L800BCB08 -/* 0BD6F0 800BCAF0 8FA70018 */ lw $a3, 0x18($sp) -/* 0BD6F4 800BCAF4 8C45001C */ lw $a1, 0x1c($v0) -.L800BCAF8: -/* 0BD6F8 800BCAF8 AFA70018 */ sw $a3, 0x18($sp) -/* 0BD6FC 800BCAFC 0C02F96F */ jal func_800BE5BC -/* 0BD700 800BCB00 24E40058 */ addiu $a0, $a3, 0x58 -/* 0BD704 800BCB04 8FA70018 */ lw $a3, 0x18($sp) -.L800BCB08: -/* 0BD708 800BCB08 24180001 */ li $t8, 1 -/* 0BD70C 800BCB0C 3C19800F */ lui $t9, %hi(gDefaultNoteSub) # $t9, 0x800f -/* 0BD710 800BCB10 A0F80059 */ sb $t8, 0x59($a3) -/* 0BD714 800BCB14 27396260 */ addiu $t9, %lo(gDefaultNoteSub) # addiu $t9, $t9, 0x6260 -/* 0BD718 800BCB18 8F210000 */ lw $at, ($t9) -/* 0BD71C 800BCB1C ACE100B0 */ sw $at, 0xb0($a3) -/* 0BD720 800BCB20 8F290004 */ lw $t1, 4($t9) -/* 0BD724 800BCB24 ACE900B4 */ sw $t1, 0xb4($a3) -/* 0BD728 800BCB28 8F210008 */ lw $at, 8($t9) -/* 0BD72C 800BCB2C ACE100B8 */ sw $at, 0xb8($a3) -/* 0BD730 800BCB30 8F29000C */ lw $t1, 0xc($t9) -/* 0BD734 800BCB34 ACE900BC */ sw $t1, 0xbc($a3) -/* 0BD738 800BCB38 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BD73C 800BCB3C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BD740 800BCB40 03E00008 */ jr $ra -/* 0BD744 800BCB44 00000000 */ nop - -glabel func_800BCB48 -/* 0BD748 800BCB48 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BD74C 800BCB4C AFBF0014 */ sw $ra, 0x14($sp) -/* 0BD750 800BCB50 8C8E00B0 */ lw $t6, 0xb0($a0) -/* 0BD754 800BCB54 24010001 */ li $at, 1 -/* 0BD758 800BCB58 24050000 */ li $a1, 0 -/* 0BD75C 800BCB5C 000E7840 */ sll $t7, $t6, 1 -/* 0BD760 800BCB60 000FC7C2 */ srl $t8, $t7, 0x1f -/* 0BD764 800BCB64 17010005 */ bne $t8, $at, .L800BCB7C -/* 0BD768 800BCB68 24060040 */ li $a2, 64 -/* 0BD76C 800BCB6C 909900B0 */ lbu $t9, 0xb0($a0) -/* 0BD770 800BCB70 3328FFBF */ andi $t0, $t9, 0xffbf -/* 0BD774 800BCB74 10000005 */ b .L800BCB8C -/* 0BD778 800BCB78 A08800B0 */ sb $t0, 0xb0($a0) -.L800BCB7C: -/* 0BD77C 800BCB7C 00003825 */ move $a3, $zero -/* 0BD780 800BCB80 0C02F174 */ jal func_800BC5D0 -/* 0BD784 800BCB84 AFA40018 */ sw $a0, 0x18($sp) -/* 0BD788 800BCB88 8FA40018 */ lw $a0, 0x18($sp) -.L800BCB8C: -/* 0BD78C 800BCB8C 908900B0 */ lbu $t1, 0xb0($a0) -/* 0BD790 800BCB90 2402FFFF */ li $v0, -1 -/* 0BD794 800BCB94 A0800030 */ sb $zero, 0x30($a0) -/* 0BD798 800BCB98 312AFF7F */ andi $t2, $t1, 0xff7f -/* 0BD79C 800BCB9C A08A00B0 */ sb $t2, 0xb0($a0) -/* 0BD7A0 800BCBA0 908B00B0 */ lbu $t3, 0xb0($a0) -/* 0BD7A4 800BCBA4 AC820044 */ sw $v0, 0x44($a0) -/* 0BD7A8 800BCBA8 AC820040 */ sw $v0, 0x40($a0) -/* 0BD7AC 800BCBAC 316CFFDF */ andi $t4, $t3, 0xffdf -/* 0BD7B0 800BCBB0 A08C00B0 */ sb $t4, 0xb0($a0) -/* 0BD7B4 800BCBB4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BD7B8 800BCBB8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BD7BC 800BCBBC 03E00008 */ jr $ra -/* 0BD7C0 800BCBC0 00000000 */ nop - -glabel func_800BCBC4 -/* 0BD7C4 800BCBC4 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0BD7C8 800BCBC8 3C03803B */ lui $v1, %hi(D_803B70B0) # $v1, 0x803b -/* 0BD7CC 800BCBCC 8C6370B0 */ lw $v1, %lo(D_803B70B0)($v1) -/* 0BD7D0 800BCBD0 AFBF0044 */ sw $ra, 0x44($sp) -/* 0BD7D4 800BCBD4 AFB70040 */ sw $s7, 0x40($sp) -/* 0BD7D8 800BCBD8 AFB6003C */ sw $s6, 0x3c($sp) -/* 0BD7DC 800BCBDC AFB50038 */ sw $s5, 0x38($sp) -/* 0BD7E0 800BCBE0 AFB40034 */ sw $s4, 0x34($sp) -/* 0BD7E4 800BCBE4 AFB30030 */ sw $s3, 0x30($sp) -/* 0BD7E8 800BCBE8 AFB2002C */ sw $s2, 0x2c($sp) -/* 0BD7EC 800BCBEC AFB10028 */ sw $s1, 0x28($sp) -/* 0BD7F0 800BCBF0 AFB00024 */ sw $s0, 0x24($sp) -/* 0BD7F4 800BCBF4 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 0BD7F8 800BCBF8 186000C5 */ blez $v1, .L800BCF10 -/* 0BD7FC 800BCBFC F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0BD800 800BCC00 0000A825 */ move $s5, $zero -/* 0BD804 800BCC04 24170001 */ li $s7, 1 -/* 0BD808 800BCC08 24160001 */ li $s6, 1 -/* 0BD80C 800BCC0C 2414FFFF */ li $s4, -1 -.L800BCC10: -/* 0BD810 800BCC10 3C0E803B */ lui $t6, %hi(D_803B1508) # $t6, 0x803b -/* 0BD814 800BCC14 8DCE1508 */ lw $t6, %lo(D_803B1508)($t6) -/* 0BD818 800BCC18 02AE8021 */ addu $s0, $s5, $t6 -/* 0BD81C 800BCC1C 8E0F0044 */ lw $t7, 0x44($s0) -/* 0BD820 800BCC20 26110030 */ addiu $s1, $s0, 0x30 -/* 0BD824 800BCC24 528F0036 */ beql $s4, $t7, .L800BCD00 -/* 0BD828 800BCC28 92220000 */ lbu $v0, ($s1) -/* 0BD82C 800BCC2C 26110030 */ addiu $s1, $s0, 0x30 -/* 0BD830 800BCC30 8E250014 */ lw $a1, 0x14($s1) -/* 0BD834 800BCC34 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff -/* 0BD838 800BCC38 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0BD83C 800BCC3C 00A1082B */ sltu $at, $a1, $at -/* 0BD840 800BCC40 10200004 */ beqz $at, .L800BCC54 -/* 0BD844 800BCC44 00031080 */ sll $v0, $v1, 2 -/* 0BD848 800BCC48 00431023 */ subu $v0, $v0, $v1 -/* 0BD84C 800BCC4C 100000AC */ b .L800BCF00 -/* 0BD850 800BCC50 00021180 */ sll $v0, $v0, 6 -.L800BCC54: -/* 0BD854 800BCC54 8CB80000 */ lw $t8, ($a1) -/* 0BD858 800BCC58 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0BD85C 800BCC5C 57200006 */ bnel $t9, $zero, .L800BCC78 -/* 0BD860 800BCC60 8CA4004C */ lw $a0, 0x4c($a1) -/* 0BD864 800BCC64 92280000 */ lbu $t0, ($s1) -/* 0BD868 800BCC68 29010002 */ slti $at, $t0, 2 -/* 0BD86C 800BCC6C 10200018 */ beqz $at, .L800BCCD0 -/* 0BD870 800BCC70 00000000 */ nop -/* 0BD874 800BCC74 8CA4004C */ lw $a0, 0x4c($a1) -.L800BCC78: -/* 0BD878 800BCC78 8C820044 */ lw $v0, 0x44($a0) -/* 0BD87C 800BCC7C 5440000B */ bnel $v0, $zero, .L800BCCAC -/* 0BD880 800BCC80 8C490000 */ lw $t1, ($v0) -/* 0BD884 800BCC84 0C02FAE9 */ jal func_800BEBA4 -/* 0BD888 800BCC88 00000000 */ nop -/* 0BD88C 800BCC8C A2360000 */ sb $s6, ($s1) -/* 0BD890 800BCC90 3C03803B */ lui $v1, %hi(D_803B70B0) # $v1, 0x803b -/* 0BD894 800BCC94 8C6370B0 */ lw $v1, %lo(D_803B70B0)($v1) -/* 0BD898 800BCC98 00031080 */ sll $v0, $v1, 2 -/* 0BD89C 800BCC9C 00431023 */ subu $v0, $v0, $v1 -/* 0BD8A0 800BCCA0 10000097 */ b .L800BCF00 -/* 0BD8A4 800BCCA4 00021180 */ sll $v0, $v0, 6 -/* 0BD8A8 800BCCA8 8C490000 */ lw $t1, ($v0) -.L800BCCAC: -/* 0BD8AC 800BCCAC 00095880 */ sll $t3, $t1, 2 -/* 0BD8B0 800BCCB0 05610005 */ bgez $t3, .L800BCCC8 -/* 0BD8B4 800BCCB4 00000000 */ nop -/* 0BD8B8 800BCCB8 908C0003 */ lbu $t4, 3($a0) -/* 0BD8BC 800BCCBC 318D00C0 */ andi $t5, $t4, 0xc0 -/* 0BD8C0 800BCCC0 15A00003 */ bnez $t5, .L800BCCD0 -/* 0BD8C4 800BCCC4 00000000 */ nop -.L800BCCC8: -/* 0BD8C8 800BCCC8 10000014 */ b .L800BCD1C -/* 0BD8CC 800BCCCC 92220000 */ lbu $v0, ($s1) -.L800BCCD0: -/* 0BD8D0 800BCCD0 0C02F450 */ jal func_800BD140 -/* 0BD8D4 800BCCD4 00A02025 */ move $a0, $a1 -/* 0BD8D8 800BCCD8 0C02F5BD */ jal func_800BD6F4 -/* 0BD8DC 800BCCDC 02002025 */ move $a0, $s0 -/* 0BD8E0 800BCCE0 8E04000C */ lw $a0, 0xc($s0) -/* 0BD8E4 800BCCE4 02002825 */ move $a1, $s0 -/* 0BD8E8 800BCCE8 0C02F5AD */ jal func_800BD6B4 -/* 0BD8EC 800BCCEC 24840010 */ addiu $a0, $a0, 0x10 -/* 0BD8F0 800BCCF0 A2360000 */ sb $s6, ($s1) -/* 0BD8F4 800BCCF4 10000009 */ b .L800BCD1C -/* 0BD8F8 800BCCF8 32C200FF */ andi $v0, $s6, 0xff -/* 0BD8FC 800BCCFC 92220000 */ lbu $v0, ($s1) -.L800BCD00: -/* 0BD900 800BCD00 28410002 */ slti $at, $v0, 2 -/* 0BD904 800BCD04 14200005 */ bnez $at, .L800BCD1C -/* 0BD908 800BCD08 00000000 */ nop -/* 0BD90C 800BCD0C 00031080 */ sll $v0, $v1, 2 -/* 0BD910 800BCD10 00431023 */ subu $v0, $v0, $v1 -/* 0BD914 800BCD14 1000007A */ b .L800BCF00 -/* 0BD918 800BCD18 00021180 */ sll $v0, $v0, 6 -.L800BCD1C: -/* 0BD91C 800BCD1C 10400073 */ beqz $v0, .L800BCEEC -/* 0BD920 800BCD20 00000000 */ nop -/* 0BD924 800BCD24 12E20005 */ beq $s7, $v0, .L800BCD3C -/* 0BD928 800BCD28 261300B0 */ addiu $s3, $s0, 0xb0 -/* 0BD92C 800BCD2C 8E6E0000 */ lw $t6, ($s3) -/* 0BD930 800BCD30 000EC080 */ sll $t8, $t6, 2 -/* 0BD934 800BCD34 07030032 */ bgezl $t8, .L800BCE00 -/* 0BD938 800BCD38 922D0029 */ lbu $t5, 0x29($s1) -.L800BCD3C: -/* 0BD93C 800BCD3C 92390029 */ lbu $t9, 0x29($s1) -/* 0BD940 800BCD40 261300B0 */ addiu $s3, $s0, 0xb0 -/* 0BD944 800BCD44 53200006 */ beql $t9, $zero, .L800BCD60 -/* 0BD948 800BCD48 8E2B0018 */ lw $t3, 0x18($s1) -/* 0BD94C 800BCD4C 8E680000 */ lw $t0, ($s3) -/* 0BD950 800BCD50 00085080 */ sll $t2, $t0, 2 -/* 0BD954 800BCD54 05410035 */ bgez $t2, .L800BCE2C -/* 0BD958 800BCD58 00000000 */ nop -/* 0BD95C 800BCD5C 8E2B0018 */ lw $t3, 0x18($s1) -.L800BCD60: -/* 0BD960 800BCD60 128B001D */ beq $s4, $t3, .L800BCDD8 -/* 0BD964 800BCD64 00000000 */ nop -/* 0BD968 800BCD68 0C02F2D2 */ jal func_800BCB48 -/* 0BD96C 800BCD6C 02002025 */ move $a0, $s0 -/* 0BD970 800BCD70 8E250018 */ lw $a1, 0x18($s1) -/* 0BD974 800BCD74 02002025 */ move $a0, $s0 -/* 0BD978 800BCD78 8CAC004C */ lw $t4, 0x4c($a1) -/* 0BD97C 800BCD7C 1180000D */ beqz $t4, .L800BCDB4 -/* 0BD980 800BCD80 00000000 */ nop -/* 0BD984 800BCD84 0C02F5F0 */ jal func_800BD7C0 -/* 0BD988 800BCD88 261300B0 */ addiu $s3, $s0, 0xb0 -/* 0BD98C 800BCD8C 0C02F935 */ jal func_800BE4D4 -/* 0BD990 800BCD90 02002025 */ move $a0, $s0 -/* 0BD994 800BCD94 0C02F5BD */ jal func_800BD6F4 -/* 0BD998 800BCD98 02002025 */ move $a0, $s0 -/* 0BD99C 800BCD9C 8E04000C */ lw $a0, 0xc($s0) -/* 0BD9A0 800BCDA0 02002825 */ move $a1, $s0 -/* 0BD9A4 800BCDA4 0C02FC01 */ jal func_800BF004 -/* 0BD9A8 800BCDA8 24840030 */ addiu $a0, $a0, 0x30 -/* 0BD9AC 800BCDAC 1000001F */ b .L800BCE2C -/* 0BD9B0 800BCDB0 AE340018 */ sw $s4, 0x18($s1) -.L800BCDB4: -/* 0BD9B4 800BCDB4 0C02F2D2 */ jal func_800BCB48 -/* 0BD9B8 800BCDB8 02002025 */ move $a0, $s0 -/* 0BD9BC 800BCDBC 0C02F5BD */ jal func_800BD6F4 -/* 0BD9C0 800BCDC0 02002025 */ move $a0, $s0 -/* 0BD9C4 800BCDC4 8E04000C */ lw $a0, 0xc($s0) -/* 0BD9C8 800BCDC8 0C02FC01 */ jal func_800BF004 -/* 0BD9CC 800BCDCC 02002825 */ move $a1, $s0 -/* 0BD9D0 800BCDD0 10000046 */ b .L800BCEEC -/* 0BD9D4 800BCDD4 AE340018 */ sw $s4, 0x18($s1) -.L800BCDD8: -/* 0BD9D8 800BCDD8 0C02F2D2 */ jal func_800BCB48 -/* 0BD9DC 800BCDDC 02002025 */ move $a0, $s0 -/* 0BD9E0 800BCDE0 0C02F5BD */ jal func_800BD6F4 -/* 0BD9E4 800BCDE4 02002025 */ move $a0, $s0 -/* 0BD9E8 800BCDE8 8E04000C */ lw $a0, 0xc($s0) -/* 0BD9EC 800BCDEC 0C02FC01 */ jal func_800BF004 -/* 0BD9F0 800BCDF0 02002825 */ move $a1, $s0 -/* 0BD9F4 800BCDF4 1000003D */ b .L800BCEEC -/* 0BD9F8 800BCDF8 00000000 */ nop -/* 0BD9FC 800BCDFC 922D0029 */ lbu $t5, 0x29($s1) -.L800BCE00: -/* 0BDA00 800BCE00 15A0000A */ bnez $t5, .L800BCE2C -/* 0BDA04 800BCE04 00000000 */ nop -/* 0BDA08 800BCE08 0C02F2D2 */ jal func_800BCB48 -/* 0BDA0C 800BCE0C 02002025 */ move $a0, $s0 -/* 0BDA10 800BCE10 0C02F5BD */ jal func_800BD6F4 -/* 0BDA14 800BCE14 02002025 */ move $a0, $s0 -/* 0BDA18 800BCE18 8E04000C */ lw $a0, 0xc($s0) -/* 0BDA1C 800BCE1C 0C02FC01 */ jal func_800BF004 -/* 0BDA20 800BCE20 02002825 */ move $a1, $s0 -/* 0BDA24 800BCE24 10000031 */ b .L800BCEEC -/* 0BDA28 800BCE28 00000000 */ nop -.L800BCE2C: -/* 0BDA2C 800BCE2C 0C02F978 */ jal func_800BE5E0 -/* 0BDA30 800BCE30 26240028 */ addiu $a0, $s1, 0x28 -/* 0BDA34 800BCE34 46000586 */ mov.s $f22, $f0 -/* 0BDA38 800BCE38 0C02F91A */ jal func_800BE468 -/* 0BDA3C 800BCE3C 02002025 */ move $a0, $s0 -/* 0BDA40 800BCE40 922E0000 */ lbu $t6, ($s1) -/* 0BDA44 800BCE44 2622001C */ addiu $v0, $s1, 0x1c -/* 0BDA48 800BCE48 56EE000B */ bnel $s7, $t6, .L800BCE78 -/* 0BDA4C 800BCE4C 8E250014 */ lw $a1, 0x14($s1) -/* 0BDA50 800BCE50 8E720000 */ lw $s2, ($s3) -/* 0BDA54 800BCE54 C4400004 */ lwc1 $f0, 4($v0) -/* 0BDA58 800BCE58 C4540008 */ lwc1 $f20, 8($v0) -/* 0BDA5C 800BCE5C 00127AC0 */ sll $t7, $s2, 0xb -/* 0BDA60 800BCE60 000FC742 */ srl $t8, $t7, 0x1d -/* 0BDA64 800BCE64 90460001 */ lbu $a2, 1($v0) -/* 0BDA68 800BCE68 90470000 */ lbu $a3, ($v0) -/* 0BDA6C 800BCE6C 10000009 */ b .L800BCE94 -/* 0BDA70 800BCE70 331200FF */ andi $s2, $t8, 0xff -/* 0BDA74 800BCE74 8E250014 */ lw $a1, 0x14($s1) -.L800BCE78: -/* 0BDA78 800BCE78 8CA4004C */ lw $a0, 0x4c($a1) -/* 0BDA7C 800BCE7C C4A00030 */ lwc1 $f0, 0x30($a1) -/* 0BDA80 800BCE80 C4B4002C */ lwc1 $f20, 0x2c($a1) -/* 0BDA84 800BCE84 90880008 */ lbu $t0, 8($a0) -/* 0BDA88 800BCE88 90A60006 */ lbu $a2, 6($a1) -/* 0BDA8C 800BCE8C 90870004 */ lbu $a3, 4($a0) -/* 0BDA90 800BCE90 31120007 */ andi $s2, $t0, 7 -.L800BCE94: -/* 0BDA94 800BCE94 C624000C */ lwc1 $f4, 0xc($s1) -/* 0BDA98 800BCE98 C6260008 */ lwc1 $f6, 8($s1) -/* 0BDA9C 800BCE9C A3A7004B */ sb $a3, 0x4b($sp) -/* 0BDAA0 800BCEA0 A3A60049 */ sb $a2, 0x49($sp) -/* 0BDAA4 800BCEA4 46062202 */ mul.s $f8, $f4, $f6 -/* 0BDAA8 800BCEA8 02002025 */ move $a0, $s0 -/* 0BDAAC 800BCEAC 46080002 */ mul.s $f0, $f0, $f8 -/* 0BDAB0 800BCEB0 44050000 */ mfc1 $a1, $f0 -/* 0BDAB4 800BCEB4 4616A502 */ mul.s $f20, $f20, $f22 -/* 0BDAB8 800BCEB8 0C02F210 */ jal func_800BC840 -/* 0BDABC 800BCEBC 00000000 */ nop -/* 0BDAC0 800BCEC0 4405A000 */ mfc1 $a1, $f20 -/* 0BDAC4 800BCEC4 93A60049 */ lbu $a2, 0x49($sp) -/* 0BDAC8 800BCEC8 93A7004B */ lbu $a3, 0x4b($sp) -/* 0BDACC 800BCECC 0C02F174 */ jal func_800BC5D0 -/* 0BDAD0 800BCED0 02002025 */ move $a0, $s0 -/* 0BDAD4 800BCED4 926D0001 */ lbu $t5, 1($s3) -/* 0BDAD8 800BCED8 00125880 */ sll $t3, $s2, 2 -/* 0BDADC 800BCEDC 316C001C */ andi $t4, $t3, 0x1c -/* 0BDAE0 800BCEE0 31AEFFE3 */ andi $t6, $t5, 0xffe3 -/* 0BDAE4 800BCEE4 018E7825 */ or $t7, $t4, $t6 -/* 0BDAE8 800BCEE8 A26F0001 */ sb $t7, 1($s3) -.L800BCEEC: -/* 0BDAEC 800BCEEC 3C03803B */ lui $v1, %hi(D_803B70B0) # $v1, 0x803b -/* 0BDAF0 800BCEF0 8C6370B0 */ lw $v1, %lo(D_803B70B0)($v1) -/* 0BDAF4 800BCEF4 00031080 */ sll $v0, $v1, 2 -/* 0BDAF8 800BCEF8 00431023 */ subu $v0, $v0, $v1 -/* 0BDAFC 800BCEFC 00021180 */ sll $v0, $v0, 6 -.L800BCF00: -/* 0BDB00 800BCF00 26B500C0 */ addiu $s5, $s5, 0xc0 -/* 0BDB04 800BCF04 02A2082A */ slt $at, $s5, $v0 -/* 0BDB08 800BCF08 1420FF41 */ bnez $at, .L800BCC10 -/* 0BDB0C 800BCF0C 00000000 */ nop -.L800BCF10: -/* 0BDB10 800BCF10 8FBF0044 */ lw $ra, 0x44($sp) -/* 0BDB14 800BCF14 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0BDB18 800BCF18 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 0BDB1C 800BCF1C 8FB00024 */ lw $s0, 0x24($sp) -/* 0BDB20 800BCF20 8FB10028 */ lw $s1, 0x28($sp) -/* 0BDB24 800BCF24 8FB2002C */ lw $s2, 0x2c($sp) -/* 0BDB28 800BCF28 8FB30030 */ lw $s3, 0x30($sp) -/* 0BDB2C 800BCF2C 8FB40034 */ lw $s4, 0x34($sp) -/* 0BDB30 800BCF30 8FB50038 */ lw $s5, 0x38($sp) -/* 0BDB34 800BCF34 8FB6003C */ lw $s6, 0x3c($sp) -/* 0BDB38 800BCF38 8FB70040 */ lw $s7, 0x40($sp) -/* 0BDB3C 800BCF3C 03E00008 */ jr $ra -/* 0BDB40 800BCF40 27BD0070 */ addiu $sp, $sp, 0x70 - -glabel func_800BCF44 -/* 0BDB44 800BCF44 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BDB48 800BCF48 2406FFFF */ li $a2, -1 -/* 0BDB4C 800BCF4C AFBF0014 */ sw $ra, 0x14($sp) -/* 0BDB50 800BCF50 1086006F */ beq $a0, $a2, .L800BD110 -/* 0BDB54 800BCF54 00A03825 */ move $a3, $a1 -/* 0BDB58 800BCF58 8C820040 */ lw $v0, 0x40($a0) -/* 0BDB5C 800BCF5C 5040006D */ beql $v0, $zero, .L800BD114 -/* 0BDB60 800BCF60 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BDB64 800BCF64 8C4E0048 */ lw $t6, 0x48($v0) -/* 0BDB68 800BCF68 00402825 */ move $a1, $v0 -/* 0BDB6C 800BCF6C 548E0003 */ bnel $a0, $t6, .L800BCF7C -/* 0BDB70 800BCF70 8CA20044 */ lw $v0, 0x44($a1) -/* 0BDB74 800BCF74 AC460048 */ sw $a2, 0x48($v0) -/* 0BDB78 800BCF78 8CA20044 */ lw $v0, 0x44($a1) -.L800BCF7C: -/* 0BDB7C 800BCF7C 50820014 */ beql $a0, $v0, .L800BCFD0 -/* 0BDB80 800BCF80 A0800002 */ sb $zero, 2($a0) -/* 0BDB84 800BCF84 54C20063 */ bnel $a2, $v0, .L800BD114 -/* 0BDB88 800BCF88 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BDB8C 800BCF8C 8CAF0048 */ lw $t7, 0x48($a1) -/* 0BDB90 800BCF90 54CF0060 */ bnel $a2, $t7, .L800BD114 -/* 0BDB94 800BCF94 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BDB98 800BCF98 8CB80040 */ lw $t8, 0x40($a1) -/* 0BDB9C 800BCF9C 24080006 */ li $t0, 6 -/* 0BDBA0 800BCFA0 5498005C */ bnel $a0, $t8, .L800BD114 -/* 0BDBA4 800BCFA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BDBA8 800BCFA8 50E8005A */ beql $a3, $t0, .L800BD114 -/* 0BDBAC 800BCFAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BDBB0 800BCFB0 90B90058 */ lbu $t9, 0x58($a1) -/* 0BDBB4 800BCFB4 3C01803B */ lui $at, %hi(D_803B70A0) # $at, 0x803b -/* 0BDBB8 800BCFB8 C42470A0 */ lwc1 $f4, %lo(D_803B70A0)($at) -/* 0BDBBC 800BCFBC 37290010 */ ori $t1, $t9, 0x10 -/* 0BDBC0 800BCFC0 A0A90058 */ sb $t1, 0x58($a1) -/* 0BDBC4 800BCFC4 10000052 */ b .L800BD110 -/* 0BDBC8 800BCFC8 E4A40068 */ swc1 $f4, 0x68($a1) -/* 0BDBCC 800BCFCC A0800002 */ sb $zero, 2($a0) -.L800BCFD0: -/* 0BDBD0 800BCFD0 90AA0059 */ lbu $t2, 0x59($a1) -/* 0BDBD4 800BCFD4 24080006 */ li $t0, 6 -/* 0BDBD8 800BCFD8 240D0001 */ li $t5, 1 -/* 0BDBDC 800BCFDC 110A0044 */ beq $t0, $t2, .L800BD0F0 -/* 0BDBE0 800BCFE0 24010007 */ li $at, 7 -/* 0BDBE4 800BCFE4 C4860030 */ lwc1 $f6, 0x30($a0) -/* 0BDBE8 800BCFE8 24A2004C */ addiu $v0, $a1, 0x4c -/* 0BDBEC 800BCFEC E4460004 */ swc1 $f6, 4($v0) -/* 0BDBF0 800BCFF0 C488002C */ lwc1 $f8, 0x2c($a0) -/* 0BDBF4 800BCFF4 E4480008 */ swc1 $f8, 8($v0) -/* 0BDBF8 800BCFF8 908B0006 */ lbu $t3, 6($a0) -/* 0BDBFC 800BCFFC A04B0001 */ sb $t3, 1($v0) -/* 0BDC00 800BD000 8C83004C */ lw $v1, 0x4c($a0) -/* 0BDC04 800BD004 50600004 */ beql $v1, $zero, .L800BD018 -/* 0BDC08 800BD008 8CAE0044 */ lw $t6, 0x44($a1) -/* 0BDC0C 800BD00C 906C0004 */ lbu $t4, 4($v1) -/* 0BDC10 800BD010 A04C0000 */ sb $t4, ($v0) -/* 0BDC14 800BD014 8CAE0044 */ lw $t6, 0x44($a1) -.L800BD018: -/* 0BDC18 800BD018 A0AD0030 */ sb $t5, 0x30($a1) -/* 0BDC1C 800BD01C ACA60044 */ sw $a2, 0x44($a1) -/* 0BDC20 800BD020 14E10008 */ bne $a3, $at, .L800BD044 -/* 0BDC24 800BD024 ACAE0040 */ sw $t6, 0x40($a1) -/* 0BDC28 800BD028 90AF0058 */ lbu $t7, 0x58($a1) -/* 0BDC2C 800BD02C 3C01803B */ lui $at, %hi(D_803B70A0) # $at, 0x803b -/* 0BDC30 800BD030 C42A70A0 */ lwc1 $f10, %lo(D_803B70A0)($at) -/* 0BDC34 800BD034 35F80010 */ ori $t8, $t7, 0x10 -/* 0BDC38 800BD038 A0B80058 */ sb $t8, 0x58($a1) -/* 0BDC3C 800BD03C 1000002C */ b .L800BD0F0 -/* 0BDC40 800BD040 E4AA0068 */ swc1 $f10, 0x68($a1) -.L800BD044: -/* 0BDC44 800BD044 90B90058 */ lbu $t9, 0x58($a1) -/* 0BDC48 800BD048 37290020 */ ori $t1, $t9, 0x20 -/* 0BDC4C 800BD04C A0A90058 */ sb $t1, 0x58($a1) -/* 0BDC50 800BD050 90820018 */ lbu $v0, 0x18($a0) -/* 0BDC54 800BD054 54400010 */ bnel $v0, $zero, .L800BD098 -/* 0BDC58 800BD058 44825000 */ mtc1 $v0, $f10 -/* 0BDC5C 800BD05C 8C8A004C */ lw $t2, 0x4c($a0) -/* 0BDC60 800BD060 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0BDC64 800BD064 914B007C */ lbu $t3, 0x7c($t2) -/* 0BDC68 800BD068 448B8000 */ mtc1 $t3, $f16 -/* 0BDC6C 800BD06C 05610004 */ bgez $t3, .L800BD080 -/* 0BDC70 800BD070 468084A0 */ cvt.s.w $f18, $f16 -/* 0BDC74 800BD074 44812000 */ mtc1 $at, $f4 -/* 0BDC78 800BD078 00000000 */ nop -/* 0BDC7C 800BD07C 46049480 */ add.s $f18, $f18, $f4 -.L800BD080: -/* 0BDC80 800BD080 3C01803B */ lui $at, %hi(D_803B70A4) # $at, 0x803b -/* 0BDC84 800BD084 C42670A4 */ lwc1 $f6, %lo(D_803B70A4)($at) -/* 0BDC88 800BD088 46069202 */ mul.s $f8, $f18, $f6 -/* 0BDC8C 800BD08C 1000000C */ b .L800BD0C0 -/* 0BDC90 800BD090 E4A80068 */ swc1 $f8, 0x68($a1) -/* 0BDC94 800BD094 44825000 */ mtc1 $v0, $f10 -.L800BD098: -/* 0BDC98 800BD098 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0BDC9C 800BD09C 04410004 */ bgez $v0, .L800BD0B0 -/* 0BDCA0 800BD0A0 46805420 */ cvt.s.w $f16, $f10 -/* 0BDCA4 800BD0A4 44812000 */ mtc1 $at, $f4 -/* 0BDCA8 800BD0A8 00000000 */ nop -/* 0BDCAC 800BD0AC 46048400 */ add.s $f16, $f16, $f4 -.L800BD0B0: -/* 0BDCB0 800BD0B0 3C01803B */ lui $at, %hi(D_803B70A4) # $at, 0x803b -/* 0BDCB4 800BD0B4 C43270A4 */ lwc1 $f18, %lo(D_803B70A4)($at) -/* 0BDCB8 800BD0B8 46128182 */ mul.s $f6, $f16, $f18 -/* 0BDCBC 800BD0BC E4A60068 */ swc1 $f6, 0x68($a1) -.L800BD0C0: -/* 0BDCC0 800BD0C0 8C8C004C */ lw $t4, 0x4c($a0) -/* 0BDCC4 800BD0C4 C4A4006C */ lwc1 $f4, 0x6c($a1) -/* 0BDCC8 800BD0C8 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 0BDCCC 800BD0CC 918D007D */ lbu $t5, 0x7d($t4) -/* 0BDCD0 800BD0D0 44819000 */ mtc1 $at, $f18 -/* 0BDCD4 800BD0D4 448D4000 */ mtc1 $t5, $f8 -/* 0BDCD8 800BD0D8 00000000 */ nop -/* 0BDCDC 800BD0DC 468042A0 */ cvt.s.w $f10, $f8 -/* 0BDCE0 800BD0E0 46045402 */ mul.s $f16, $f10, $f4 -/* 0BDCE4 800BD0E4 00000000 */ nop -/* 0BDCE8 800BD0E8 46128182 */ mul.s $f6, $f16, $f18 -/* 0BDCEC 800BD0EC E4A60060 */ swc1 $f6, 0x60($a1) -.L800BD0F0: -/* 0BDCF0 800BD0F0 14E80007 */ bne $a3, $t0, .L800BD110 -/* 0BDCF4 800BD0F4 00A02025 */ move $a0, $a1 -/* 0BDCF8 800BD0F8 0C02F5BD */ jal func_800BD6F4 -/* 0BDCFC 800BD0FC AFA5001C */ sw $a1, 0x1c($sp) -/* 0BDD00 800BD100 8FA5001C */ lw $a1, 0x1c($sp) -/* 0BDD04 800BD104 8CA4000C */ lw $a0, 0xc($a1) -/* 0BDD08 800BD108 0C02F5AD */ jal func_800BD6B4 -/* 0BDD0C 800BD10C 24840010 */ addiu $a0, $a0, 0x10 -.L800BD110: -/* 0BDD10 800BD110 8FBF0014 */ lw $ra, 0x14($sp) -.L800BD114: -/* 0BDD14 800BD114 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BDD18 800BD118 03E00008 */ jr $ra -/* 0BDD1C 800BD11C 00000000 */ nop - -glabel func_800BD120 -/* 0BDD20 800BD120 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BDD24 800BD124 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BDD28 800BD128 0C02F3D1 */ jal func_800BCF44 -/* 0BDD2C 800BD12C 24050006 */ li $a1, 6 -/* 0BDD30 800BD130 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BDD34 800BD134 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BDD38 800BD138 03E00008 */ jr $ra -/* 0BDD3C 800BD13C 00000000 */ nop - -glabel func_800BD140 -/* 0BDD40 800BD140 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BDD44 800BD144 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BDD48 800BD148 0C02F3D1 */ jal func_800BCF44 -/* 0BDD4C 800BD14C 24050007 */ li $a1, 7 -/* 0BDD50 800BD150 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BDD54 800BD154 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BDD58 800BD158 03E00008 */ jr $ra -/* 0BDD5C 800BD15C 00000000 */ nop - -glabel func_800BD160 -/* 0BDD60 800BD160 28C10080 */ slti $at, $a2, 0x80 -/* 0BDD64 800BD164 10200002 */ beqz $at, .L800BD170 -/* 0BDD68 800BD168 00001825 */ move $v1, $zero -/* 0BDD6C 800BD16C 24060080 */ li $a2, 128 -.L800BD170: -/* 0BDD70 800BD170 90AE0008 */ lbu $t6, 8($a1) -/* 0BDD74 800BD174 C4A20024 */ lwc1 $f2, 0x24($a1) -/* 0BDD78 800BD178 11C0000D */ beqz $t6, .L800BD1B0 -/* 0BDD7C 800BD17C 46001006 */ mov.s $f0, $f2 -/* 0BDD80 800BD180 C4AC0014 */ lwc1 $f12, 0x14($a1) -/* 0BDD84 800BD184 44802000 */ mtc1 $zero, $f4 -/* 0BDD88 800BD188 3C013F80 */ lui $at, 0x3f80 -/* 0BDD8C 800BD18C 460C203C */ c.lt.s $f4, $f12 -/* 0BDD90 800BD190 00000000 */ nop -/* 0BDD94 800BD194 45020007 */ bc1fl .L800BD1B4 -/* 0BDD98 800BD198 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BDD9C 800BD19C 44813000 */ mtc1 $at, $f6 -/* 0BDDA0 800BD1A0 00000000 */ nop -/* 0BDDA4 800BD1A4 46066200 */ add.s $f8, $f12, $f6 -/* 0BDDA8 800BD1A8 46080002 */ mul.s $f0, $f0, $f8 -/* 0BDDAC 800BD1AC 00000000 */ nop -.L800BD1B0: -/* 0BDDB0 800BD1B0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -.L800BD1B4: -/* 0BDDB4 800BD1B4 44815000 */ mtc1 $at, $f10 -/* 0BDDB8 800BD1B8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0BDDBC 800BD1BC 460A003C */ c.lt.s $f0, $f10 -/* 0BDDC0 800BD1C0 00000000 */ nop -/* 0BDDC4 800BD1C4 45020005 */ bc1fl .L800BD1DC -/* 0BDDC8 800BD1C8 44818000 */ mtc1 $at, $f16 -/* 0BDDCC 800BD1CC 3C01800F */ lui $at, %hi(D_800F2EC4) -/* 0BDDD0 800BD1D0 10000017 */ b .L800BD230 -/* 0BDDD4 800BD1D4 C4202EC4 */ lwc1 $f0, %lo(D_800F2EC4)($at) -/* 0BDDD8 800BD1D8 44818000 */ mtc1 $at, $f16 -.L800BD1DC: -/* 0BDDDC 800BD1DC 24030001 */ li $v1, 1 -/* 0BDDE0 800BD1E0 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0BDDE4 800BD1E4 4610003C */ c.lt.s $f0, $f16 -/* 0BDDE8 800BD1E8 00000000 */ nop -/* 0BDDEC 800BD1EC 45020005 */ bc1fl .L800BD204 -/* 0BDDF0 800BD1F0 44819000 */ mtc1 $at, $f18 -/* 0BDDF4 800BD1F4 3C01800F */ lui $at, %hi(D_800F2EC8) -/* 0BDDF8 800BD1F8 1000000D */ b .L800BD230 -/* 0BDDFC 800BD1FC C4202EC8 */ lwc1 $f0, %lo(D_800F2EC8)($at) -/* 0BDE00 800BD200 44819000 */ mtc1 $at, $f18 -.L800BD204: -/* 0BDE04 800BD204 24030003 */ li $v1, 3 -/* 0BDE08 800BD208 3C01800F */ lui $at, %hi(D_800F2ED0) -/* 0BDE0C 800BD20C 4612003C */ c.lt.s $f0, $f18 -/* 0BDE10 800BD210 00000000 */ nop -/* 0BDE14 800BD214 45000005 */ bc1f .L800BD22C -/* 0BDE18 800BD218 00000000 */ nop -/* 0BDE1C 800BD21C 3C01800F */ lui $at, %hi(D_800F2ECC) # $at, 0x800f -/* 0BDE20 800BD220 24030002 */ li $v1, 2 -/* 0BDE24 800BD224 10000002 */ b .L800BD230 -/* 0BDE28 800BD228 C4202ECC */ lwc1 $f0, %lo(D_800F2ECC)($at) -.L800BD22C: -/* 0BDE2C 800BD22C C4202ED0 */ lwc1 $f0, %lo(D_800F2ED0)($at) -.L800BD230: -/* 0BDE30 800BD230 46001102 */ mul.s $f4, $f2, $f0 -/* 0BDE34 800BD234 00067880 */ sll $t7, $a2, 2 -/* 0BDE38 800BD238 3C18800F */ lui $t8, %hi(gUnknownWave7) -/* 0BDE3C 800BD23C 030FC021 */ addu $t8, $t8, $t7 -/* 0BDE40 800BD240 000341C0 */ sll $t0, $v1, 7 -/* 0BDE44 800BD244 00601025 */ move $v0, $v1 -/* 0BDE48 800BD248 E4A40024 */ swc1 $f4, 0x24($a1) -/* 0BDE4C 800BD24C A0860031 */ sb $a2, 0x31($a0) -/* 0BDE50 800BD250 A0830032 */ sb $v1, 0x32($a0) -/* 0BDE54 800BD254 8F185A00 */ lw $t8, %lo(gUnknownWave7)($t8) -/* 0BDE58 800BD258 03084821 */ addu $t1, $t8, $t0 -/* 0BDE5C 800BD25C 03E00008 */ jr $ra -/* 0BDE60 800BD260 AC8900BC */ sw $t1, 0xbc($a0) - -glabel func_800BD264 -/* 0BDE64 800BD264 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BDE68 800BD268 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BDE6C 800BD26C 90A60001 */ lbu $a2, 1($a1) -/* 0BDE70 800BD270 240100FF */ li $at, 255 -/* 0BDE74 800BD274 54C10004 */ bnel $a2, $at, .L800BD288 -/* 0BDE78 800BD278 908F0032 */ lbu $t7, 0x32($a0) -/* 0BDE7C 800BD27C 8CAE004C */ lw $t6, 0x4c($a1) -/* 0BDE80 800BD280 85C6001C */ lh $a2, 0x1c($t6) -/* 0BDE84 800BD284 908F0032 */ lbu $t7, 0x32($a0) -.L800BD288: -/* 0BDE88 800BD288 AFA40020 */ sw $a0, 0x20($sp) -/* 0BDE8C 800BD28C 0C02F458 */ jal func_800BD160 -/* 0BDE90 800BD290 AFAF001C */ sw $t7, 0x1c($sp) -/* 0BDE94 800BD294 8FA40020 */ lw $a0, 0x20($sp) -/* 0BDE98 800BD298 3C03800F */ lui $v1, %hi(D_800E98F4) # $v1, 0x800f -/* 0BDE9C 800BD29C 246398F4 */ addiu $v1, %lo(D_800E98F4) # addiu $v1, $v1, -0x670c -/* 0BDEA0 800BD2A0 0062C821 */ addu $t9, $v1, $v0 -/* 0BDEA4 800BD2A4 93280000 */ lbu $t0, ($t9) -/* 0BDEA8 800BD2A8 8C980018 */ lw $t8, 0x18($a0) -/* 0BDEAC 800BD2AC 8FAA001C */ lw $t2, 0x1c($sp) -/* 0BDEB0 800BD2B0 03080019 */ multu $t8, $t0 -/* 0BDEB4 800BD2B4 006A5821 */ addu $t3, $v1, $t2 -/* 0BDEB8 800BD2B8 916C0000 */ lbu $t4, ($t3) -/* 0BDEBC 800BD2BC 00004812 */ mflo $t1 -/* 0BDEC0 800BD2C0 00000000 */ nop -/* 0BDEC4 800BD2C4 00000000 */ nop -/* 0BDEC8 800BD2C8 012C001A */ div $zero, $t1, $t4 -/* 0BDECC 800BD2CC 00006812 */ mflo $t5 -/* 0BDED0 800BD2D0 AC8D0018 */ sw $t5, 0x18($a0) -/* 0BDED4 800BD2D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BDED8 800BD2D8 15800002 */ bnez $t4, .L800BD2E4 -/* 0BDEDC 800BD2DC 00000000 */ nop -/* 0BDEE0 800BD2E0 0007000D */ break 7 -.L800BD2E4: -/* 0BDEE4 800BD2E4 2401FFFF */ li $at, -1 -/* 0BDEE8 800BD2E8 15810004 */ bne $t4, $at, .L800BD2FC -/* 0BDEEC 800BD2EC 3C018000 */ lui $at, 0x8000 -/* 0BDEF0 800BD2F0 15210002 */ bne $t1, $at, .L800BD2FC -/* 0BDEF4 800BD2F4 00000000 */ nop -/* 0BDEF8 800BD2F8 0006000D */ break 6 -.L800BD2FC: -/* 0BDEFC 800BD2FC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BDF00 800BD300 03E00008 */ jr $ra -/* 0BDF04 800BD304 00000000 */ nop - -glabel func_800BD308 -/* 0BDF08 800BD308 AC840000 */ sw $a0, ($a0) -/* 0BDF0C 800BD30C AC840004 */ sw $a0, 4($a0) -/* 0BDF10 800BD310 03E00008 */ jr $ra -/* 0BDF14 800BD314 AC800008 */ sw $zero, 8($a0) - -glabel func_800BD318 -/* 0BDF18 800BD318 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BDF1C 800BD31C AFBF001C */ sw $ra, 0x1c($sp) -/* 0BDF20 800BD320 AFB00018 */ sw $s0, 0x18($sp) -/* 0BDF24 800BD324 0C02F4C2 */ jal func_800BD308 -/* 0BDF28 800BD328 00808025 */ move $s0, $a0 -/* 0BDF2C 800BD32C 0C02F4C2 */ jal func_800BD308 -/* 0BDF30 800BD330 26040010 */ addiu $a0, $s0, 0x10 -/* 0BDF34 800BD334 0C02F4C2 */ jal func_800BD308 -/* 0BDF38 800BD338 26040020 */ addiu $a0, $s0, 0x20 -/* 0BDF3C 800BD33C 0C02F4C2 */ jal func_800BD308 -/* 0BDF40 800BD340 26040030 */ addiu $a0, $s0, 0x30 -/* 0BDF44 800BD344 AE10000C */ sw $s0, 0xc($s0) -/* 0BDF48 800BD348 AE10001C */ sw $s0, 0x1c($s0) -/* 0BDF4C 800BD34C AE10002C */ sw $s0, 0x2c($s0) -/* 0BDF50 800BD350 AE10003C */ sw $s0, 0x3c($s0) -/* 0BDF54 800BD354 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BDF58 800BD358 8FB00018 */ lw $s0, 0x18($sp) -/* 0BDF5C 800BD35C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BDF60 800BD360 03E00008 */ jr $ra -/* 0BDF64 800BD364 00000000 */ nop - -glabel func_800BD368 -/* 0BDF68 800BD368 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0BDF6C 800BD36C AFB30024 */ sw $s3, 0x24($sp) -/* 0BDF70 800BD370 3C13803B */ lui $s3, %hi(D_803B5FC8) # $s3, 0x803b -/* 0BDF74 800BD374 26735FC8 */ addiu $s3, %lo(D_803B5FC8) # addiu $s3, $s3, 0x5fc8 -/* 0BDF78 800BD378 AFBF002C */ sw $ra, 0x2c($sp) -/* 0BDF7C 800BD37C AFB40028 */ sw $s4, 0x28($sp) -/* 0BDF80 800BD380 AFB20020 */ sw $s2, 0x20($sp) -/* 0BDF84 800BD384 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BDF88 800BD388 AFB00018 */ sw $s0, 0x18($sp) -/* 0BDF8C 800BD38C 0C02F4C6 */ jal func_800BD318 -/* 0BDF90 800BD390 02602025 */ move $a0, $s3 -/* 0BDF94 800BD394 3C14803B */ lui $s4, %hi(D_803B70B0) # $s4, 0x803b -/* 0BDF98 800BD398 269470B0 */ addiu $s4, %lo(D_803B70B0) # addiu $s4, $s4, 0x70b0 -/* 0BDF9C 800BD39C 8E8E0000 */ lw $t6, ($s4) -/* 0BDFA0 800BD3A0 00008825 */ move $s1, $zero -/* 0BDFA4 800BD3A4 00008025 */ move $s0, $zero -/* 0BDFA8 800BD3A8 19C00013 */ blez $t6, .L800BD3F8 -/* 0BDFAC 800BD3AC 3C12803B */ lui $s2, %hi(D_803B1508) # $s2, 0x803b -/* 0BDFB0 800BD3B0 26521508 */ addiu $s2, %lo(D_803B1508) # addiu $s2, $s2, 0x1508 -/* 0BDFB4 800BD3B4 8E420000 */ lw $v0, ($s2) -.L800BD3B8: -/* 0BDFB8 800BD3B8 02602025 */ move $a0, $s3 -/* 0BDFBC 800BD3BC 02027821 */ addu $t7, $s0, $v0 -/* 0BDFC0 800BD3C0 0050C021 */ addu $t8, $v0, $s0 -/* 0BDFC4 800BD3C4 AF0F0008 */ sw $t7, 8($t8) -/* 0BDFC8 800BD3C8 8E590000 */ lw $t9, ($s2) -/* 0BDFCC 800BD3CC 03304021 */ addu $t0, $t9, $s0 -/* 0BDFD0 800BD3D0 AD000000 */ sw $zero, ($t0) -/* 0BDFD4 800BD3D4 8E490000 */ lw $t1, ($s2) -/* 0BDFD8 800BD3D8 0C02FC01 */ jal func_800BF004 -/* 0BDFDC 800BD3DC 02092821 */ addu $a1, $s0, $t1 -/* 0BDFE0 800BD3E0 8E8A0000 */ lw $t2, ($s4) -/* 0BDFE4 800BD3E4 26310001 */ addiu $s1, $s1, 1 -/* 0BDFE8 800BD3E8 261000C0 */ addiu $s0, $s0, 0xc0 -/* 0BDFEC 800BD3EC 022A082A */ slt $at, $s1, $t2 -/* 0BDFF0 800BD3F0 5420FFF1 */ bnel $at, $zero, .L800BD3B8 -/* 0BDFF4 800BD3F4 8E420000 */ lw $v0, ($s2) -.L800BD3F8: -/* 0BDFF8 800BD3F8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BDFFC 800BD3FC 8FB00018 */ lw $s0, 0x18($sp) -/* 0BE000 800BD400 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BE004 800BD404 8FB20020 */ lw $s2, 0x20($sp) -/* 0BE008 800BD408 8FB30024 */ lw $s3, 0x24($sp) -/* 0BE00C 800BD40C 8FB40028 */ lw $s4, 0x28($sp) -/* 0BE010 800BD410 03E00008 */ jr $ra -/* 0BE014 800BD414 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800BD418 -/* 0BE018 800BD418 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0BE01C 800BD41C AFBE0038 */ sw $fp, 0x38($sp) -/* 0BE020 800BD420 AFB70034 */ sw $s7, 0x34($sp) -/* 0BE024 800BD424 AFB60030 */ sw $s6, 0x30($sp) -/* 0BE028 800BD428 AFB5002C */ sw $s5, 0x2c($sp) -/* 0BE02C 800BD42C AFB40028 */ sw $s4, 0x28($sp) -/* 0BE030 800BD430 AFB30024 */ sw $s3, 0x24($sp) -/* 0BE034 800BD434 AFB20020 */ sw $s2, 0x20($sp) -/* 0BE038 800BD438 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BE03C 800BD43C 3C06803B */ lui $a2, %hi(D_803B5FC8) # $a2, 0x803b -/* 0BE040 800BD440 3C05803B */ lui $a1, %hi(D_803B5FD8) # $a1, 0x803b -/* 0BE044 800BD444 3C03803B */ lui $v1, %hi(D_803B5FE8) # $v1, 0x803b -/* 0BE048 800BD448 3C02803B */ lui $v0, %hi(D_803B5FF8) # $v0, 0x803b -/* 0BE04C 800BD44C 0080A025 */ move $s4, $a0 -/* 0BE050 800BD450 AFBF003C */ sw $ra, 0x3c($sp) -/* 0BE054 800BD454 AFB00018 */ sw $s0, 0x18($sp) -/* 0BE058 800BD458 24425FF8 */ addiu $v0, %lo(D_803B5FF8) # addiu $v0, $v0, 0x5ff8 -/* 0BE05C 800BD45C 24635FE8 */ addiu $v1, %lo(D_803B5FE8) # addiu $v1, $v1, 0x5fe8 -/* 0BE060 800BD460 24A55FD8 */ addiu $a1, %lo(D_803B5FD8) # addiu $a1, $a1, 0x5fd8 -/* 0BE064 800BD464 24C65FC8 */ addiu $a2, %lo(D_803B5FC8) # addiu $a2, $a2, 0x5fc8 -/* 0BE068 800BD468 8FB10048 */ lw $s1, 0x48($sp) -/* 0BE06C 800BD46C 8FB20040 */ lw $s2, 0x40($sp) -/* 0BE070 800BD470 00009825 */ move $s3, $zero -/* 0BE074 800BD474 24150001 */ li $s5, 1 -/* 0BE078 800BD478 24160002 */ li $s6, 2 -/* 0BE07C 800BD47C 24170003 */ li $s7, 3 -/* 0BE080 800BD480 241E0004 */ li $fp, 4 -.L800BD484: -/* 0BE084 800BD484 5260000A */ beql $s3, $zero, .L800BD4B0 -/* 0BE088 800BD488 02808825 */ move $s1, $s4 -/* 0BE08C 800BD48C 5275000C */ beql $s3, $s5, .L800BD4C0 -/* 0BE090 800BD490 26910010 */ addiu $s1, $s4, 0x10 -/* 0BE094 800BD494 5276000E */ beql $s3, $s6, .L800BD4D0 -/* 0BE098 800BD498 26910020 */ addiu $s1, $s4, 0x20 -/* 0BE09C 800BD49C 52770010 */ beql $s3, $s7, .L800BD4E0 -/* 0BE0A0 800BD4A0 26910030 */ addiu $s1, $s4, 0x30 -/* 0BE0A4 800BD4A4 10000010 */ b .L800BD4E8 -/* 0BE0A8 800BD4A8 8E300004 */ lw $s0, 4($s1) -/* 0BE0AC 800BD4AC 02808825 */ move $s1, $s4 -.L800BD4B0: -/* 0BE0B0 800BD4B0 00C09025 */ move $s2, $a2 -/* 0BE0B4 800BD4B4 1000000C */ b .L800BD4E8 -/* 0BE0B8 800BD4B8 8E900004 */ lw $s0, 4($s4) -/* 0BE0BC 800BD4BC 26910010 */ addiu $s1, $s4, 0x10 -.L800BD4C0: -/* 0BE0C0 800BD4C0 00A09025 */ move $s2, $a1 -/* 0BE0C4 800BD4C4 10000008 */ b .L800BD4E8 -/* 0BE0C8 800BD4C8 8E300004 */ lw $s0, 4($s1) -/* 0BE0CC 800BD4CC 26910020 */ addiu $s1, $s4, 0x20 -.L800BD4D0: -/* 0BE0D0 800BD4D0 00609025 */ move $s2, $v1 -/* 0BE0D4 800BD4D4 10000004 */ b .L800BD4E8 -/* 0BE0D8 800BD4D8 8E300004 */ lw $s0, 4($s1) -/* 0BE0DC 800BD4DC 26910030 */ addiu $s1, $s4, 0x30 -.L800BD4E0: -/* 0BE0E0 800BD4E0 00409025 */ move $s2, $v0 -/* 0BE0E4 800BD4E4 8E300004 */ lw $s0, 4($s1) -.L800BD4E8: -/* 0BE0E8 800BD4E8 52110013 */ beql $s0, $s1, .L800BD538 -/* 0BE0EC 800BD4EC 26730001 */ addiu $s3, $s3, 1 -.L800BD4F0: -/* 0BE0F0 800BD4F0 52000011 */ beql $s0, $zero, .L800BD538 -/* 0BE0F4 800BD4F4 26730001 */ addiu $s3, $s3, 1 -/* 0BE0F8 800BD4F8 0C02F5BD */ jal func_800BD6F4 -/* 0BE0FC 800BD4FC 02002025 */ move $a0, $s0 -/* 0BE100 800BD500 02402025 */ move $a0, $s2 -/* 0BE104 800BD504 0C02FC01 */ jal func_800BF004 -/* 0BE108 800BD508 02002825 */ move $a1, $s0 -/* 0BE10C 800BD50C 8E300004 */ lw $s0, 4($s1) -/* 0BE110 800BD510 3C06803B */ lui $a2, %hi(D_803B5FC8) # $a2, 0x803b -/* 0BE114 800BD514 3C05803B */ lui $a1, %hi(D_803B5FD8) # $a1, 0x803b -/* 0BE118 800BD518 3C03803B */ lui $v1, %hi(D_803B5FE8) # $v1, 0x803b -/* 0BE11C 800BD51C 3C02803B */ lui $v0, %hi(D_803B5FF8) # $v0, 0x803b -/* 0BE120 800BD520 24425FF8 */ addiu $v0, %lo(D_803B5FF8) # addiu $v0, $v0, 0x5ff8 -/* 0BE124 800BD524 24635FE8 */ addiu $v1, %lo(D_803B5FE8) # addiu $v1, $v1, 0x5fe8 -/* 0BE128 800BD528 24A55FD8 */ addiu $a1, %lo(D_803B5FD8) # addiu $a1, $a1, 0x5fd8 -/* 0BE12C 800BD52C 1611FFF0 */ bne $s0, $s1, .L800BD4F0 -/* 0BE130 800BD530 24C65FC8 */ addiu $a2, %lo(D_803B5FC8) # addiu $a2, $a2, 0x5fc8 -/* 0BE134 800BD534 26730001 */ addiu $s3, $s3, 1 -.L800BD538: -/* 0BE138 800BD538 167EFFD2 */ bne $s3, $fp, .L800BD484 -/* 0BE13C 800BD53C 00000000 */ nop -/* 0BE140 800BD540 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BE144 800BD544 AFB20040 */ sw $s2, 0x40($sp) -/* 0BE148 800BD548 AFB10048 */ sw $s1, 0x48($sp) -/* 0BE14C 800BD54C 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BE150 800BD550 8FB20020 */ lw $s2, 0x20($sp) -/* 0BE154 800BD554 8FB00018 */ lw $s0, 0x18($sp) -/* 0BE158 800BD558 8FB30024 */ lw $s3, 0x24($sp) -/* 0BE15C 800BD55C 8FB40028 */ lw $s4, 0x28($sp) -/* 0BE160 800BD560 8FB5002C */ lw $s5, 0x2c($sp) -/* 0BE164 800BD564 8FB60030 */ lw $s6, 0x30($sp) -/* 0BE168 800BD568 8FB70034 */ lw $s7, 0x34($sp) -/* 0BE16C 800BD56C 8FBE0038 */ lw $fp, 0x38($sp) -/* 0BE170 800BD570 03E00008 */ jr $ra -/* 0BE174 800BD574 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel func_800BD578 -/* 0BE178 800BD578 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0BE17C 800BD57C AFBF003C */ sw $ra, 0x3c($sp) -/* 0BE180 800BD580 AFB5002C */ sw $s5, 0x2c($sp) -/* 0BE184 800BD584 AFB30024 */ sw $s3, 0x24($sp) -/* 0BE188 800BD588 00A09825 */ move $s3, $a1 -/* 0BE18C 800BD58C 0080A825 */ move $s5, $a0 -/* 0BE190 800BD590 AFBE0038 */ sw $fp, 0x38($sp) -/* 0BE194 800BD594 AFB70034 */ sw $s7, 0x34($sp) -/* 0BE198 800BD598 AFB60030 */ sw $s6, 0x30($sp) -/* 0BE19C 800BD59C AFB40028 */ sw $s4, 0x28($sp) -/* 0BE1A0 800BD5A0 AFB20020 */ sw $s2, 0x20($sp) -/* 0BE1A4 800BD5A4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BE1A8 800BD5A8 0C02F506 */ jal func_800BD418 -/* 0BE1AC 800BD5AC AFB00018 */ sw $s0, 0x18($sp) -/* 0BE1B0 800BD5B0 0000A025 */ move $s4, $zero -/* 0BE1B4 800BD5B4 1A600033 */ blez $s3, .L800BD684 -/* 0BE1B8 800BD5B8 00008025 */ move $s0, $zero -/* 0BE1BC 800BD5BC 241E0002 */ li $fp, 2 -/* 0BE1C0 800BD5C0 24170001 */ li $s7, 1 -/* 0BE1C4 800BD5C4 24160004 */ li $s6, 4 -/* 0BE1C8 800BD5C8 8FB20044 */ lw $s2, 0x44($sp) -/* 0BE1CC 800BD5CC 8FB10048 */ lw $s1, 0x48($sp) -.L800BD5D0: -/* 0BE1D0 800BD5D0 5296002D */ beql $s4, $s6, .L800BD688 -/* 0BE1D4 800BD5D4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BE1D8 800BD5D8 12800009 */ beqz $s4, .L800BD600 -/* 0BE1DC 800BD5DC 00000000 */ nop -/* 0BE1E0 800BD5E0 1297000B */ beq $s4, $s7, .L800BD610 -/* 0BE1E4 800BD5E4 00000000 */ nop -/* 0BE1E8 800BD5E8 129E000D */ beq $s4, $fp, .L800BD620 -/* 0BE1EC 800BD5EC 24010003 */ li $at, 3 -/* 0BE1F0 800BD5F0 1281000F */ beq $s4, $at, .L800BD630 -/* 0BE1F4 800BD5F4 00000000 */ nop -/* 0BE1F8 800BD5F8 10000011 */ b .L800BD640 -/* 0BE1FC 800BD5FC 0213082A */ slt $at, $s0, $s3 -.L800BD600: -/* 0BE200 800BD600 3C11803B */ lui $s1, %hi(D_803B5FC8) # $s1, 0x803b -/* 0BE204 800BD604 26315FC8 */ addiu $s1, %lo(D_803B5FC8) # addiu $s1, $s1, 0x5fc8 -/* 0BE208 800BD608 1000000C */ b .L800BD63C -/* 0BE20C 800BD60C 02A09025 */ move $s2, $s5 -.L800BD610: -/* 0BE210 800BD610 3C11803B */ lui $s1, %hi(D_803B5FD8) # $s1, 0x803b -/* 0BE214 800BD614 26315FD8 */ addiu $s1, %lo(D_803B5FD8) # addiu $s1, $s1, 0x5fd8 -/* 0BE218 800BD618 10000008 */ b .L800BD63C -/* 0BE21C 800BD61C 26B20010 */ addiu $s2, $s5, 0x10 -.L800BD620: -/* 0BE220 800BD620 3C11803B */ lui $s1, %hi(D_803B5FE8) # $s1, 0x803b -/* 0BE224 800BD624 26315FE8 */ addiu $s1, %lo(D_803B5FE8) # addiu $s1, $s1, 0x5fe8 -/* 0BE228 800BD628 10000004 */ b .L800BD63C -/* 0BE22C 800BD62C 26B20020 */ addiu $s2, $s5, 0x20 -.L800BD630: -/* 0BE230 800BD630 3C11803B */ lui $s1, %hi(D_803B5FF8) # $s1, 0x803b -/* 0BE234 800BD634 26315FF8 */ addiu $s1, %lo(D_803B5FF8) # addiu $s1, $s1, 0x5ff8 -/* 0BE238 800BD638 26B20030 */ addiu $s2, $s5, 0x30 -.L800BD63C: -/* 0BE23C 800BD63C 0213082A */ slt $at, $s0, $s3 -.L800BD640: -/* 0BE240 800BD640 5020000C */ beql $at, $zero, .L800BD674 -/* 0BE244 800BD644 0213082A */ slt $at, $s0, $s3 -.L800BD648: -/* 0BE248 800BD648 0C02FC11 */ jal func_800BF044 -/* 0BE24C 800BD64C 02202025 */ move $a0, $s1 -/* 0BE250 800BD650 10400007 */ beqz $v0, .L800BD670 -/* 0BE254 800BD654 00402825 */ move $a1, $v0 -/* 0BE258 800BD658 0C02FC01 */ jal func_800BF004 -/* 0BE25C 800BD65C 02402025 */ move $a0, $s2 -/* 0BE260 800BD660 26100001 */ addiu $s0, $s0, 1 -/* 0BE264 800BD664 0213082A */ slt $at, $s0, $s3 -/* 0BE268 800BD668 1420FFF7 */ bnez $at, .L800BD648 -/* 0BE26C 800BD66C 00000000 */ nop -.L800BD670: -/* 0BE270 800BD670 0213082A */ slt $at, $s0, $s3 -.L800BD674: -/* 0BE274 800BD674 1420FFD6 */ bnez $at, .L800BD5D0 -/* 0BE278 800BD678 26940001 */ addiu $s4, $s4, 1 -/* 0BE27C 800BD67C AFB20044 */ sw $s2, 0x44($sp) -/* 0BE280 800BD680 AFB10048 */ sw $s1, 0x48($sp) -.L800BD684: -/* 0BE284 800BD684 8FBF003C */ lw $ra, 0x3c($sp) -.L800BD688: -/* 0BE288 800BD688 8FB00018 */ lw $s0, 0x18($sp) -/* 0BE28C 800BD68C 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BE290 800BD690 8FB20020 */ lw $s2, 0x20($sp) -/* 0BE294 800BD694 8FB30024 */ lw $s3, 0x24($sp) -/* 0BE298 800BD698 8FB40028 */ lw $s4, 0x28($sp) -/* 0BE29C 800BD69C 8FB5002C */ lw $s5, 0x2c($sp) -/* 0BE2A0 800BD6A0 8FB60030 */ lw $s6, 0x30($sp) -/* 0BE2A4 800BD6A4 8FB70034 */ lw $s7, 0x34($sp) -/* 0BE2A8 800BD6A8 8FBE0038 */ lw $fp, 0x38($sp) -/* 0BE2AC 800BD6AC 03E00008 */ jr $ra -/* 0BE2B0 800BD6B0 27BD0058 */ addiu $sp, $sp, 0x58 - -glabel func_800BD6B4 -/* 0BE2B4 800BD6B4 8CAE0000 */ lw $t6, ($a1) -/* 0BE2B8 800BD6B8 15C0000C */ bnez $t6, .L800BD6EC -/* 0BE2BC 800BD6BC 00000000 */ nop -/* 0BE2C0 800BD6C0 ACA40000 */ sw $a0, ($a1) -/* 0BE2C4 800BD6C4 8C8F0004 */ lw $t7, 4($a0) -/* 0BE2C8 800BD6C8 ACAF0004 */ sw $t7, 4($a1) -/* 0BE2CC 800BD6CC 8C980004 */ lw $t8, 4($a0) -/* 0BE2D0 800BD6D0 AF050000 */ sw $a1, ($t8) -/* 0BE2D4 800BD6D4 8C990008 */ lw $t9, 8($a0) -/* 0BE2D8 800BD6D8 8C89000C */ lw $t1, 0xc($a0) -/* 0BE2DC 800BD6DC AC850004 */ sw $a1, 4($a0) -/* 0BE2E0 800BD6E0 27280001 */ addiu $t0, $t9, 1 -/* 0BE2E4 800BD6E4 AC880008 */ sw $t0, 8($a0) -/* 0BE2E8 800BD6E8 ACA9000C */ sw $t1, 0xc($a1) -.L800BD6EC: -/* 0BE2EC 800BD6EC 03E00008 */ jr $ra -/* 0BE2F0 800BD6F0 00000000 */ nop - -glabel func_800BD6F4 -/* 0BE2F4 800BD6F4 8C820000 */ lw $v0, ($a0) -/* 0BE2F8 800BD6F8 10400007 */ beqz $v0, .L800BD718 -/* 0BE2FC 800BD6FC 00000000 */ nop -/* 0BE300 800BD700 8C8E0004 */ lw $t6, 4($a0) -/* 0BE304 800BD704 AC4E0004 */ sw $t6, 4($v0) -/* 0BE308 800BD708 8C8F0000 */ lw $t7, ($a0) -/* 0BE30C 800BD70C 8C980004 */ lw $t8, 4($a0) -/* 0BE310 800BD710 AF0F0000 */ sw $t7, ($t8) -/* 0BE314 800BD714 AC800000 */ sw $zero, ($a0) -.L800BD718: -/* 0BE318 800BD718 03E00008 */ jr $ra -/* 0BE31C 800BD71C 00000000 */ nop - -glabel func_800BD720 -/* 0BE320 800BD720 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BE324 800BD724 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BE328 800BD728 8C820004 */ lw $v0, 4($a0) -/* 0BE32C 800BD72C 00803025 */ move $a2, $a0 -/* 0BE330 800BD730 14440003 */ bne $v0, $a0, .L800BD740 -/* 0BE334 800BD734 00000000 */ nop -/* 0BE338 800BD738 1000001D */ b .L800BD7B0 -/* 0BE33C 800BD73C 00001025 */ move $v0, $zero -.L800BD740: -/* 0BE340 800BD740 1046000C */ beq $v0, $a2, .L800BD774 -/* 0BE344 800BD744 00402025 */ move $a0, $v0 -/* 0BE348 800BD748 8C8E0008 */ lw $t6, 8($a0) -.L800BD74C: -/* 0BE34C 800BD74C 8C580008 */ lw $t8, 8($v0) -/* 0BE350 800BD750 91CF0030 */ lbu $t7, 0x30($t6) -/* 0BE354 800BD754 93190030 */ lbu $t9, 0x30($t8) -/* 0BE358 800BD758 01F9082A */ slt $at, $t7, $t9 -/* 0BE35C 800BD75C 54200003 */ bnel $at, $zero, .L800BD76C -/* 0BE360 800BD760 8C420004 */ lw $v0, 4($v0) -/* 0BE364 800BD764 00402025 */ move $a0, $v0 -/* 0BE368 800BD768 8C420004 */ lw $v0, 4($v0) -.L800BD76C: -/* 0BE36C 800BD76C 5446FFF7 */ bnel $v0, $a2, .L800BD74C -/* 0BE370 800BD770 8C8E0008 */ lw $t6, 8($a0) -.L800BD774: -/* 0BE374 800BD774 54800004 */ bnel $a0, $zero, .L800BD788 -/* 0BE378 800BD778 8C880008 */ lw $t0, 8($a0) -/* 0BE37C 800BD77C 1000000C */ b .L800BD7B0 -/* 0BE380 800BD780 00001025 */ move $v0, $zero -/* 0BE384 800BD784 8C880008 */ lw $t0, 8($a0) -.L800BD788: -/* 0BE388 800BD788 91090030 */ lbu $t1, 0x30($t0) -/* 0BE38C 800BD78C 0125082A */ slt $at, $t1, $a1 -/* 0BE390 800BD790 14200003 */ bnez $at, .L800BD7A0 -/* 0BE394 800BD794 00000000 */ nop -/* 0BE398 800BD798 10000005 */ b .L800BD7B0 -/* 0BE39C 800BD79C 00001025 */ move $v0, $zero -.L800BD7A0: -/* 0BE3A0 800BD7A0 0C02F5BD */ jal func_800BD6F4 -/* 0BE3A4 800BD7A4 AFA40018 */ sw $a0, 0x18($sp) -/* 0BE3A8 800BD7A8 8FA40018 */ lw $a0, 0x18($sp) -/* 0BE3AC 800BD7AC 8C820008 */ lw $v0, 8($a0) -.L800BD7B0: -/* 0BE3B0 800BD7B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE3B4 800BD7B4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BE3B8 800BD7B8 03E00008 */ jr $ra -/* 0BE3BC 800BD7BC 00000000 */ nop - -glabel func_800BD7C0 -/* 0BE3C0 800BD7C0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0BE3C4 800BD7C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BE3C8 800BD7C8 240EFFFF */ li $t6, -1 -/* 0BE3CC 800BD7CC AC8E0040 */ sw $t6, 0x40($a0) -/* 0BE3D0 800BD7D0 AC850044 */ sw $a1, 0x44($a0) -/* 0BE3D4 800BD7D4 8CAF004C */ lw $t7, 0x4c($a1) -/* 0BE3D8 800BD7D8 240A0003 */ li $t2, 3 -/* 0BE3DC 800BD7DC 44802000 */ mtc1 $zero, $f4 -/* 0BE3E0 800BD7E0 91F80005 */ lbu $t8, 5($t7) -/* 0BE3E4 800BD7E4 A0980030 */ sb $t8, 0x30($a0) -/* 0BE3E8 800BD7E8 90A80000 */ lbu $t0, ($a1) -/* 0BE3EC 800BD7EC 8CAB004C */ lw $t3, 0x4c($a1) -/* 0BE3F0 800BD7F0 A0AA0002 */ sb $t2, 2($a1) -/* 0BE3F4 800BD7F4 35090004 */ ori $t1, $t0, 4 -/* 0BE3F8 800BD7F8 A0A90000 */ sb $t1, ($a1) -/* 0BE3FC 800BD7FC ACA40040 */ sw $a0, 0x40($a1) -/* 0BE400 800BD800 AD640038 */ sw $a0, 0x38($t3) -/* 0BE404 800BD804 8CAC004C */ lw $t4, 0x4c($a1) -/* 0BE408 800BD808 AD85003C */ sw $a1, 0x3c($t4) -/* 0BE40C 800BD80C E4A4002C */ swc1 $f4, 0x2c($a1) -/* 0BE410 800BD810 AFA5003C */ sw $a1, 0x3c($sp) -/* 0BE414 800BD814 0C02F2AD */ jal func_800BCAB4 -/* 0BE418 800BD818 AFA40038 */ sw $a0, 0x38($sp) -/* 0BE41C 800BD81C 8FA5003C */ lw $a1, 0x3c($sp) -/* 0BE420 800BD820 8FA40038 */ lw $a0, 0x38($sp) -/* 0BE424 800BD824 240100FF */ li $at, 255 -/* 0BE428 800BD828 90A60001 */ lbu $a2, 1($a1) -/* 0BE42C 800BD82C 248200B0 */ addiu $v0, $a0, 0xb0 -/* 0BE430 800BD830 54C10004 */ bnel $a2, $at, .L800BD844 -/* 0BE434 800BD834 8CAE0048 */ lw $t6, 0x48($a1) -/* 0BE438 800BD838 8CAD004C */ lw $t5, 0x4c($a1) -/* 0BE43C 800BD83C 85A6001C */ lh $a2, 0x1c($t5) -/* 0BE440 800BD840 8CAE0048 */ lw $t6, 0x48($a1) -.L800BD844: -/* 0BE444 800BD844 28C10080 */ slti $at, $a2, 0x80 -/* 0BE448 800BD848 14200005 */ bnez $at, .L800BD860 -/* 0BE44C 800BD84C AC4E000C */ sw $t6, 0xc($v0) -/* 0BE450 800BD850 90580001 */ lbu $t8, 1($v0) -/* 0BE454 800BD854 37190002 */ ori $t9, $t8, 2 -/* 0BE458 800BD858 10000004 */ b .L800BD86C -/* 0BE45C 800BD85C A0590001 */ sb $t9, 1($v0) -.L800BD860: -/* 0BE460 800BD860 90480001 */ lbu $t0, 1($v0) -/* 0BE464 800BD864 3109FFFD */ andi $t1, $t0, 0xfffd -/* 0BE468 800BD868 A0490001 */ sb $t1, 1($v0) -.L800BD86C: -/* 0BE46C 800BD86C 8C4A0000 */ lw $t2, ($v0) -/* 0BE470 800BD870 000A6380 */ sll $t4, $t2, 0xe -/* 0BE474 800BD874 05830007 */ bgezl $t4, .L800BD894 -/* 0BE478 800BD878 8CAD004C */ lw $t5, 0x4c($a1) -/* 0BE47C 800BD87C AFA2001C */ sw $v0, 0x1c($sp) -/* 0BE480 800BD880 0C02F458 */ jal func_800BD160 -/* 0BE484 800BD884 AFA5003C */ sw $a1, 0x3c($sp) -/* 0BE488 800BD888 8FA2001C */ lw $v0, 0x1c($sp) -/* 0BE48C 800BD88C 8FA5003C */ lw $a1, 0x3c($sp) -/* 0BE490 800BD890 8CAD004C */ lw $t5, 0x4c($a1) -.L800BD894: -/* 0BE494 800BD894 904B0000 */ lbu $t3, ($v0) -/* 0BE498 800BD898 91AE0006 */ lbu $t6, 6($t5) -/* 0BE49C 800BD89C 316CFFFD */ andi $t4, $t3, 0xfffd -/* 0BE4A0 800BD8A0 904B0001 */ lbu $t3, 1($v0) -/* 0BE4A4 800BD8A4 A04E0002 */ sb $t6, 2($v0) -/* 0BE4A8 800BD8A8 8CAF004C */ lw $t7, 0x4c($a1) -/* 0BE4AC 800BD8AC 8DF80000 */ lw $t8, ($t7) -/* 0BE4B0 800BD8B0 0018C940 */ sll $t9, $t8, 5 -/* 0BE4B4 800BD8B4 001947C2 */ srl $t0, $t9, 0x1f -/* 0BE4B8 800BD8B8 00084840 */ sll $t1, $t0, 1 -/* 0BE4BC 800BD8BC 312A0002 */ andi $t2, $t1, 2 -/* 0BE4C0 800BD8C0 014C6825 */ or $t5, $t2, $t4 -/* 0BE4C4 800BD8C4 A04D0000 */ sb $t5, ($v0) -/* 0BE4C8 800BD8C8 8CAE004C */ lw $t6, 0x4c($a1) -/* 0BE4CC 800BD8CC 316AFF1F */ andi $t2, $t3, 0xff1f -/* 0BE4D0 800BD8D0 91CF0007 */ lbu $t7, 7($t6) -/* 0BE4D4 800BD8D4 31F90003 */ andi $t9, $t7, 3 -/* 0BE4D8 800BD8D8 00194940 */ sll $t1, $t9, 5 -/* 0BE4DC 800BD8DC 012A6025 */ or $t4, $t1, $t2 -/* 0BE4E0 800BD8E0 A04C0001 */ sb $t4, 1($v0) -/* 0BE4E4 800BD8E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE4E8 800BD8E8 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0BE4EC 800BD8EC 03E00008 */ jr $ra -/* 0BE4F0 800BD8F0 00000000 */ nop - -glabel func_800BD8F4 -/* 0BE4F4 800BD8F4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BE4F8 800BD8F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BE4FC 800BD8FC AFA40018 */ sw $a0, 0x18($sp) -/* 0BE500 800BD900 AFA5001C */ sw $a1, 0x1c($sp) -/* 0BE504 800BD904 0C02F450 */ jal func_800BD140 -/* 0BE508 800BD908 8C840044 */ lw $a0, 0x44($a0) -/* 0BE50C 800BD90C 8FAF001C */ lw $t7, 0x1c($sp) -/* 0BE510 800BD910 8FB80018 */ lw $t8, 0x18($sp) -/* 0BE514 800BD914 AF0F0048 */ sw $t7, 0x48($t8) -/* 0BE518 800BD918 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE51C 800BD91C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BE520 800BD920 03E00008 */ jr $ra -/* 0BE524 800BD924 00000000 */ nop - -glabel func_800BD928 -/* 0BE528 800BD928 908F0058 */ lbu $t7, 0x58($a0) -/* 0BE52C 800BD92C 240E0001 */ li $t6, 1 -/* 0BE530 800BD930 AC850048 */ sw $a1, 0x48($a0) -/* 0BE534 800BD934 A08E0030 */ sb $t6, 0x30($a0) -/* 0BE538 800BD938 3C01803B */ lui $at, %hi(D_803B70A0) # $at, 0x803b -/* 0BE53C 800BD93C C42470A0 */ lwc1 $f4, %lo(D_803B70A0)($at) -/* 0BE540 800BD940 35F80010 */ ori $t8, $t7, 0x10 -/* 0BE544 800BD944 A0980058 */ sb $t8, 0x58($a0) -/* 0BE548 800BD948 03E00008 */ jr $ra -/* 0BE54C 800BD94C E4840068 */ swc1 $f4, 0x68($a0) - -glabel func_800BD950 -/* 0BE550 800BD950 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BE554 800BD954 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BE558 800BD958 AFA40020 */ sw $a0, 0x20($sp) -/* 0BE55C 800BD95C 0C02FC11 */ jal func_800BF044 -/* 0BE560 800BD960 AFA50024 */ sw $a1, 0x24($sp) -/* 0BE564 800BD964 10400008 */ beqz $v0, .L800BD988 -/* 0BE568 800BD968 AFA2001C */ sw $v0, 0x1c($sp) -/* 0BE56C 800BD96C 00402025 */ move $a0, $v0 -/* 0BE570 800BD970 0C02F5F0 */ jal func_800BD7C0 -/* 0BE574 800BD974 8FA50024 */ lw $a1, 0x24($sp) -/* 0BE578 800BD978 8FA40020 */ lw $a0, 0x20($sp) -/* 0BE57C 800BD97C 8FA5001C */ lw $a1, 0x1c($sp) -/* 0BE580 800BD980 0C02F5AD */ jal func_800BD6B4 -/* 0BE584 800BD984 24840030 */ addiu $a0, $a0, 0x30 -.L800BD988: -/* 0BE588 800BD988 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE58C 800BD98C 8FA2001C */ lw $v0, 0x1c($sp) -/* 0BE590 800BD990 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BE594 800BD994 03E00008 */ jr $ra -/* 0BE598 800BD998 00000000 */ nop - -glabel func_800BD99C -/* 0BE59C 800BD99C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BE5A0 800BD9A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BE5A4 800BD9A4 AFA40020 */ sw $a0, 0x20($sp) -/* 0BE5A8 800BD9A8 AFA50024 */ sw $a1, 0x24($sp) -/* 0BE5AC 800BD9AC 0C02FC11 */ jal func_800BF044 -/* 0BE5B0 800BD9B0 24840010 */ addiu $a0, $a0, 0x10 -/* 0BE5B4 800BD9B4 10400008 */ beqz $v0, .L800BD9D8 -/* 0BE5B8 800BD9B8 AFA2001C */ sw $v0, 0x1c($sp) -/* 0BE5BC 800BD9BC 00402025 */ move $a0, $v0 -/* 0BE5C0 800BD9C0 0C02F64A */ jal func_800BD928 -/* 0BE5C4 800BD9C4 8FA50024 */ lw $a1, 0x24($sp) -/* 0BE5C8 800BD9C8 8FA40020 */ lw $a0, 0x20($sp) -/* 0BE5CC 800BD9CC 8FA5001C */ lw $a1, 0x1c($sp) -/* 0BE5D0 800BD9D0 0C02FC01 */ jal func_800BF004 -/* 0BE5D4 800BD9D4 24840020 */ addiu $a0, $a0, 0x20 -.L800BD9D8: -/* 0BE5D8 800BD9D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE5DC 800BD9DC 8FA2001C */ lw $v0, 0x1c($sp) -/* 0BE5E0 800BD9E0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BE5E4 800BD9E4 03E00008 */ jr $ra -/* 0BE5E8 800BD9E8 00000000 */ nop - -glabel func_800BD9EC -/* 0BE5EC 800BD9EC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BE5F0 800BD9F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BE5F4 800BD9F4 AFA40020 */ sw $a0, 0x20($sp) -/* 0BE5F8 800BD9F8 AFA50024 */ sw $a1, 0x24($sp) -/* 0BE5FC 800BD9FC 8CAF004C */ lw $t7, 0x4c($a1) -/* 0BE600 800BDA00 24840030 */ addiu $a0, $a0, 0x30 -/* 0BE604 800BDA04 0C02F5C8 */ jal func_800BD720 -/* 0BE608 800BDA08 91E50005 */ lbu $a1, 5($t7) -/* 0BE60C 800BDA0C 10400008 */ beqz $v0, .L800BDA30 -/* 0BE610 800BDA10 AFA2001C */ sw $v0, 0x1c($sp) -/* 0BE614 800BDA14 00402025 */ move $a0, $v0 -/* 0BE618 800BDA18 0C02F63D */ jal func_800BD8F4 -/* 0BE61C 800BDA1C 8FA50024 */ lw $a1, 0x24($sp) -/* 0BE620 800BDA20 8FA40020 */ lw $a0, 0x20($sp) -/* 0BE624 800BDA24 8FA5001C */ lw $a1, 0x1c($sp) -/* 0BE628 800BDA28 0C02FC01 */ jal func_800BF004 -/* 0BE62C 800BDA2C 24840020 */ addiu $a0, $a0, 0x20 -.L800BDA30: -/* 0BE630 800BDA30 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BE634 800BDA34 8FA2001C */ lw $v0, 0x1c($sp) -/* 0BE638 800BDA38 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BE63C 800BDA3C 03E00008 */ jr $ra -/* 0BE640 800BDA40 00000000 */ nop - -glabel func_800BDA44 -/* 0BE644 800BDA44 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BE648 800BDA48 AFBF001C */ sw $ra, 0x1c($sp) -/* 0BE64C 800BDA4C AFB00018 */ sw $s0, 0x18($sp) -/* 0BE650 800BDA50 8C83004C */ lw $v1, 0x4c($a0) -/* 0BE654 800BDA54 00808025 */ move $s0, $a0 -/* 0BE658 800BDA58 90620002 */ lbu $v0, 2($v1) -/* 0BE65C 800BDA5C 304E0001 */ andi $t6, $v0, 1 -/* 0BE660 800BDA60 11C00016 */ beqz $t6, .L800BDABC -/* 0BE664 800BDA64 30590002 */ andi $t9, $v0, 2 -/* 0BE668 800BDA68 8C860040 */ lw $a2, 0x40($a0) -/* 0BE66C 800BDA6C 10C00013 */ beqz $a2, .L800BDABC -/* 0BE670 800BDA70 00000000 */ nop -/* 0BE674 800BDA74 8CCF0040 */ lw $t7, 0x40($a2) -/* 0BE678 800BDA78 148F0010 */ bne $a0, $t7, .L800BDABC -/* 0BE67C 800BDA7C 00000000 */ nop -/* 0BE680 800BDA80 8CD80048 */ lw $t8, 0x48($a2) -/* 0BE684 800BDA84 2401FFFF */ li $at, -1 -/* 0BE688 800BDA88 00C02025 */ move $a0, $a2 -/* 0BE68C 800BDA8C 1701000B */ bne $t8, $at, .L800BDABC -/* 0BE690 800BDA90 02002825 */ move $a1, $s0 -/* 0BE694 800BDA94 0C02F64A */ jal func_800BD928 -/* 0BE698 800BDA98 AFA60024 */ sw $a2, 0x24($sp) -/* 0BE69C 800BDA9C 0C02F5BD */ jal func_800BD6F4 -/* 0BE6A0 800BDAA0 8FA40024 */ lw $a0, 0x24($sp) -/* 0BE6A4 800BDAA4 8FA50024 */ lw $a1, 0x24($sp) -/* 0BE6A8 800BDAA8 8CA4000C */ lw $a0, 0xc($a1) -/* 0BE6AC 800BDAAC 0C02FC01 */ jal func_800BF004 -/* 0BE6B0 800BDAB0 24840020 */ addiu $a0, $a0, 0x20 -/* 0BE6B4 800BDAB4 1000009A */ b .L800BDD20 -/* 0BE6B8 800BDAB8 8FA20024 */ lw $v0, 0x24($sp) -.L800BDABC: -/* 0BE6BC 800BDABC 13200017 */ beqz $t9, .L800BDB1C -/* 0BE6C0 800BDAC0 30480004 */ andi $t0, $v0, 4 -/* 0BE6C4 800BDAC4 24640084 */ addiu $a0, $v1, 0x84 -/* 0BE6C8 800BDAC8 0C02F654 */ jal func_800BD950 -/* 0BE6CC 800BDACC 02002825 */ move $a1, $s0 -/* 0BE6D0 800BDAD0 14400010 */ bnez $v0, .L800BDB14 -/* 0BE6D4 800BDAD4 00403025 */ move $a2, $v0 -/* 0BE6D8 800BDAD8 8E04004C */ lw $a0, 0x4c($s0) -/* 0BE6DC 800BDADC 02002825 */ move $a1, $s0 -/* 0BE6E0 800BDAE0 0C02F667 */ jal func_800BD99C -/* 0BE6E4 800BDAE4 24840084 */ addiu $a0, $a0, 0x84 -/* 0BE6E8 800BDAE8 1440000A */ bnez $v0, .L800BDB14 -/* 0BE6EC 800BDAEC 00403025 */ move $a2, $v0 -/* 0BE6F0 800BDAF0 8E04004C */ lw $a0, 0x4c($s0) -/* 0BE6F4 800BDAF4 02002825 */ move $a1, $s0 -/* 0BE6F8 800BDAF8 0C02F67B */ jal func_800BD9EC -/* 0BE6FC 800BDAFC 24840084 */ addiu $a0, $a0, 0x84 -/* 0BE700 800BDB00 14400004 */ bnez $v0, .L800BDB14 -/* 0BE704 800BDB04 00403025 */ move $a2, $v0 -/* 0BE708 800BDB08 A2000002 */ sb $zero, 2($s0) -/* 0BE70C 800BDB0C 10000084 */ b .L800BDD20 -/* 0BE710 800BDB10 00001025 */ move $v0, $zero -.L800BDB14: -/* 0BE714 800BDB14 10000082 */ b .L800BDD20 -/* 0BE718 800BDB18 00C01025 */ move $v0, $a2 -.L800BDB1C: -/* 0BE71C 800BDB1C 1100002C */ beqz $t0, .L800BDBD0 -/* 0BE720 800BDB20 304C0008 */ andi $t4, $v0, 8 -/* 0BE724 800BDB24 24640084 */ addiu $a0, $v1, 0x84 -/* 0BE728 800BDB28 0C02F654 */ jal func_800BD950 -/* 0BE72C 800BDB2C 02002825 */ move $a1, $s0 -/* 0BE730 800BDB30 14400025 */ bnez $v0, .L800BDBC8 -/* 0BE734 800BDB34 00403025 */ move $a2, $v0 -/* 0BE738 800BDB38 8E09004C */ lw $t1, 0x4c($s0) -/* 0BE73C 800BDB3C 02002825 */ move $a1, $s0 -/* 0BE740 800BDB40 8D240044 */ lw $a0, 0x44($t1) -/* 0BE744 800BDB44 0C02F654 */ jal func_800BD950 -/* 0BE748 800BDB48 24840094 */ addiu $a0, $a0, 0x94 -/* 0BE74C 800BDB4C 1440001E */ bnez $v0, .L800BDBC8 -/* 0BE750 800BDB50 00403025 */ move $a2, $v0 -/* 0BE754 800BDB54 8E04004C */ lw $a0, 0x4c($s0) -/* 0BE758 800BDB58 02002825 */ move $a1, $s0 -/* 0BE75C 800BDB5C 0C02F667 */ jal func_800BD99C -/* 0BE760 800BDB60 24840084 */ addiu $a0, $a0, 0x84 -/* 0BE764 800BDB64 14400018 */ bnez $v0, .L800BDBC8 -/* 0BE768 800BDB68 00403025 */ move $a2, $v0 -/* 0BE76C 800BDB6C 8E0A004C */ lw $t2, 0x4c($s0) -/* 0BE770 800BDB70 02002825 */ move $a1, $s0 -/* 0BE774 800BDB74 8D440044 */ lw $a0, 0x44($t2) -/* 0BE778 800BDB78 0C02F667 */ jal func_800BD99C -/* 0BE77C 800BDB7C 24840094 */ addiu $a0, $a0, 0x94 -/* 0BE780 800BDB80 14400011 */ bnez $v0, .L800BDBC8 -/* 0BE784 800BDB84 00403025 */ move $a2, $v0 -/* 0BE788 800BDB88 8E04004C */ lw $a0, 0x4c($s0) -/* 0BE78C 800BDB8C 02002825 */ move $a1, $s0 -/* 0BE790 800BDB90 0C02F67B */ jal func_800BD9EC -/* 0BE794 800BDB94 24840084 */ addiu $a0, $a0, 0x84 -/* 0BE798 800BDB98 1440000B */ bnez $v0, .L800BDBC8 -/* 0BE79C 800BDB9C 00403025 */ move $a2, $v0 -/* 0BE7A0 800BDBA0 8E0B004C */ lw $t3, 0x4c($s0) -/* 0BE7A4 800BDBA4 02002825 */ move $a1, $s0 -/* 0BE7A8 800BDBA8 8D640044 */ lw $a0, 0x44($t3) -/* 0BE7AC 800BDBAC 0C02F67B */ jal func_800BD9EC -/* 0BE7B0 800BDBB0 24840094 */ addiu $a0, $a0, 0x94 -/* 0BE7B4 800BDBB4 14400004 */ bnez $v0, .L800BDBC8 -/* 0BE7B8 800BDBB8 00403025 */ move $a2, $v0 -/* 0BE7BC 800BDBBC A2000002 */ sb $zero, 2($s0) -/* 0BE7C0 800BDBC0 10000057 */ b .L800BDD20 -/* 0BE7C4 800BDBC4 00001025 */ move $v0, $zero -.L800BDBC8: -/* 0BE7C8 800BDBC8 10000055 */ b .L800BDD20 -/* 0BE7CC 800BDBCC 00C01025 */ move $v0, $a2 -.L800BDBD0: -/* 0BE7D0 800BDBD0 11800018 */ beqz $t4, .L800BDC34 -/* 0BE7D4 800BDBD4 24640084 */ addiu $a0, $v1, 0x84 -/* 0BE7D8 800BDBD8 3C04803B */ lui $a0, %hi(D_803B5FC8) # $a0, 0x803b -/* 0BE7DC 800BDBDC 24845FC8 */ addiu $a0, %lo(D_803B5FC8) # addiu $a0, $a0, 0x5fc8 -/* 0BE7E0 800BDBE0 0C02F654 */ jal func_800BD950 -/* 0BE7E4 800BDBE4 02002825 */ move $a1, $s0 -/* 0BE7E8 800BDBE8 14400010 */ bnez $v0, .L800BDC2C -/* 0BE7EC 800BDBEC 00403025 */ move $a2, $v0 -/* 0BE7F0 800BDBF0 3C04803B */ lui $a0, %hi(D_803B5FC8) # $a0, 0x803b -/* 0BE7F4 800BDBF4 24845FC8 */ addiu $a0, %lo(D_803B5FC8) # addiu $a0, $a0, 0x5fc8 -/* 0BE7F8 800BDBF8 0C02F667 */ jal func_800BD99C -/* 0BE7FC 800BDBFC 02002825 */ move $a1, $s0 -/* 0BE800 800BDC00 1440000A */ bnez $v0, .L800BDC2C -/* 0BE804 800BDC04 00403025 */ move $a2, $v0 -/* 0BE808 800BDC08 3C04803B */ lui $a0, %hi(D_803B5FC8) # $a0, 0x803b -/* 0BE80C 800BDC0C 24845FC8 */ addiu $a0, %lo(D_803B5FC8) # addiu $a0, $a0, 0x5fc8 -/* 0BE810 800BDC10 0C02F67B */ jal func_800BD9EC -/* 0BE814 800BDC14 02002825 */ move $a1, $s0 -/* 0BE818 800BDC18 14400004 */ bnez $v0, .L800BDC2C -/* 0BE81C 800BDC1C 00403025 */ move $a2, $v0 -/* 0BE820 800BDC20 A2000002 */ sb $zero, 2($s0) -/* 0BE824 800BDC24 1000003E */ b .L800BDD20 -/* 0BE828 800BDC28 00001025 */ move $v0, $zero -.L800BDC2C: -/* 0BE82C 800BDC2C 1000003C */ b .L800BDD20 -/* 0BE830 800BDC30 00C01025 */ move $v0, $a2 -.L800BDC34: -/* 0BE834 800BDC34 0C02F654 */ jal func_800BD950 -/* 0BE838 800BDC38 02002825 */ move $a1, $s0 -/* 0BE83C 800BDC3C 14400037 */ bnez $v0, .L800BDD1C -/* 0BE840 800BDC40 00403025 */ move $a2, $v0 -/* 0BE844 800BDC44 8E0D004C */ lw $t5, 0x4c($s0) -/* 0BE848 800BDC48 02002825 */ move $a1, $s0 -/* 0BE84C 800BDC4C 8DA40044 */ lw $a0, 0x44($t5) -/* 0BE850 800BDC50 0C02F654 */ jal func_800BD950 -/* 0BE854 800BDC54 24840094 */ addiu $a0, $a0, 0x94 -/* 0BE858 800BDC58 14400030 */ bnez $v0, .L800BDD1C -/* 0BE85C 800BDC5C 00403025 */ move $a2, $v0 -/* 0BE860 800BDC60 3C04803B */ lui $a0, %hi(D_803B5FC8) # $a0, 0x803b -/* 0BE864 800BDC64 24845FC8 */ addiu $a0, %lo(D_803B5FC8) # addiu $a0, $a0, 0x5fc8 -/* 0BE868 800BDC68 0C02F654 */ jal func_800BD950 -/* 0BE86C 800BDC6C 02002825 */ move $a1, $s0 -/* 0BE870 800BDC70 1440002A */ bnez $v0, .L800BDD1C -/* 0BE874 800BDC74 00403025 */ move $a2, $v0 -/* 0BE878 800BDC78 8E04004C */ lw $a0, 0x4c($s0) -/* 0BE87C 800BDC7C 02002825 */ move $a1, $s0 -/* 0BE880 800BDC80 0C02F667 */ jal func_800BD99C -/* 0BE884 800BDC84 24840084 */ addiu $a0, $a0, 0x84 -/* 0BE888 800BDC88 14400024 */ bnez $v0, .L800BDD1C -/* 0BE88C 800BDC8C 00403025 */ move $a2, $v0 -/* 0BE890 800BDC90 8E0E004C */ lw $t6, 0x4c($s0) -/* 0BE894 800BDC94 02002825 */ move $a1, $s0 -/* 0BE898 800BDC98 8DC40044 */ lw $a0, 0x44($t6) -/* 0BE89C 800BDC9C 0C02F667 */ jal func_800BD99C -/* 0BE8A0 800BDCA0 24840094 */ addiu $a0, $a0, 0x94 -/* 0BE8A4 800BDCA4 1440001D */ bnez $v0, .L800BDD1C -/* 0BE8A8 800BDCA8 00403025 */ move $a2, $v0 -/* 0BE8AC 800BDCAC 3C04803B */ lui $a0, %hi(D_803B5FC8) # $a0, 0x803b -/* 0BE8B0 800BDCB0 24845FC8 */ addiu $a0, %lo(D_803B5FC8) # addiu $a0, $a0, 0x5fc8 -/* 0BE8B4 800BDCB4 0C02F667 */ jal func_800BD99C -/* 0BE8B8 800BDCB8 02002825 */ move $a1, $s0 -/* 0BE8BC 800BDCBC 14400017 */ bnez $v0, .L800BDD1C -/* 0BE8C0 800BDCC0 00403025 */ move $a2, $v0 -/* 0BE8C4 800BDCC4 8E04004C */ lw $a0, 0x4c($s0) -/* 0BE8C8 800BDCC8 02002825 */ move $a1, $s0 -/* 0BE8CC 800BDCCC 0C02F67B */ jal func_800BD9EC -/* 0BE8D0 800BDCD0 24840084 */ addiu $a0, $a0, 0x84 -/* 0BE8D4 800BDCD4 14400011 */ bnez $v0, .L800BDD1C -/* 0BE8D8 800BDCD8 00403025 */ move $a2, $v0 -/* 0BE8DC 800BDCDC 8E0F004C */ lw $t7, 0x4c($s0) -/* 0BE8E0 800BDCE0 02002825 */ move $a1, $s0 -/* 0BE8E4 800BDCE4 8DE40044 */ lw $a0, 0x44($t7) -/* 0BE8E8 800BDCE8 0C02F67B */ jal func_800BD9EC -/* 0BE8EC 800BDCEC 24840094 */ addiu $a0, $a0, 0x94 -/* 0BE8F0 800BDCF0 1440000A */ bnez $v0, .L800BDD1C -/* 0BE8F4 800BDCF4 00403025 */ move $a2, $v0 -/* 0BE8F8 800BDCF8 3C04803B */ lui $a0, %hi(D_803B5FC8) # $a0, 0x803b -/* 0BE8FC 800BDCFC 24845FC8 */ addiu $a0, %lo(D_803B5FC8) # addiu $a0, $a0, 0x5fc8 -/* 0BE900 800BDD00 0C02F67B */ jal func_800BD9EC -/* 0BE904 800BDD04 02002825 */ move $a1, $s0 -/* 0BE908 800BDD08 14400004 */ bnez $v0, .L800BDD1C -/* 0BE90C 800BDD0C 00403025 */ move $a2, $v0 -/* 0BE910 800BDD10 A2000002 */ sb $zero, 2($s0) -/* 0BE914 800BDD14 10000002 */ b .L800BDD20 -/* 0BE918 800BDD18 00001025 */ move $v0, $zero -.L800BDD1C: -/* 0BE91C 800BDD1C 00C01025 */ move $v0, $a2 -.L800BDD20: -/* 0BE920 800BDD20 8FBF001C */ lw $ra, 0x1c($sp) -/* 0BE924 800BDD24 8FB00018 */ lw $s0, 0x18($sp) -/* 0BE928 800BDD28 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BE92C 800BDD2C 03E00008 */ jr $ra -/* 0BE930 800BDD30 00000000 */ nop - -glabel func_800BDD34 -/* 0BE934 800BDD34 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0BE938 800BDD38 AFB4002C */ sw $s4, 0x2c($sp) -/* 0BE93C 800BDD3C 3C14803B */ lui $s4, %hi(D_803B70B0) # $s4, 0x803b -/* 0BE940 800BDD40 269470B0 */ addiu $s4, %lo(D_803B70B0) # addiu $s4, $s4, 0x70b0 -/* 0BE944 800BDD44 8E8E0000 */ lw $t6, ($s4) -/* 0BE948 800BDD48 AFB10020 */ sw $s1, 0x20($sp) -/* 0BE94C 800BDD4C AFBF003C */ sw $ra, 0x3c($sp) -/* 0BE950 800BDD50 AFB70038 */ sw $s7, 0x38($sp) -/* 0BE954 800BDD54 AFB60034 */ sw $s6, 0x34($sp) -/* 0BE958 800BDD58 AFB50030 */ sw $s5, 0x30($sp) -/* 0BE95C 800BDD5C AFB30028 */ sw $s3, 0x28($sp) -/* 0BE960 800BDD60 AFB20024 */ sw $s2, 0x24($sp) -/* 0BE964 800BDD64 AFB0001C */ sw $s0, 0x1c($sp) -/* 0BE968 800BDD68 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 0BE96C 800BDD6C 19C0002A */ blez $t6, .L800BDE18 -/* 0BE970 800BDD70 00008825 */ move $s1, $zero -/* 0BE974 800BDD74 3C17803B */ lui $s7, %hi(D_803AFBE8) # $s7, 0x803b -/* 0BE978 800BDD78 3C16800F */ lui $s6, %hi(gZeroNoteSub) # $s6, 0x800f -/* 0BE97C 800BDD7C 3C15803B */ lui $s5, %hi(D_803B1508) # $s5, 0x803b -/* 0BE980 800BDD80 4480A000 */ mtc1 $zero, $f20 -/* 0BE984 800BDD84 26B51508 */ addiu $s5, %lo(D_803B1508) # addiu $s5, $s5, 0x1508 -/* 0BE988 800BDD88 26D66250 */ addiu $s6, %lo(gZeroNoteSub) # addiu $s6, $s6, 0x6250 -/* 0BE98C 800BDD8C 26F7FBE8 */ addiu $s7, %lo(D_803AFBE8) # addiu $s7, $s7, -0x418 -/* 0BE990 800BDD90 00009025 */ move $s2, $zero -/* 0BE994 800BDD94 2413FFFF */ li $s3, -1 -/* 0BE998 800BDD98 8EAF0000 */ lw $t7, ($s5) -.L800BDD9C: -/* 0BE99C 800BDD9C 8EC10000 */ lw $at, ($s6) -/* 0BE9A0 800BDDA0 02E02025 */ move $a0, $s7 -/* 0BE9A4 800BDDA4 024F8021 */ addu $s0, $s2, $t7 -/* 0BE9A8 800BDDA8 AE0100B0 */ sw $at, 0xb0($s0) -/* 0BE9AC 800BDDAC 8ED90004 */ lw $t9, 4($s6) -/* 0BE9B0 800BDDB0 240500A0 */ li $a1, 160 -/* 0BE9B4 800BDDB4 AE1900B4 */ sw $t9, 0xb4($s0) -/* 0BE9B8 800BDDB8 8EC10008 */ lw $at, 8($s6) -/* 0BE9BC 800BDDBC AE0100B8 */ sw $at, 0xb8($s0) -/* 0BE9C0 800BDDC0 8ED9000C */ lw $t9, 0xc($s6) -/* 0BE9C4 800BDDC4 A2000030 */ sb $zero, 0x30($s0) -/* 0BE9C8 800BDDC8 AE130044 */ sw $s3, 0x44($s0) -/* 0BE9CC 800BDDCC AE130048 */ sw $s3, 0x48($s0) -/* 0BE9D0 800BDDD0 AE130040 */ sw $s3, 0x40($s0) -/* 0BE9D4 800BDDD4 A2000031 */ sb $zero, 0x31($s0) -/* 0BE9D8 800BDDD8 E6140054 */ swc1 $f20, 0x54($s0) -/* 0BE9DC 800BDDDC A6000034 */ sh $zero, 0x34($s0) -/* 0BE9E0 800BDDE0 A2000059 */ sb $zero, 0x59($s0) -/* 0BE9E4 800BDDE4 A2000058 */ sb $zero, 0x58($s0) -/* 0BE9E8 800BDDE8 A20000A0 */ sb $zero, 0xa0($s0) -/* 0BE9EC 800BDDEC E6140080 */ swc1 $f20, 0x80($s0) -/* 0BE9F0 800BDDF0 E6140084 */ swc1 $f20, 0x84($s0) -/* 0BE9F4 800BDDF4 0C02E3FF */ jal func_800B8FFC -/* 0BE9F8 800BDDF8 AE1900BC */ sw $t9, 0xbc($s0) -/* 0BE9FC 800BDDFC AE02001C */ sw $v0, 0x1c($s0) -/* 0BEA00 800BDE00 8E880000 */ lw $t0, ($s4) -/* 0BEA04 800BDE04 26310001 */ addiu $s1, $s1, 1 -/* 0BEA08 800BDE08 265200C0 */ addiu $s2, $s2, 0xc0 -/* 0BEA0C 800BDE0C 0228082A */ slt $at, $s1, $t0 -/* 0BEA10 800BDE10 5420FFE2 */ bnel $at, $zero, .L800BDD9C -/* 0BEA14 800BDE14 8EAF0000 */ lw $t7, ($s5) -.L800BDE18: -/* 0BEA18 800BDE18 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BEA1C 800BDE1C D7B40010 */ ldc1 $f20, 0x10($sp) -/* 0BEA20 800BDE20 8FB0001C */ lw $s0, 0x1c($sp) -/* 0BEA24 800BDE24 8FB10020 */ lw $s1, 0x20($sp) -/* 0BEA28 800BDE28 8FB20024 */ lw $s2, 0x24($sp) -/* 0BEA2C 800BDE2C 8FB30028 */ lw $s3, 0x28($sp) -/* 0BEA30 800BDE30 8FB4002C */ lw $s4, 0x2c($sp) -/* 0BEA34 800BDE34 8FB50030 */ lw $s5, 0x30($sp) -/* 0BEA38 800BDE38 8FB60034 */ lw $s6, 0x34($sp) -/* 0BEA3C 800BDE3C 8FB70038 */ lw $s7, 0x38($sp) -/* 0BEA40 800BDE40 03E00008 */ jr $ra -/* 0BEA44 800BDE44 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 0BEA48 800BDE48 00000000 */ nop -/* 0BEA4C 800BDE4C 00000000 */ nop diff --git a/asm/audio/port_eu.s b/asm/audio/port_eu.s deleted file mode 100644 index ae3c21425..000000000 --- a/asm/audio/port_eu.s +++ /dev/null @@ -1,874 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.section .text, "ax" - -glabel create_next_audio_frame_task -/* 0CBF30 800CB330 3C03803B */ lui $v1, %hi(D_803B70B8) # $v1, 0x803b -/* 0CBF34 800CB334 246370B8 */ addiu $v1, %lo(D_803B70B8) # addiu $v1, $v1, 0x70b8 -/* 0CBF38 800CB338 8C620000 */ lw $v0, ($v1) -/* 0CBF3C 800CB33C 3C18803B */ lui $t8, %hi(D_803B7088) # $t8, 0x803b -/* 0CBF40 800CB340 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 0CBF44 800CB344 244E0001 */ addiu $t6, $v0, 1 -/* 0CBF48 800CB348 AC6E0000 */ sw $t6, ($v1) -/* 0CBF4C 800CB34C 8C6F0000 */ lw $t7, ($v1) -/* 0CBF50 800CB350 87187088 */ lh $t8, %lo(D_803B7088)($t8) -/* 0CBF54 800CB354 AFBE0030 */ sw $fp, 0x30($sp) -/* 0CBF58 800CB358 03A0F025 */ move $fp, $sp -/* 0CBF5C 800CB35C 01F8001A */ div $zero, $t7, $t8 -/* 0CBF60 800CB360 0000C810 */ mfhi $t9 -/* 0CBF64 800CB364 AFBF0034 */ sw $ra, 0x34($sp) -/* 0CBF68 800CB368 AFB2002C */ sw $s2, 0x2c($sp) -/* 0CBF6C 800CB36C AFB10028 */ sw $s1, 0x28($sp) -/* 0CBF70 800CB370 AFB00024 */ sw $s0, 0x24($sp) -/* 0CBF74 800CB374 17000002 */ bnez $t8, .L800CB380 -/* 0CBF78 800CB378 00000000 */ nop -/* 0CBF7C 800CB37C 0007000D */ break 7 -.L800CB380: -/* 0CBF80 800CB380 2401FFFF */ li $at, -1 -/* 0CBF84 800CB384 17010004 */ bne $t8, $at, .L800CB398 -/* 0CBF88 800CB388 3C018000 */ lui $at, 0x8000 -/* 0CBF8C 800CB38C 15E10002 */ bne $t7, $at, .L800CB398 -/* 0CBF90 800CB390 00000000 */ nop -/* 0CBF94 800CB394 0006000D */ break 6 -.L800CB398: -/* 0CBF98 800CB398 3C04800F */ lui $a0, %hi(D_800EA3A8) # $a0, 0x800f -/* 0CBF9C 800CB39C 13200003 */ beqz $t9, .L800CB3AC -/* 0CBFA0 800CB3A0 00003025 */ move $a2, $zero -/* 0CBFA4 800CB3A4 10000114 */ b .L800CB7F8 -/* 0CBFA8 800CB3A8 00001025 */ move $v0, $zero -.L800CB3AC: -/* 0CBFAC 800CB3AC 8C84A3A8 */ lw $a0, %lo(D_800EA3A8)($a0) -/* 0CBFB0 800CB3B0 0C033630 */ jal osSendMesg -/* 0CBFB4 800CB3B4 8C650000 */ lw $a1, ($v1) -/* 0CBFB8 800CB3B8 24030003 */ li $v1, 3 -/* 0CBFBC 800CB3BC 3C04803B */ lui $a0, %hi(D_803B70C4) # $a0, 0x803b -/* 0CBFC0 800CB3C0 248470C4 */ addiu $a0, %lo(D_803B70C4) # addiu $a0, $a0, 0x70c4 -/* 0CBFC4 800CB3C4 8C8A0000 */ lw $t2, ($a0) -/* 0CBFC8 800CB3C8 3C05803B */ lui $a1, %hi(D_803B70C0) # $a1, 0x803b -/* 0CBFCC 800CB3CC 24A570C0 */ addiu $a1, %lo(D_803B70C0) # addiu $a1, $a1, 0x70c0 -/* 0CBFD0 800CB3D0 254B0001 */ addiu $t3, $t2, 1 -/* 0CBFD4 800CB3D4 0163001A */ div $zero, $t3, $v1 -/* 0CBFD8 800CB3D8 00006810 */ mfhi $t5 -/* 0CBFDC 800CB3DC 25AF0001 */ addiu $t7, $t5, 1 -/* 0CBFE0 800CB3E0 01606025 */ move $t4, $t3 -/* 0CBFE4 800CB3E4 01E3001A */ div $zero, $t7, $v1 -/* 0CBFE8 800CB3E8 8CA80000 */ lw $t0, ($a1) -/* 0CBFEC 800CB3EC AC8B0000 */ sw $t3, ($a0) -/* 0CBFF0 800CB3F0 00008010 */ mfhi $s0 -/* 0CBFF4 800CB3F4 39090001 */ xori $t1, $t0, 1 -/* 0CBFF8 800CB3F8 ACA90000 */ sw $t1, ($a1) -/* 0CBFFC 800CB3FC 14600002 */ bnez $v1, .L800CB408 -/* 0CC000 800CB400 00000000 */ nop -/* 0CC004 800CB404 0007000D */ break 7 -.L800CB408: -/* 0CC008 800CB408 2401FFFF */ li $at, -1 -/* 0CC00C 800CB40C 14610004 */ bne $v1, $at, .L800CB420 -/* 0CC010 800CB410 3C018000 */ lui $at, 0x8000 -/* 0CC014 800CB414 15810002 */ bne $t4, $at, .L800CB420 -/* 0CC018 800CB418 00000000 */ nop -/* 0CC01C 800CB41C 0006000D */ break 6 -.L800CB420: -/* 0CC020 800CB420 AC8D0000 */ sw $t5, ($a0) -/* 0CC024 800CB424 01A07025 */ move $t6, $t5 -/* 0CC028 800CB428 14600002 */ bnez $v1, .L800CB434 -/* 0CC02C 800CB42C 00000000 */ nop -/* 0CC030 800CB430 0007000D */ break 7 -.L800CB434: -/* 0CC034 800CB434 2401FFFF */ li $at, -1 -/* 0CC038 800CB438 14610004 */ bne $v1, $at, .L800CB44C -/* 0CC03C 800CB43C 3C018000 */ lui $at, 0x8000 -/* 0CC040 800CB440 15E10002 */ bne $t7, $at, .L800CB44C -/* 0CC044 800CB444 00000000 */ nop -/* 0CC048 800CB448 0006000D */ break 6 -.L800CB44C: -/* 0CC04C 800CB44C 0C034438 */ jal osAiGetLength -/* 0CC050 800CB450 00000000 */ nop -/* 0CC054 800CB454 0002C082 */ srl $t8, $v0, 2 -/* 0CC058 800CB458 0010C840 */ sll $t9, $s0, 1 -/* 0CC05C 800CB45C 3C03803B */ lui $v1, %hi(D_803B718C) # 0x803b -/* 0CC060 800CB460 AFD80074 */ sw $t8, 0x74($fp) -/* 0CC064 800CB464 00791821 */ addu $v1, $v1, $t9 -/* 0CC068 800CB468 8463718C */ lh $v1, %lo(D_803B718C)($v1) # 0x718c($v1) -/* 0CC06C 800CB46C 00104080 */ sll $t0, $s0, 2 -/* 0CC070 800CB470 3C04803B */ lui $a0, %hi(D_803B7180) # 0x803b -/* 0CC074 800CB474 10600004 */ beqz $v1, .L800CB488 -/* 0CC078 800CB478 00882021 */ addu $a0, $a0, $t0 -/* 0CC07C 800CB47C 8C847180 */ lw $a0, %lo(D_803B7180)($a0) # 0x7180($a0) -/* 0CC080 800CB480 0C03443C */ jal osAiSetNextBuffer -/* 0CC084 800CB484 00032880 */ sll $a1, $v1, 2 -.L800CB488: -/* 0CC088 800CB488 3C02803B */ lui $v0, %hi(D_803B70BC) # $v0, 0x803b -/* 0CC08C 800CB48C 8C5170BC */ lw $s1, %lo(D_803B70BC)($v0) -/* 0CC090 800CB490 3C12803B */ lui $s2, %hi(D_803B6008) # $s2, 0x803b -/* 0CC094 800CB494 26526008 */ addiu $s2, %lo(D_803B6008) # addiu $s2, $s2, 0x6008 -/* 0CC098 800CB498 1A20000D */ blez $s1, .L800CB4D0 -/* 0CC09C 800CB49C 00008025 */ move $s0, $zero -/* 0CC0A0 800CB4A0 02402025 */ move $a0, $s2 -.L800CB4A4: -/* 0CC0A4 800CB4A4 00002825 */ move $a1, $zero -/* 0CC0A8 800CB4A8 0C0335D4 */ jal osRecvMesg -/* 0CC0AC 800CB4AC 00003025 */ move $a2, $zero -/* 0CC0B0 800CB4B0 14400002 */ bnez $v0, .L800CB4BC -/* 0CC0B4 800CB4B4 3C09803B */ lui $t1, %hi(D_803B70BC) # $t1, 0x803b -/* 0CC0B8 800CB4B8 2631FFFF */ addiu $s1, $s1, -1 -.L800CB4BC: -/* 0CC0BC 800CB4BC 8D2970BC */ lw $t1, %lo(D_803B70BC)($t1) -/* 0CC0C0 800CB4C0 26100001 */ addiu $s0, $s0, 1 -/* 0CC0C4 800CB4C4 0209082A */ slt $at, $s0, $t1 -/* 0CC0C8 800CB4C8 5420FFF6 */ bnel $at, $zero, .L800CB4A4 -/* 0CC0CC 800CB4CC 02402025 */ move $a0, $s2 -.L800CB4D0: -/* 0CC0D0 800CB4D0 3C12803B */ lui $s2, %hi(D_803B6008) # $s2, 0x803b -/* 0CC0D4 800CB4D4 1220000A */ beqz $s1, .L800CB500 -/* 0CC0D8 800CB4D8 26526008 */ addiu $s2, %lo(D_803B6008) # addiu $s2, $s2, 0x6008 -/* 0CC0DC 800CB4DC 1A200008 */ blez $s1, .L800CB500 -/* 0CC0E0 800CB4E0 00008025 */ move $s0, $zero -/* 0CC0E4 800CB4E4 02402025 */ move $a0, $s2 -.L800CB4E8: -/* 0CC0E8 800CB4E8 00002825 */ move $a1, $zero -/* 0CC0EC 800CB4EC 0C0335D4 */ jal osRecvMesg -/* 0CC0F0 800CB4F0 24060001 */ li $a2, 1 -/* 0CC0F4 800CB4F4 26100001 */ addiu $s0, $s0, 1 -/* 0CC0F8 800CB4F8 5611FFFB */ bnel $s0, $s1, .L800CB4E8 -/* 0CC0FC 800CB4FC 02402025 */ move $a0, $s2 -.L800CB500: -/* 0CC100 800CB500 8E510008 */ lw $s1, 8($s2) -/* 0CC104 800CB504 1220000A */ beqz $s1, .L800CB530 -/* 0CC108 800CB508 00000000 */ nop -/* 0CC10C 800CB50C 1A200008 */ blez $s1, .L800CB530 -/* 0CC110 800CB510 00008025 */ move $s0, $zero -/* 0CC114 800CB514 02402025 */ move $a0, $s2 -.L800CB518: -/* 0CC118 800CB518 00002825 */ move $a1, $zero -/* 0CC11C 800CB51C 0C0335D4 */ jal osRecvMesg -/* 0CC120 800CB520 00003025 */ move $a2, $zero -/* 0CC124 800CB524 26100001 */ addiu $s0, $s0, 1 -/* 0CC128 800CB528 5611FFFB */ bnel $s0, $s1, .L800CB518 -/* 0CC12C 800CB52C 02402025 */ move $a0, $s2 -.L800CB530: -/* 0CC130 800CB530 3C01803B */ lui $at, %hi(D_803B70BC) # $at, 0x803b -/* 0CC134 800CB534 0C02EB01 */ jal func_800BAC04 -/* 0CC138 800CB538 AC2070BC */ sw $zero, %lo(D_803B70BC)($at) -/* 0CC13C 800CB53C 3C04800F */ lui $a0, %hi(D_800EA3B0) # $a0, 0x800f -/* 0CC140 800CB540 8C84A3B0 */ lw $a0, %lo(D_800EA3B0)($a0) -/* 0CC144 800CB544 27C50058 */ addiu $a1, $fp, 0x58 -/* 0CC148 800CB548 0C0335D4 */ jal osRecvMesg -/* 0CC14C 800CB54C 00003025 */ move $a2, $zero -/* 0CC150 800CB550 2401FFFF */ li $at, -1 -/* 0CC154 800CB554 10410007 */ beq $v0, $at, .L800CB574 -/* 0CC158 800CB558 3C10803B */ lui $s0, %hi(D_803B0500) # $s0, 0x803b -/* 0CC15C 800CB55C 8FCA0058 */ lw $t2, 0x58($fp) -/* 0CC160 800CB560 3C01803B */ lui $at, %hi(D_803B0501) # $at, 0x803b -/* 0CC164 800CB564 26100500 */ addiu $s0, %lo(D_803B0500) # addiu $s0, $s0, 0x500 -/* 0CC168 800CB568 240B0005 */ li $t3, 5 -/* 0CC16C 800CB56C A02A0501 */ sb $t2, %lo(D_803B0501)($at) -/* 0CC170 800CB570 A20B0000 */ sb $t3, ($s0) -.L800CB574: -/* 0CC174 800CB574 3C10803B */ lui $s0, %hi(D_803B0500) # $s0, 0x803b -/* 0CC178 800CB578 26100500 */ addiu $s0, %lo(D_803B0500) # addiu $s0, $s0, 0x500 -/* 0CC17C 800CB57C 920C0000 */ lbu $t4, ($s0) -/* 0CC180 800CB580 1180000F */ beqz $t4, .L800CB5C0 -/* 0CC184 800CB584 00000000 */ nop -/* 0CC188 800CB588 0C02E803 */ jal func_800BA00C -/* 0CC18C 800CB58C 00000000 */ nop -/* 0CC190 800CB590 1440000B */ bnez $v0, .L800CB5C0 -/* 0CC194 800CB594 00000000 */ nop -/* 0CC198 800CB598 920D0000 */ lbu $t5, ($s0) -/* 0CC19C 800CB59C 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f -/* 0CC1A0 800CB5A0 3C05803B */ lui $a1, %hi(D_803B0501) # $a1, 0x803b -/* 0CC1A4 800CB5A4 15A00004 */ bnez $t5, .L800CB5B8 -/* 0CC1A8 800CB5A8 00003025 */ move $a2, $zero -/* 0CC1AC 800CB5AC 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0) -/* 0CC1B0 800CB5B0 0C033630 */ jal osSendMesg -/* 0CC1B4 800CB5B4 90A50501 */ lbu $a1, %lo(D_803B0501)($a1) -.L800CB5B8: -/* 0CC1B8 800CB5B8 1000008F */ b .L800CB7F8 -/* 0CC1BC 800CB5BC 00001025 */ move $v0, $zero -.L800CB5C0: -/* 0CC1C0 800CB5C0 3C02803B */ lui $v0, %hi(D_803B70C0) # $v0, 0x803b -/* 0CC1C4 800CB5C4 8C4270C0 */ lw $v0, %lo(D_803B70C0)($v0) -/* 0CC1C8 800CB5C8 3C0F803B */ lui $t7, %hi(D_803B70D8) # $t7, 0x803b -/* 0CC1CC 800CB5CC 3C12803B */ lui $s2, %hi(D_803B70D4) # $s2, 0x803b -/* 0CC1D0 800CB5D0 00027080 */ sll $t6, $v0, 2 -/* 0CC1D4 800CB5D4 01C27021 */ addu $t6, $t6, $v0 -/* 0CC1D8 800CB5D8 000E7100 */ sll $t6, $t6, 4 -/* 0CC1DC 800CB5DC 25EF70D8 */ addiu $t7, %lo(D_803B70D8) # addiu $t7, $t7, 0x70d8 -/* 0CC1E0 800CB5E0 265270D4 */ addiu $s2, %lo(D_803B70D4) # addiu $s2, $s2, 0x70d4 -/* 0CC1E4 800CB5E4 01CFC021 */ addu $t8, $t6, $t7 -/* 0CC1E8 800CB5E8 AE580000 */ sw $t8, ($s2) -/* 0CC1EC 800CB5EC 3C08803B */ lui $t0, %hi(D_803B70C8) # 0x803b -/* 0CC1F0 800CB5F0 3C10803B */ lui $s0, %hi(D_803B70C4) # $s0, 0x803b -/* 0CC1F4 800CB5F4 0002C880 */ sll $t9, $v0, 2 -/* 0CC1F8 800CB5F8 8E1070C4 */ lw $s0, %lo(D_803B70C4)($s0) -/* 0CC1FC 800CB5FC 01194021 */ addu $t0, $t0, $t9 -/* 0CC200 800CB600 8D0870C8 */ lw $t0, %lo(D_803B70C8)($t0) # 0x70c8($t0) -/* 0CC204 800CB604 3C0A803B */ lui $t2, %hi(D_803B7180) # $t2, 0x803b -/* 0CC208 800CB608 3C01803B */ lui $at, %hi(D_803B70D0) # $at, 0x803b -/* 0CC20C 800CB60C 254A7180 */ addiu $t2, %lo(D_803B7180) # addiu $t2, $t2, 0x7180 -/* 0CC210 800CB610 00104880 */ sll $t1, $s0, 2 -/* 0CC214 800CB614 012A3821 */ addu $a3, $t1, $t2 -/* 0CC218 800CB618 AC2870D0 */ sw $t0, %lo(D_803B70D0)($at) -/* 0CC21C 800CB61C 8CEB0000 */ lw $t3, ($a3) -/* 0CC220 800CB620 3C05803B */ lui $a1, %hi(D_803B7088) # $a1, 0x803b -/* 0CC224 800CB624 24A57088 */ addiu $a1, %lo(D_803B7088) # addiu $a1, $a1, 0x7088 -/* 0CC228 800CB628 AFCB0060 */ sw $t3, 0x60($fp) -/* 0CC22C 800CB62C 84AE0006 */ lh $t6, 6($a1) -/* 0CC230 800CB630 8FCF0074 */ lw $t7, 0x74($fp) -/* 0CC234 800CB634 3C0D803B */ lui $t5, %hi(D_803B718C) # $t5, 0x803b -/* 0CC238 800CB638 25AD718C */ addiu $t5, %lo(D_803B718C) # addiu $t5, $t5, 0x718c -/* 0CC23C 800CB63C 01CFC023 */ subu $t8, $t6, $t7 -/* 0CC240 800CB640 27190040 */ addiu $t9, $t8, 0x40 -/* 0CC244 800CB644 3328FFF0 */ andi $t0, $t9, 0xfff0 -/* 0CC248 800CB648 00106040 */ sll $t4, $s0, 1 -/* 0CC24C 800CB64C 018D8821 */ addu $s1, $t4, $t5 -/* 0CC250 800CB650 25090010 */ addiu $t1, $t0, 0x10 -/* 0CC254 800CB654 A6290000 */ sh $t1, ($s1) -/* 0CC258 800CB658 86230000 */ lh $v1, ($s1) -/* 0CC25C 800CB65C 84A4000A */ lh $a0, 0xa($a1) -/* 0CC260 800CB660 00003025 */ move $a2, $zero -/* 0CC264 800CB664 0064082A */ slt $at, $v1, $a0 -/* 0CC268 800CB668 50200004 */ beql $at, $zero, .L800CB67C -/* 0CC26C 800CB66C 84A20008 */ lh $v0, 8($a1) -/* 0CC270 800CB670 A6240000 */ sh $a0, ($s1) -/* 0CC274 800CB674 86230000 */ lh $v1, ($s1) -/* 0CC278 800CB678 84A20008 */ lh $v0, 8($a1) -.L800CB67C: -/* 0CC27C 800CB67C 27C50054 */ addiu $a1, $fp, 0x54 -/* 0CC280 800CB680 3C04800F */ lui $a0, %hi(D_800EA3AC) # $a0, 0x800f -/* 0CC284 800CB684 0043082A */ slt $at, $v0, $v1 -/* 0CC288 800CB688 10200002 */ beqz $at, .L800CB694 -/* 0CC28C 800CB68C 00000000 */ nop -/* 0CC290 800CB690 A6220000 */ sh $v0, ($s1) -.L800CB694: -/* 0CC294 800CB694 8C84A3AC */ lw $a0, %lo(D_800EA3AC)($a0) -/* 0CC298 800CB698 0C0335D4 */ jal osRecvMesg -/* 0CC29C 800CB69C AFC70040 */ sw $a3, 0x40($fp) -/* 0CC2A0 800CB6A0 3C10803B */ lui $s0, %hi(D_803B70D0) # $s0, 0x803b -/* 0CC2A4 800CB6A4 2401FFFF */ li $at, -1 -/* 0CC2A8 800CB6A8 10410003 */ beq $v0, $at, .L800CB6B8 -/* 0CC2AC 800CB6AC 261070D0 */ addiu $s0, %lo(D_803B70D0) # addiu $s0, $s0, 0x70d0 -/* 0CC2B0 800CB6B0 0C032F2C */ jal func_800CBCB0 -/* 0CC2B4 800CB6B4 8FC40054 */ lw $a0, 0x54($fp) -.L800CB6B8: -/* 0CC2B8 800CB6B8 8E040000 */ lw $a0, ($s0) -/* 0CC2BC 800CB6BC 27C50070 */ addiu $a1, $fp, 0x70 -/* 0CC2C0 800CB6C0 8FC60060 */ lw $a2, 0x60($fp) -/* 0CC2C4 800CB6C4 0C02DC3B */ jal func_800B70EC -/* 0CC2C8 800CB6C8 86270000 */ lh $a3, ($s1) -/* 0CC2CC 800CB6CC 0C034468 */ jal osGetCount -/* 0CC2D0 800CB6D0 AE020000 */ sw $v0, ($s0) -/* 0CC2D4 800CB6D4 3C04803B */ lui $a0, %hi(D_803B7194) # $a0, 0x803b -/* 0CC2D8 800CB6D8 3C07803B */ lui $a3, %hi(D_803B70B8) # $a3, 0x803b -/* 0CC2DC 800CB6DC 24E770B8 */ addiu $a3, %lo(D_803B70B8) # addiu $a3, $a3, 0x70b8 -/* 0CC2E0 800CB6E0 24847194 */ addiu $a0, %lo(D_803B7194) # addiu $a0, $a0, 0x7194 -/* 0CC2E4 800CB6E4 8C8A0000 */ lw $t2, ($a0) -/* 0CC2E8 800CB6E8 8CEB0000 */ lw $t3, ($a3) -/* 0CC2EC 800CB6EC 8CF80000 */ lw $t8, ($a3) -/* 0CC2F0 800CB6F0 3C10803B */ lui $s0, %hi(D_803B70C0) # $s0, 0x803b -/* 0CC2F4 800CB6F4 014B6021 */ addu $t4, $t2, $t3 -/* 0CC2F8 800CB6F8 004C0019 */ multu $v0, $t4 -/* 0CC2FC 800CB6FC 331900FF */ andi $t9, $t8, 0xff -/* 0CC300 800CB700 00194040 */ sll $t0, $t9, 1 -/* 0CC304 800CB704 3C06800F */ lui $a2, %hi(aspMainDataStart) # $a2, 0x800f -/* 0CC308 800CB708 24C64D00 */ addiu $a2, %lo(aspMainDataStart) # addiu $a2, $a2, 0x4d00 -/* 0CC30C 800CB70C 3C05800E */ lui $a1, %hi(rspbootTextStart) # $a1, 0x800e -/* 0CC310 800CB710 24180002 */ li $t8, 2 -/* 0CC314 800CB714 3C19800E */ lui $t9, %hi(rspbootTextEnd) # $t9, 0x800e -/* 0CC318 800CB718 24A58F70 */ addiu $a1, %lo(rspbootTextStart) # addiu $a1, $a1, -0x7090 -/* 0CC31C 800CB71C 27399040 */ addiu $t9, %lo(rspbootTextEnd) # addiu $t9, $t9, -0x6fc0 -/* 0CC320 800CB720 00006812 */ mflo $t5 -/* 0CC324 800CB724 AC8D0000 */ sw $t5, ($a0) -/* 0CC328 800CB728 8FCE0040 */ lw $t6, 0x40($fp) -/* 0CC32C 800CB72C 8C8B0000 */ lw $t3, ($a0) -/* 0CC330 800CB730 8E4D0000 */ lw $t5, ($s2) -/* 0CC334 800CB734 8DCF0000 */ lw $t7, ($t6) -/* 0CC338 800CB738 01E84821 */ addu $t1, $t7, $t0 -/* 0CC33C 800CB73C 852A0000 */ lh $t2, ($t1) -/* 0CC340 800CB740 3C08800E */ lui $t0, %hi(aspMainTextStart) # $t0, 0x800e -/* 0CC344 800CB744 03257823 */ subu $t7, $t9, $a1 -/* 0CC348 800CB748 014B6021 */ addu $t4, $t2, $t3 -/* 0CC34C 800CB74C AC8C0000 */ sw $t4, ($a0) -/* 0CC350 800CB750 8E1070C0 */ lw $s0, %lo(D_803B70C0)($s0) -/* 0CC354 800CB754 ADA00040 */ sw $zero, 0x40($t5) -/* 0CC358 800CB758 8E4E0000 */ lw $t6, ($s2) -/* 0CC35C 800CB75C 3C0A800F */ lui $t2, %hi(aspMainDataEnd) # $t2, 0x800f -/* 0CC360 800CB760 254A5000 */ addiu $t2, %lo(aspMainDataEnd) # addiu $t2, $t2, 0x5000 -/* 0CC364 800CB764 ADC00044 */ sw $zero, 0x44($t6) -/* 0CC368 800CB768 8E430000 */ lw $v1, ($s2) -/* 0CC36C 800CB76C 01465823 */ subu $t3, $t2, $a2 -/* 0CC370 800CB770 000B60C3 */ sra $t4, $t3, 3 -/* 0CC374 800CB774 AC780000 */ sw $t8, ($v1) -/* 0CC378 800CB778 2508B830 */ addiu $t0, %lo(aspMainTextStart) # addiu $t0, $t0, -0x47d0 -/* 0CC37C 800CB77C 24091000 */ li $t1, 4096 -/* 0CC380 800CB780 000C68C0 */ sll $t5, $t4, 3 -/* 0CC384 800CB784 3C18803B */ lui $t8, %hi(D_803B70C8) # 0x803b -/* 0CC388 800CB788 00107080 */ sll $t6, $s0, 2 -/* 0CC38C 800CB78C 030EC021 */ addu $t8, $t8, $t6 -/* 0CC390 800CB790 AC600004 */ sw $zero, 4($v1) -/* 0CC394 800CB794 AC650008 */ sw $a1, 8($v1) -/* 0CC398 800CB798 AC6F000C */ sw $t7, 0xc($v1) -/* 0CC39C 800CB79C AC680010 */ sw $t0, 0x10($v1) -/* 0CC3A0 800CB7A0 AC660018 */ sw $a2, 0x18($v1) -/* 0CC3A4 800CB7A4 AC690014 */ sw $t1, 0x14($v1) -/* 0CC3A8 800CB7A8 AC6D001C */ sw $t5, 0x1c($v1) -/* 0CC3AC 800CB7AC AC600020 */ sw $zero, 0x20($v1) -/* 0CC3B0 800CB7B0 AC600024 */ sw $zero, 0x24($v1) -/* 0CC3B4 800CB7B4 AC600028 */ sw $zero, 0x28($v1) -/* 0CC3B8 800CB7B8 AC60002C */ sw $zero, 0x2c($v1) -/* 0CC3BC 800CB7BC 8F1870C8 */ lw $t8, %lo(D_803B70C8)($t8) # 0x70c8($t8) -/* 0CC3C0 800CB7C0 3C08800F */ lui $t0, %hi(D_800EA484) # $t0, 0x800f -/* 0CC3C4 800CB7C4 AC780030 */ sw $t8, 0x30($v1) -/* 0CC3C8 800CB7C8 8FD90070 */ lw $t9, 0x70($fp) -/* 0CC3CC 800CB7CC AC600038 */ sw $zero, 0x38($v1) -/* 0CC3D0 800CB7D0 AC60003C */ sw $zero, 0x3c($v1) -/* 0CC3D4 800CB7D4 001978C0 */ sll $t7, $t9, 3 -/* 0CC3D8 800CB7D8 AC6F0034 */ sw $t7, 0x34($v1) -/* 0CC3DC 800CB7DC 8FC90070 */ lw $t1, 0x70($fp) -/* 0CC3E0 800CB7E0 8D08A484 */ lw $t0, %lo(D_800EA484)($t0) -/* 0CC3E4 800CB7E4 0109082A */ slt $at, $t0, $t1 -/* 0CC3E8 800CB7E8 10200002 */ beqz $at, .L800CB7F4 -/* 0CC3EC 800CB7EC 3C01800F */ lui $at, %hi(D_800EA484) # $at, 0x800f -/* 0CC3F0 800CB7F0 AC29A484 */ sw $t1, %lo(D_800EA484)($at) -.L800CB7F4: -/* 0CC3F4 800CB7F4 8E420000 */ lw $v0, ($s2) -.L800CB7F8: -/* 0CC3F8 800CB7F8 8FDF0034 */ lw $ra, 0x34($fp) -/* 0CC3FC 800CB7FC 03C0E825 */ move $sp, $fp -/* 0CC400 800CB800 8FD00024 */ lw $s0, 0x24($fp) -/* 0CC404 800CB804 8FD10028 */ lw $s1, 0x28($fp) -/* 0CC408 800CB808 8FD2002C */ lw $s2, 0x2c($fp) -/* 0CC40C 800CB80C 8FDE0030 */ lw $fp, 0x30($fp) -/* 0CC410 800CB810 03E00008 */ jr $ra -/* 0CC414 800CB814 27BD0078 */ addiu $sp, $sp, 0x78 - -glabel func_800CB818 -/* 0CC418 800CB818 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CC41C 800CB81C AFBF002C */ sw $ra, 0x2c($sp) -/* 0CC420 800CB820 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CC424 800CB824 90820000 */ lbu $v0, ($a0) -/* 0CC428 800CB828 24010081 */ li $at, 129 -/* 0CC42C 800CB82C 03A0F025 */ move $fp, $sp -/* 0CC430 800CB830 10410014 */ beq $v0, $at, .L800CB884 -/* 0CC434 800CB834 00803825 */ move $a3, $a0 -/* 0CC438 800CB838 24010082 */ li $at, 130 -/* 0CC43C 800CB83C 10410016 */ beq $v0, $at, .L800CB898 -/* 0CC440 800CB840 24010083 */ li $at, 131 -/* 0CC444 800CB844 1041001F */ beq $v0, $at, .L800CB8C4 -/* 0CC448 800CB848 24010088 */ li $at, 136 -/* 0CC44C 800CB84C 10410012 */ beq $v0, $at, .L800CB898 -/* 0CC450 800CB850 240100F0 */ li $at, 240 -/* 0CC454 800CB854 10410033 */ beq $v0, $at, .L800CB924 -/* 0CC458 800CB858 240100F1 */ li $at, 241 -/* 0CC45C 800CB85C 10410035 */ beq $v0, $at, .L800CB934 -/* 0CC460 800CB860 3C03803B */ lui $v1, %hi(D_803B1658) # 0x803b -/* 0CC464 800CB864 240100F2 */ li $at, 242 -/* 0CC468 800CB868 10410046 */ beq $v0, $at, .L800CB984 -/* 0CC46C 800CB86C 3C03803B */ lui $v1, %hi(D_803B1658) # $v1, 0x803b -/* 0CC470 800CB870 240100F3 */ li $at, 243 -/* 0CC474 800CB874 5041005C */ beql $v0, $at, .L800CB9E8 -/* 0CC478 800CB878 90E40001 */ lbu $a0, 1($a3) -/* 0CC47C 800CB87C 1000005E */ b .L800CB9F8 -/* 0CC480 800CB880 8FDF002C */ lw $ra, 0x2c($fp) -.L800CB884: -/* 0CC484 800CB884 90E40002 */ lbu $a0, 2($a3) -/* 0CC488 800CB888 0C02EF77 */ jal func_800BBDDC -/* 0CC48C 800CB88C 24050003 */ li $a1, 3 -/* 0CC490 800CB890 10000059 */ b .L800CB9F8 -/* 0CC494 800CB894 8FDF002C */ lw $ra, 0x2c($fp) -.L800CB898: -/* 0CC498 800CB898 90E40001 */ lbu $a0, 1($a3) -/* 0CC49C 800CB89C 90E50002 */ lbu $a1, 2($a3) -/* 0CC4A0 800CB8A0 90E60003 */ lbu $a2, 3($a3) -/* 0CC4A4 800CB8A4 0C02EFBC */ jal func_800BBEF0 -/* 0CC4A8 800CB8A8 AFC70030 */ sw $a3, 0x30($fp) -/* 0CC4AC 800CB8AC 8FC70030 */ lw $a3, 0x30($fp) -/* 0CC4B0 800CB8B0 90E40001 */ lbu $a0, 1($a3) -/* 0CC4B4 800CB8B4 0C032E99 */ jal func_800CBA64 -/* 0CC4B8 800CB8B8 8CE50004 */ lw $a1, 4($a3) -/* 0CC4BC 800CB8BC 1000004E */ b .L800CB9F8 -/* 0CC4C0 800CB8C0 8FDF002C */ lw $ra, 0x2c($fp) -.L800CB8C4: -/* 0CC4C4 800CB8C4 90E20001 */ lbu $v0, 1($a3) -/* 0CC4C8 800CB8C8 3C0F803B */ lui $t7, %hi(D_803B1510) # $t7, 0x803b -/* 0CC4CC 800CB8CC 25EF1510 */ addiu $t7, %lo(D_803B1510) # addiu $t7, $t7, 0x1510 -/* 0CC4D0 800CB8D0 00027080 */ sll $t6, $v0, 2 -/* 0CC4D4 800CB8D4 01C27021 */ addu $t6, $t6, $v0 -/* 0CC4D8 800CB8D8 000E70C0 */ sll $t6, $t6, 3 -/* 0CC4DC 800CB8DC 01C27021 */ addu $t6, $t6, $v0 -/* 0CC4E0 800CB8E0 000E70C0 */ sll $t6, $t6, 3 -/* 0CC4E4 800CB8E4 01CF2021 */ addu $a0, $t6, $t7 -/* 0CC4E8 800CB8E8 8C980000 */ lw $t8, ($a0) -/* 0CC4EC 800CB8EC 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0CC4F0 800CB8F0 53200041 */ beql $t9, $zero, .L800CB9F8 -/* 0CC4F4 800CB8F4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CC4F8 800CB8F8 8CE50004 */ lw $a1, 4($a3) -/* 0CC4FC 800CB8FC 14A00005 */ bnez $a1, .L800CB914 -/* 0CC500 800CB900 00000000 */ nop -/* 0CC504 800CB904 0C02FBCB */ jal func_800BEF2C -/* 0CC508 800CB908 00000000 */ nop -/* 0CC50C 800CB90C 1000003A */ b .L800CB9F8 -/* 0CC510 800CB910 8FDF002C */ lw $ra, 0x2c($fp) -.L800CB914: -/* 0CC514 800CB914 0C032E82 */ jal func_800CBA08 -/* 0CC518 800CB918 00402025 */ move $a0, $v0 -/* 0CC51C 800CB91C 10000036 */ b .L800CB9F8 -/* 0CC520 800CB920 8FDF002C */ lw $ra, 0x2c($fp) -.L800CB924: -/* 0CC524 800CB924 8CE80004 */ lw $t0, 4($a3) -/* 0CC528 800CB928 3C01803B */ lui $at, %hi(D_803B70B6) # $at, 0x803b -/* 0CC52C 800CB92C 10000031 */ b .L800CB9F4 -/* 0CC530 800CB930 A02870B6 */ sb $t0, %lo(D_803B70B6)($at) -.L800CB934: -/* 0CC534 800CB934 3C02803B */ lui $v0, %hi(D_803B1510) # $v0, 0x803b -/* 0CC538 800CB938 904B1510 */ lbu $t3, %lo(D_803B1510)($v0) -/* 0CC53C 800CB93C 90681658 */ lbu $t0, %lo(D_803B1658)($v1) -/* 0CC540 800CB940 3C04803B */ lui $a0, %hi(D_803B17A0) # $a0, 0x803b -/* 0CC544 800CB944 3C05803B */ lui $a1, %hi(D_803B18E8) # $a1, 0x803b -/* 0CC548 800CB948 90AA18E8 */ lbu $t2, %lo(D_803B18E8)($a1) -/* 0CC54C 800CB94C 908E17A0 */ lbu $t6, %lo(D_803B17A0)($a0) -/* 0CC550 800CB950 3C01803B */ lui $at, %hi(D_803B1510) # $at, 0x803b -/* 0CC554 800CB954 35620024 */ ori $v0, $t3, 0x24 -/* 0CC558 800CB958 A0221510 */ sb $v0, %lo(D_803B1510)($at) -/* 0CC55C 800CB95C 3C01803B */ lui $at, %hi(D_803B1658) # $at, 0x803b -/* 0CC560 800CB960 35030024 */ ori $v1, $t0, 0x24 -/* 0CC564 800CB964 A0231658 */ sb $v1, %lo(D_803B1658)($at) -/* 0CC568 800CB968 3C01803B */ lui $at, %hi(D_803B17A0) # $at, 0x803b -/* 0CC56C 800CB96C 35D80024 */ ori $t8, $t6, 0x24 -/* 0CC570 800CB970 A03817A0 */ sb $t8, %lo(D_803B17A0)($at) -/* 0CC574 800CB974 3C01803B */ lui $at, %hi(D_803B18E8) # $at, 0x803b -/* 0CC578 800CB978 354C0024 */ ori $t4, $t2, 0x24 -/* 0CC57C 800CB97C 1000001D */ b .L800CB9F4 -/* 0CC580 800CB980 A02C18E8 */ sb $t4, %lo(D_803B18E8)($at) -.L800CB984: -/* 0CC584 800CB984 3C02803B */ lui $v0, %hi(D_803B1510) # $v0, 0x803b -/* 0CC588 800CB988 90421510 */ lbu $v0, %lo(D_803B1510)($v0) -/* 0CC58C 800CB98C 90631658 */ lbu $v1, %lo(D_803B1658)($v1) -/* 0CC590 800CB990 3C04803B */ lui $a0, %hi(D_803B17A0) # $a0, 0x803b -/* 0CC594 800CB994 908417A0 */ lbu $a0, %lo(D_803B17A0)($a0) -/* 0CC598 800CB998 3C05803B */ lui $a1, %hi(D_803B18E8) # $a1, 0x803b -/* 0CC59C 800CB99C 304FFFDF */ andi $t7, $v0, 0xffdf -/* 0CC5A0 800CB9A0 90A518E8 */ lbu $a1, %lo(D_803B18E8)($a1) -/* 0CC5A4 800CB9A4 3C01803B */ lui $at, %hi(D_803B1510) # $at, 0x803b -/* 0CC5A8 800CB9A8 35E20004 */ ori $v0, $t7, 4 -/* 0CC5AC 800CB9AC A0221510 */ sb $v0, %lo(D_803B1510)($at) -/* 0CC5B0 800CB9B0 306AFFDF */ andi $t2, $v1, 0xffdf -/* 0CC5B4 800CB9B4 35430004 */ ori $v1, $t2, 4 -/* 0CC5B8 800CB9B8 3C01803B */ lui $at, %hi(D_803B1658) # $at, 0x803b -/* 0CC5BC 800CB9BC A0231658 */ sb $v1, %lo(D_803B1658)($at) -/* 0CC5C0 800CB9C0 308FFFDF */ andi $t7, $a0, 0xffdf -/* 0CC5C4 800CB9C4 35F90004 */ ori $t9, $t7, 4 -/* 0CC5C8 800CB9C8 3C01803B */ lui $at, %hi(D_803B17A0) # $at, 0x803b -/* 0CC5CC 800CB9CC A03917A0 */ sb $t9, %lo(D_803B17A0)($at) -/* 0CC5D0 800CB9D0 30AAFFDF */ andi $t2, $a1, 0xffdf -/* 0CC5D4 800CB9D4 354C0004 */ ori $t4, $t2, 4 -/* 0CC5D8 800CB9D8 3C01803B */ lui $at, %hi(D_803B18E8) # $at, 0x803b -/* 0CC5DC 800CB9DC 10000005 */ b .L800CB9F4 -/* 0CC5E0 800CB9E0 A02C18E8 */ sb $t4, %lo(D_803B18E8)($at) -/* 0CC5E4 800CB9E4 90E40001 */ lbu $a0, 1($a3) -.L800CB9E8: -/* 0CC5E8 800CB9E8 90E50002 */ lbu $a1, 2($a3) -/* 0CC5EC 800CB9EC 0C02ECE2 */ jal func_800BB388 -/* 0CC5F0 800CB9F0 90E60003 */ lbu $a2, 3($a3) -.L800CB9F4: -/* 0CC5F4 800CB9F4 8FDF002C */ lw $ra, 0x2c($fp) -.L800CB9F8: -/* 0CC5F8 800CB9F8 03C0E825 */ move $sp, $fp -/* 0CC5FC 800CB9FC 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CC600 800CBA00 03E00008 */ jr $ra -/* 0CC604 800CBA04 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CBA08 -/* 0CC608 800CBA08 14A00002 */ bnez $a1, .L800CBA14 -/* 0CC60C 800CBA0C 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0CC610 800CBA10 24050001 */ li $a1, 1 -.L800CBA14: -/* 0CC614 800CBA14 44853000 */ mtc1 $a1, $f6 -/* 0CC618 800CBA18 00047080 */ sll $t6, $a0, 2 -/* 0CC61C 800CBA1C 01C47021 */ addu $t6, $t6, $a0 -/* 0CC620 800CBA20 000E70C0 */ sll $t6, $t6, 3 -/* 0CC624 800CBA24 46803220 */ cvt.s.w $f8, $f6 -/* 0CC628 800CBA28 01C47021 */ addu $t6, $t6, $a0 -/* 0CC62C 800CBA2C 3C0F803B */ lui $t7, %hi(D_803B1510) # $t7, 0x803b -/* 0CC630 800CBA30 25EF1510 */ addiu $t7, %lo(D_803B1510) # addiu $t7, $t7, 0x1510 -/* 0CC634 800CBA34 000E70C0 */ sll $t6, $t6, 3 -/* 0CC638 800CBA38 01CF1021 */ addu $v0, $t6, $t7 -/* 0CC63C 800CBA3C C4440018 */ lwc1 $f4, 0x18($v0) -/* 0CC640 800CBA40 24180002 */ li $t8, 2 -/* 0CC644 800CBA44 01A0E825 */ move $sp, $t5 -/* 0CC648 800CBA48 46082283 */ div.s $f10, $f4, $f8 -/* 0CC64C 800CBA4C A0580001 */ sb $t8, 1($v0) -/* 0CC650 800CBA50 A4450010 */ sh $a1, 0x10($v0) -/* 0CC654 800CBA54 25BD0010 */ addiu $sp, $t5, 0x10 -/* 0CC658 800CBA58 46005407 */ neg.s $f16, $f10 -/* 0CC65C 800CBA5C 03E00008 */ jr $ra -/* 0CC660 800CBA60 E450001C */ swc1 $f16, 0x1c($v0) - -glabel func_800CBA64 -/* 0CC664 800CBA64 10A00010 */ beqz $a1, .L800CBAA8 -/* 0CC668 800CBA68 27ADFFF0 */ addiu $t5, $sp, -0x10 -/* 0CC66C 800CBA6C 00047080 */ sll $t6, $a0, 2 -/* 0CC670 800CBA70 01C47021 */ addu $t6, $t6, $a0 -/* 0CC674 800CBA74 000E70C0 */ sll $t6, $t6, 3 -/* 0CC678 800CBA78 01C47021 */ addu $t6, $t6, $a0 -/* 0CC67C 800CBA7C 3C0F803B */ lui $t7, %hi(D_803B1510) # $t7, 0x803b -/* 0CC680 800CBA80 25EF1510 */ addiu $t7, %lo(D_803B1510) # addiu $t7, $t7, 0x1510 -/* 0CC684 800CBA84 000E70C0 */ sll $t6, $t6, 3 -/* 0CC688 800CBA88 01CF1021 */ addu $v0, $t6, $t7 -/* 0CC68C 800CBA8C 44800000 */ mtc1 $zero, $f0 -/* 0CC690 800CBA90 24180001 */ li $t8, 1 -/* 0CC694 800CBA94 A0580001 */ sb $t8, 1($v0) -/* 0CC698 800CBA98 A4450012 */ sh $a1, 0x12($v0) -/* 0CC69C 800CBA9C A4450010 */ sh $a1, 0x10($v0) -/* 0CC6A0 800CBAA0 E4400018 */ swc1 $f0, 0x18($v0) -/* 0CC6A4 800CBAA4 E440001C */ swc1 $f0, 0x1c($v0) -.L800CBAA8: -/* 0CC6A8 800CBAA8 01A0E825 */ move $sp, $t5 -/* 0CC6AC 800CBAAC 03E00008 */ jr $ra -/* 0CC6B0 800CBAB0 25BD0010 */ addiu $sp, $t5, 0x10 - -glabel func_800CBAB4 -/* 0CC6B4 800CBAB4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CC6B8 800CBAB8 3C01800F */ lui $at, %hi(D_800EA3A0) # $at, 0x800f -/* 0CC6BC 800CBABC A020A3A0 */ sb $zero, %lo(D_800EA3A0)($at) -/* 0CC6C0 800CBAC0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CC6C4 800CBAC4 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CC6C8 800CBAC8 3C01800F */ lui $at, %hi(D_800EA3A4) # $at, 0x800f -/* 0CC6CC 800CBACC 3C04800F */ lui $a0, %hi(D_800EA3A8) # $a0, 0x800f -/* 0CC6D0 800CBAD0 3C058019 */ lui $a1, %hi(D_80194020) # $a1, 0x8019 -/* 0CC6D4 800CBAD4 03A0F025 */ move $fp, $sp -/* 0CC6D8 800CBAD8 A020A3A4 */ sb $zero, %lo(D_800EA3A4)($at) -/* 0CC6DC 800CBADC 24A54020 */ addiu $a1, %lo(D_80194020) # addiu $a1, $a1, 0x4020 -/* 0CC6E0 800CBAE0 8C84A3A8 */ lw $a0, %lo(D_800EA3A8)($a0) -/* 0CC6E4 800CBAE4 0C033358 */ jal osCreateMesgQueue -/* 0CC6E8 800CBAE8 24060001 */ li $a2, 1 -/* 0CC6EC 800CBAEC 3C04800F */ lui $a0, %hi(D_800EA3AC) # $a0, 0x800f -/* 0CC6F0 800CBAF0 3C058019 */ lui $a1, %hi(D_80194028) # $a1, 0x8019 -/* 0CC6F4 800CBAF4 24A54028 */ addiu $a1, %lo(D_80194028) # addiu $a1, $a1, 0x4028 -/* 0CC6F8 800CBAF8 8C84A3AC */ lw $a0, %lo(D_800EA3AC)($a0) -/* 0CC6FC 800CBAFC 0C033358 */ jal osCreateMesgQueue -/* 0CC700 800CBB00 24060004 */ li $a2, 4 -/* 0CC704 800CBB04 3C04800F */ lui $a0, %hi(D_800EA3B0) # $a0, 0x800f -/* 0CC708 800CBB08 3C058019 */ lui $a1, %hi(D_80194038) # $a1, 0x8019 -/* 0CC70C 800CBB0C 24A54038 */ addiu $a1, %lo(D_80194038) # addiu $a1, $a1, 0x4038 -/* 0CC710 800CBB10 8C84A3B0 */ lw $a0, %lo(D_800EA3B0)($a0) -/* 0CC714 800CBB14 0C033358 */ jal osCreateMesgQueue -/* 0CC718 800CBB18 24060001 */ li $a2, 1 -/* 0CC71C 800CBB1C 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f -/* 0CC720 800CBB20 3C058019 */ lui $a1, %hi(D_8019403C) # $a1, 0x8019 -/* 0CC724 800CBB24 24A5403C */ addiu $a1, %lo(D_8019403C) # addiu $a1, $a1, 0x403c -/* 0CC728 800CBB28 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0) -/* 0CC72C 800CBB2C 0C033358 */ jal osCreateMesgQueue -/* 0CC730 800CBB30 24060001 */ li $a2, 1 -/* 0CC734 800CBB34 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CC738 800CBB38 03C0E825 */ move $sp, $fp -/* 0CC73C 800CBB3C 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CC740 800CBB40 03E00008 */ jr $ra -/* 0CC744 800CBB44 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CBB48 -/* 0CC748 800CBB48 3C03800F */ lui $v1, %hi(D_800EA3A0) # $v1, 0x800f -/* 0CC74C 800CBB4C 2463A3A0 */ addiu $v1, %lo(D_800EA3A0) # addiu $v1, $v1, -0x5c60 -/* 0CC750 800CBB50 906F0000 */ lbu $t7, ($v1) -/* 0CC754 800CBB54 3C198019 */ lui $t9, %hi(D_80193820) # $t9, 0x8019 -/* 0CC758 800CBB58 27393820 */ addiu $t9, %lo(D_80193820) # addiu $t9, $t9, 0x3820 -/* 0CC75C 800CBB5C 000FC0C0 */ sll $t8, $t7, 3 -/* 0CC760 800CBB60 03191021 */ addu $v0, $t8, $t9 -/* 0CC764 800CBB64 AC440000 */ sw $a0, ($v0) -/* 0CC768 800CBB68 8CA80000 */ lw $t0, ($a1) -/* 0CC76C 800CBB6C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0CC770 800CBB70 AC480004 */ sw $t0, 4($v0) -/* 0CC774 800CBB74 90690000 */ lbu $t1, ($v1) -/* 0CC778 800CBB78 27BD0010 */ addiu $sp, $sp, 0x10 -/* 0CC77C 800CBB7C 252A0001 */ addiu $t2, $t1, 1 -/* 0CC780 800CBB80 03E00008 */ jr $ra -/* 0CC784 800CBB84 A06A0000 */ sb $t2, ($v1) - -glabel func_800CBB88 -/* 0CC788 800CBB88 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CC78C 800CBB8C AFBF002C */ sw $ra, 0x2c($sp) -/* 0CC790 800CBB90 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CC794 800CBB94 AFA50034 */ sw $a1, 0x34($sp) -/* 0CC798 800CBB98 03A0F025 */ move $fp, $sp -/* 0CC79C 800CBB9C 0C032ED2 */ jal func_800CBB48 -/* 0CC7A0 800CBBA0 27A50034 */ addiu $a1, $sp, 0x34 -/* 0CC7A4 800CBBA4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CC7A8 800CBBA8 03C0E825 */ move $sp, $fp -/* 0CC7AC 800CBBAC 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CC7B0 800CBBB0 03E00008 */ jr $ra -/* 0CC7B4 800CBBB4 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CBBB8 -/* 0CC7B8 800CBBB8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CC7BC 800CBBBC AFBF002C */ sw $ra, 0x2c($sp) -/* 0CC7C0 800CBBC0 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CC7C4 800CBBC4 AFA50034 */ sw $a1, 0x34($sp) -/* 0CC7C8 800CBBC8 03A0F025 */ move $fp, $sp -/* 0CC7CC 800CBBCC 0C032ED2 */ jal func_800CBB48 -/* 0CC7D0 800CBBD0 27A50034 */ addiu $a1, $sp, 0x34 -/* 0CC7D4 800CBBD4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CC7D8 800CBBD8 03C0E825 */ move $sp, $fp -/* 0CC7DC 800CBBDC 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CC7E0 800CBBE0 03E00008 */ jr $ra -/* 0CC7E4 800CBBE4 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_800CBBE8 -/* 0CC7E8 800CBBE8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0CC7EC 800CBBEC 00A07025 */ move $t6, $a1 -/* 0CC7F0 800CBBF0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0CC7F4 800CBBF4 AFBE0028 */ sw $fp, 0x28($sp) -/* 0CC7F8 800CBBF8 AFA5003C */ sw $a1, 0x3c($sp) -/* 0CC7FC 800CBBFC 000E7E00 */ sll $t7, $t6, 0x18 -/* 0CC800 800CBC00 03A0F025 */ move $fp, $sp -/* 0CC804 800CBC04 AFAF0034 */ sw $t7, 0x34($sp) -/* 0CC808 800CBC08 0C032ED2 */ jal func_800CBB48 -/* 0CC80C 800CBC0C 27A50034 */ addiu $a1, $sp, 0x34 -/* 0CC810 800CBC10 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CC814 800CBC14 03C0E825 */ move $sp, $fp -/* 0CC818 800CBC18 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CC81C 800CBC1C 03E00008 */ jr $ra -/* 0CC820 800CBC20 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800CBC24 -/* 0CC824 800CBC24 3C02800F */ lui $v0, %hi(D_800EA3A0) # $v0, 0x800f -/* 0CC828 800CBC28 3C03800F */ lui $v1, %hi(D_800EA3A4) # $v1, 0x800f -/* 0CC82C 800CBC2C 9063A3A4 */ lbu $v1, %lo(D_800EA3A4)($v1) -/* 0CC830 800CBC30 9042A3A0 */ lbu $v0, %lo(D_800EA3A0)($v0) -/* 0CC834 800CBC34 3C0F800F */ lui $t7, %hi(D_800EA4A4) # $t7, 0x800f -/* 0CC838 800CBC38 8DEFA4A4 */ lw $t7, %lo(D_800EA4A4)($t7) -/* 0CC83C 800CBC3C 00432023 */ subu $a0, $v0, $v1 -/* 0CC840 800CBC40 24840100 */ addiu $a0, $a0, 0x100 -/* 0CC844 800CBC44 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CC848 800CBC48 308E00FF */ andi $t6, $a0, 0xff -/* 0CC84C 800CBC4C AFBE0028 */ sw $fp, 0x28($sp) -/* 0CC850 800CBC50 01EE082A */ slt $at, $t7, $t6 -/* 0CC854 800CBC54 03A0F025 */ move $fp, $sp -/* 0CC858 800CBC58 10200003 */ beqz $at, .L800CBC68 -/* 0CC85C 800CBC5C AFBF002C */ sw $ra, 0x2c($sp) -/* 0CC860 800CBC60 3C01800F */ lui $at, %hi(D_800EA4A4) # $at, 0x800f -/* 0CC864 800CBC64 AC2EA4A4 */ sw $t6, %lo(D_800EA4A4)($at) -.L800CBC68: -/* 0CC868 800CBC68 307800FF */ andi $t8, $v1, 0xff -/* 0CC86C 800CBC6C 0018CA00 */ sll $t9, $t8, 8 -/* 0CC870 800CBC70 304800FF */ andi $t0, $v0, 0xff -/* 0CC874 800CBC74 3C04800F */ lui $a0, %hi(D_800EA3AC) # $a0, 0x800f -/* 0CC878 800CBC78 03282825 */ or $a1, $t9, $t0 -/* 0CC87C 800CBC7C 8C84A3AC */ lw $a0, %lo(D_800EA3AC)($a0) -/* 0CC880 800CBC80 0C033630 */ jal osSendMesg -/* 0CC884 800CBC84 00003025 */ move $a2, $zero -/* 0CC888 800CBC88 3C09800F */ lui $t1, %hi(D_800EA3A0) # $t1, 0x800f -/* 0CC88C 800CBC8C 9129A3A0 */ lbu $t1, %lo(D_800EA3A0)($t1) -/* 0CC890 800CBC90 3C01800F */ lui $at, %hi(D_800EA3A4) # $at, 0x800f -/* 0CC894 800CBC94 03C0E825 */ move $sp, $fp -/* 0CC898 800CBC98 A029A3A4 */ sb $t1, %lo(D_800EA3A4)($at) -/* 0CC89C 800CBC9C 8FDF002C */ lw $ra, 0x2c($fp) -/* 0CC8A0 800CBCA0 8FDE0028 */ lw $fp, 0x28($fp) -/* 0CC8A4 800CBCA4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0CC8A8 800CBCA8 03E00008 */ jr $ra -/* 0CC8AC 800CBCAC 00000000 */ nop - -glabel func_800CBCB0 -/* 0CC8B0 800CBCB0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0CC8B4 800CBCB4 AFB20030 */ sw $s2, 0x30($sp) -/* 0CC8B8 800CBCB8 AFB5003C */ sw $s5, 0x3c($sp) -/* 0CC8BC 800CBCBC AFB30034 */ sw $s3, 0x34($sp) -/* 0CC8C0 800CBCC0 00809025 */ move $s2, $a0 -/* 0CC8C4 800CBCC4 AFBE0048 */ sw $fp, 0x48($sp) -/* 0CC8C8 800CBCC8 AFB70044 */ sw $s7, 0x44($sp) -/* 0CC8CC 800CBCCC AFB60040 */ sw $s6, 0x40($sp) -/* 0CC8D0 800CBCD0 AFB40038 */ sw $s4, 0x38($sp) -/* 0CC8D4 800CBCD4 AFB1002C */ sw $s1, 0x2c($sp) -/* 0CC8D8 800CBCD8 00047202 */ srl $t6, $a0, 8 -/* 0CC8DC 800CBCDC 325800FF */ andi $t8, $s2, 0xff -/* 0CC8E0 800CBCE0 3C138019 */ lui $s3, %hi(D_80193820) # $s3, 0x8019 -/* 0CC8E4 800CBCE4 3C15803B */ lui $s5, %hi(D_803B1510) # $s5, 0x803b -/* 0CC8E8 800CBCE8 03A0F025 */ move $fp, $sp -/* 0CC8EC 800CBCEC AFBF004C */ sw $ra, 0x4c($sp) -/* 0CC8F0 800CBCF0 AFB00028 */ sw $s0, 0x28($sp) -/* 0CC8F4 800CBCF4 31D100FF */ andi $s1, $t6, 0xff -/* 0CC8F8 800CBCF8 26B51510 */ addiu $s5, %lo(D_803B1510) # addiu $s5, $s5, 0x1510 -/* 0CC8FC 800CBCFC 26733820 */ addiu $s3, %lo(D_80193820) # addiu $s3, $s3, 0x3820 -/* 0CC900 800CBD00 03009025 */ move $s2, $t8 -/* 0CC904 800CBD04 241400F0 */ li $s4, 240 -/* 0CC908 800CBD08 24160148 */ li $s6, 328 -/* 0CC90C 800CBD0C 24170041 */ li $s7, 65 -/* 0CC910 800CBD10 12510080 */ beq $s2, $s1, .L800CBF14 -/* 0CC914 800CBD14 02201025 */ move $v0, $s1 -.L800CBD18: -/* 0CC918 800CBD18 305900FF */ andi $t9, $v0, 0xff -/* 0CC91C 800CBD1C 001940C0 */ sll $t0, $t9, 3 -/* 0CC920 800CBD20 02688021 */ addu $s0, $s3, $t0 -/* 0CC924 800CBD24 92040000 */ lbu $a0, ($s0) -/* 0CC928 800CBD28 26310001 */ addiu $s1, $s1, 1 -/* 0CC92C 800CBD2C 322900FF */ andi $t1, $s1, 0xff -/* 0CC930 800CBD30 308A00F0 */ andi $t2, $a0, 0xf0 -/* 0CC934 800CBD34 168A0005 */ bne $s4, $t2, .L800CBD4C -/* 0CC938 800CBD38 01208825 */ move $s1, $t1 -/* 0CC93C 800CBD3C 0C032E06 */ jal func_800CB818 -/* 0CC940 800CBD40 02002025 */ move $a0, $s0 -/* 0CC944 800CBD44 10000071 */ b .L800CBF0C -/* 0CC948 800CBD48 02201025 */ move $v0, $s1 -.L800CBD4C: -/* 0CC94C 800CBD4C 92020001 */ lbu $v0, 1($s0) -/* 0CC950 800CBD50 28410004 */ slti $at, $v0, 4 -/* 0CC954 800CBD54 5020006D */ beql $at, $zero, .L800CBF0C -/* 0CC958 800CBD58 02201025 */ move $v0, $s1 -/* 0CC95C 800CBD5C 00560019 */ multu $v0, $s6 -/* 0CC960 800CBD60 308C0080 */ andi $t4, $a0, 0x80 -/* 0CC964 800CBD64 308D0040 */ andi $t5, $a0, 0x40 -/* 0CC968 800CBD68 00005812 */ mflo $t3 -/* 0CC96C 800CBD6C 02AB1821 */ addu $v1, $s5, $t3 -/* 0CC970 800CBD70 11800005 */ beqz $t4, .L800CBD88 -/* 0CC974 800CBD74 00000000 */ nop -/* 0CC978 800CBD78 0C032E06 */ jal func_800CB818 -/* 0CC97C 800CBD7C 02002025 */ move $a0, $s0 -/* 0CC980 800CBD80 10000062 */ b .L800CBF0C -/* 0CC984 800CBD84 02201025 */ move $v0, $s1 -.L800CBD88: -/* 0CC988 800CBD88 51A00020 */ beql $t5, $zero, .L800CBE0C -/* 0CC98C 800CBD8C 8C6D0000 */ lw $t5, ($v1) -/* 0CC990 800CBD90 10970009 */ beq $a0, $s7, .L800CBDB8 -/* 0CC994 800CBD94 24010046 */ li $at, 70 -/* 0CC998 800CBD98 10810016 */ beq $a0, $at, .L800CBDF4 -/* 0CC99C 800CBD9C 24010047 */ li $at, 71 -/* 0CC9A0 800CBDA0 1081000B */ beq $a0, $at, .L800CBDD0 -/* 0CC9A4 800CBDA4 24010048 */ li $at, 72 -/* 0CC9A8 800CBDA8 50810010 */ beql $a0, $at, .L800CBDEC -/* 0CC9AC 800CBDAC 82090004 */ lb $t1, 4($s0) -/* 0CC9B0 800CBDB0 10000056 */ b .L800CBF0C -/* 0CC9B4 800CBDB4 02201025 */ move $v0, $s1 -.L800CBDB8: -/* 0CC9B8 800CBDB8 906F0000 */ lbu $t7, ($v1) -/* 0CC9BC 800CBDBC C6040004 */ lwc1 $f4, 4($s0) -/* 0CC9C0 800CBDC0 35F80004 */ ori $t8, $t7, 4 -/* 0CC9C4 800CBDC4 A0780000 */ sb $t8, ($v1) -/* 0CC9C8 800CBDC8 1000004F */ b .L800CBF08 -/* 0CC9CC 800CBDCC E4640028 */ swc1 $f4, 0x28($v1) -.L800CBDD0: -/* 0CC9D0 800CBDD0 8E190004 */ lw $t9, 4($s0) -/* 0CC9D4 800CBDD4 00194080 */ sll $t0, $t9, 2 -/* 0CC9D8 800CBDD8 01194023 */ subu $t0, $t0, $t9 -/* 0CC9DC 800CBDDC 00084100 */ sll $t0, $t0, 4 -/* 0CC9E0 800CBDE0 10000049 */ b .L800CBF08 -/* 0CC9E4 800CBDE4 A4680008 */ sh $t0, 8($v1) -/* 0CC9E8 800CBDE8 82090004 */ lb $t1, 4($s0) -.L800CBDEC: -/* 0CC9EC 800CBDEC 10000046 */ b .L800CBF08 -/* 0CC9F0 800CBDF0 A469000C */ sh $t1, 0xc($v1) -.L800CBDF4: -/* 0CC9F4 800CBDF4 920B0003 */ lbu $t3, 3($s0) -/* 0CC9F8 800CBDF8 820A0004 */ lb $t2, 4($s0) -/* 0CC9FC 800CBDFC 006B6021 */ addu $t4, $v1, $t3 -/* 0CCA00 800CBE00 10000041 */ b .L800CBF08 -/* 0CCA04 800CBE04 A18A0007 */ sb $t2, 7($t4) -/* 0CCA08 800CBE08 8C6D0000 */ lw $t5, ($v1) -.L800CBE0C: -/* 0CCA0C 800CBE0C 000D77C2 */ srl $t6, $t5, 0x1f -/* 0CCA10 800CBE10 51C0003E */ beql $t6, $zero, .L800CBF0C -/* 0CCA14 800CBE14 02201025 */ move $v0, $s1 -/* 0CCA18 800CBE18 92050002 */ lbu $a1, 2($s0) -/* 0CCA1C 800CBE1C 28A10010 */ slti $at, $a1, 0x10 -/* 0CCA20 800CBE20 10200039 */ beqz $at, .L800CBF08 -/* 0CCA24 800CBE24 00057880 */ sll $t7, $a1, 2 -/* 0CCA28 800CBE28 006FC021 */ addu $t8, $v1, $t7 -/* 0CCA2C 800CBE2C 8F020030 */ lw $v0, 0x30($t8) -/* 0CCA30 800CBE30 3C19803B */ lui $t9, %hi(D_803B5EF0) # $t9, 0x803b -/* 0CCA34 800CBE34 27395EF0 */ addiu $t9, %lo(D_803B5EF0) # addiu $t9, $t9, 0x5ef0 -/* 0CCA38 800CBE38 10590033 */ beq $v0, $t9, .L800CBF08 -/* 0CCA3C 800CBE3C 2488FFFF */ addiu $t0, $a0, -1 -/* 0CCA40 800CBE40 2D010008 */ sltiu $at, $t0, 8 -/* 0CCA44 800CBE44 10200030 */ beqz $at, .L800CBF08 -/* 0CCA48 800CBE48 00084080 */ sll $t0, $t0, 2 -/* 0CCA4C 800CBE4C 3C01800F */ lui $at, %hi(D_800F39C0) -/* 0CCA50 800CBE50 00280821 */ addu $at, $at, $t0 -/* 0CCA54 800CBE54 8C2839C0 */ lw $t0, %lo(D_800F39C0)($at) -/* 0CCA58 800CBE58 01000008 */ jr $t0 -/* 0CCA5C 800CBE5C 00000000 */ nop -glabel L800CBE60 -/* 0CCA60 800CBE60 904B0001 */ lbu $t3, 1($v0) -/* 0CCA64 800CBE64 C6060004 */ lwc1 $f6, 4($s0) -/* 0CCA68 800CBE68 356A0040 */ ori $t2, $t3, 0x40 -/* 0CCA6C 800CBE6C A04A0001 */ sb $t2, 1($v0) -/* 0CCA70 800CBE70 10000025 */ b .L800CBF08 -/* 0CCA74 800CBE74 E4460020 */ swc1 $f6, 0x20($v0) -glabel L800CBE78 -/* 0CCA78 800CBE78 904D0001 */ lbu $t5, 1($v0) -/* 0CCA7C 800CBE7C C6080004 */ lwc1 $f8, 4($s0) -/* 0CCA80 800CBE80 35AE0040 */ ori $t6, $t5, 0x40 -/* 0CCA84 800CBE84 A04E0001 */ sb $t6, 1($v0) -/* 0CCA88 800CBE88 1000001F */ b .L800CBF08 -/* 0CCA8C 800CBE8C E4480024 */ swc1 $f8, 0x24($v0) -glabel L800CBE90 -/* 0CCA90 800CBE90 90590001 */ lbu $t9, 1($v0) -/* 0CCA94 800CBE94 820F0004 */ lb $t7, 4($s0) -/* 0CCA98 800CBE98 37280020 */ ori $t0, $t9, 0x20 -/* 0CCA9C 800CBE9C A0480001 */ sb $t0, 1($v0) -/* 0CCAA0 800CBEA0 10000019 */ b .L800CBF08 -/* 0CCAA4 800CBEA4 A04F0009 */ sb $t7, 9($v0) -glabel L800CBEA8 -/* 0CCAA8 800CBEA8 904B0001 */ lbu $t3, 1($v0) -/* 0CCAAC 800CBEAC C60A0004 */ lwc1 $f10, 4($s0) -/* 0CCAB0 800CBEB0 356A0080 */ ori $t2, $t3, 0x80 -/* 0CCAB4 800CBEB4 A04A0001 */ sb $t2, 1($v0) -/* 0CCAB8 800CBEB8 10000013 */ b .L800CBF08 -/* 0CCABC 800CBEBC E44A0030 */ swc1 $f10, 0x30($v0) -glabel L800CBEC0 -/* 0CCAC0 800CBEC0 820C0004 */ lb $t4, 4($s0) -/* 0CCAC4 800CBEC4 10000010 */ b .L800CBF08 -/* 0CCAC8 800CBEC8 A04C0004 */ sb $t4, 4($v0) -glabel L800CBECC -/* 0CCACC 800CBECC 92030003 */ lbu $v1, 3($s0) -/* 0CCAD0 800CBED0 28610008 */ slti $at, $v1, 8 -/* 0CCAD4 800CBED4 5020000D */ beql $at, $zero, .L800CBF0C -/* 0CCAD8 800CBED8 02201025 */ move $v0, $s1 -/* 0CCADC 800CBEDC 820D0004 */ lb $t5, 4($s0) -/* 0CCAE0 800CBEE0 00437021 */ addu $t6, $v0, $v1 -/* 0CCAE4 800CBEE4 10000008 */ b .L800CBF08 -/* 0CCAE8 800CBEE8 A1CD0058 */ sb $t5, 0x58($t6) -glabel L800CBEEC -/* 0CCAEC 800CBEEC 82180004 */ lb $t8, 4($s0) -/* 0CCAF0 800CBEF0 90490000 */ lbu $t1, ($v0) -/* 0CCAF4 800CBEF4 0018C900 */ sll $t9, $t8, 4 -/* 0CCAF8 800CBEF8 33280010 */ andi $t0, $t9, 0x10 -/* 0CCAFC 800CBEFC 312BFFEF */ andi $t3, $t1, 0xffef -/* 0CCB00 800CBF00 010B5025 */ or $t2, $t0, $t3 -/* 0CCB04 800CBF04 A04A0000 */ sb $t2, ($v0) -.L800CBF08: -glabel L800CBF08 -/* 0CCB08 800CBF08 02201025 */ move $v0, $s1 -.L800CBF0C: -/* 0CCB0C 800CBF0C 1651FF82 */ bne $s2, $s1, .L800CBD18 -/* 0CCB10 800CBF10 A2000000 */ sb $zero, ($s0) -.L800CBF14: -/* 0CCB14 800CBF14 8FDF004C */ lw $ra, 0x4c($fp) -/* 0CCB18 800CBF18 03C0E825 */ move $sp, $fp -/* 0CCB1C 800CBF1C 8FD00028 */ lw $s0, 0x28($fp) -/* 0CCB20 800CBF20 8FD1002C */ lw $s1, 0x2c($fp) -/* 0CCB24 800CBF24 8FD20030 */ lw $s2, 0x30($fp) -/* 0CCB28 800CBF28 8FD30034 */ lw $s3, 0x34($fp) -/* 0CCB2C 800CBF2C 8FD40038 */ lw $s4, 0x38($fp) -/* 0CCB30 800CBF30 8FD5003C */ lw $s5, 0x3c($fp) -/* 0CCB34 800CBF34 8FD60040 */ lw $s6, 0x40($fp) -/* 0CCB38 800CBF38 8FD70044 */ lw $s7, 0x44($fp) -/* 0CCB3C 800CBF3C 8FDE0048 */ lw $fp, 0x48($fp) -/* 0CCB40 800CBF40 03E00008 */ jr $ra -/* 0CCB44 800CBF44 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel func_800CBF48 -/* 0CCB48 800CBF48 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0CCB4C 800CBF4C AFBF0024 */ sw $ra, 0x24($sp) -/* 0CCB50 800CBF50 AFBE0020 */ sw $fp, 0x20($sp) -/* 0CCB54 800CBF54 0C032EAD */ jal func_800CBAB4 -/* 0CCB58 800CBF58 03A0F025 */ move $fp, $sp -/* 0CCB5C 800CBF5C 8FDF0024 */ lw $ra, 0x24($fp) -/* 0CCB60 800CBF60 03C0E825 */ move $sp, $fp -/* 0CCB64 800CBF64 8FDE0020 */ lw $fp, 0x20($fp) -/* 0CCB68 800CBF68 03E00008 */ jr $ra -/* 0CCB6C 800CBF6C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/audio/seqplayer.s b/asm/audio/seqplayer.s deleted file mode 100644 index f42d6b384..000000000 --- a/asm/audio/seqplayer.s +++ /dev/null @@ -1,3101 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.section .text, "ax" - -glabel func_800BE8F0 -/* 0BF4F0 800BE8F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BF4F4 800BE8F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BF4F8 800BE8F8 908E0000 */ lbu $t6, ($a0) -/* 0BF4FC 800BE8FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BF500 800BE900 44810000 */ mtc1 $at, $f0 -/* 0BF504 800BE904 31D8FF7F */ andi $t8, $t6, 0xff7f -/* 0BF508 800BE908 330800BF */ andi $t0, $t8, 0xbf -/* 0BF50C 800BE90C A0980000 */ sb $t8, ($a0) -/* 0BF510 800BE910 310A00DF */ andi $t2, $t0, 0xdf -/* 0BF514 800BE914 A0880000 */ sb $t0, ($a0) -/* 0BF518 800BE918 314C00EF */ andi $t4, $t2, 0xef -/* 0BF51C 800BE91C A08A0000 */ sb $t2, ($a0) -/* 0BF520 800BE920 318E00F7 */ andi $t6, $t4, 0xf7 -/* 0BF524 800BE924 A08C0000 */ sb $t4, ($a0) -/* 0BF528 800BE928 31D800FB */ andi $t8, $t6, 0xfb -/* 0BF52C 800BE92C 24020800 */ li $v0, 2048 -/* 0BF530 800BE930 A08E0000 */ sb $t6, ($a0) -/* 0BF534 800BE934 3C0C800F */ lui $t4, %hi(gDefaultEnvelope) # $t4, 0x800f -/* 0BF538 800BE938 00802825 */ move $a1, $a0 -/* 0BF53C 800BE93C A0980000 */ sb $t8, ($a0) -/* 0BF540 800BE940 331900FD */ andi $t9, $t8, 0xfd -/* 0BF544 800BE944 240800FF */ li $t0, 255 -/* 0BF548 800BE948 24090040 */ li $t1, 64 -/* 0BF54C 800BE94C 240A0080 */ li $t2, 128 -/* 0BF550 800BE950 240B0003 */ li $t3, 3 -/* 0BF554 800BE954 258C6240 */ addiu $t4, %lo(gDefaultEnvelope) # addiu $t4, $t4, 0x6240 -/* 0BF558 800BE958 240D0020 */ li $t5, 32 -/* 0BF55C 800BE95C A4820010 */ sh $v0, 0x10($a0) -/* 0BF560 800BE960 A482000C */ sh $v0, 0xc($a0) -/* 0BF564 800BE964 A480001E */ sh $zero, 0x1e($a0) -/* 0BF568 800BE968 A0990000 */ sb $t9, ($a0) -/* 0BF56C 800BE96C A0800008 */ sb $zero, 8($a0) -/* 0BF570 800BE970 A0880001 */ sb $t0, 1($a0) -/* 0BF574 800BE974 A0800078 */ sb $zero, 0x78($a0) -/* 0BF578 800BE978 A0890009 */ sb $t1, 9($a0) -/* 0BF57C 800BE97C A08A000A */ sb $t2, 0xa($a0) -/* 0BF580 800BE980 AC800038 */ sw $zero, 0x38($a0) -/* 0BF584 800BE984 A0800007 */ sb $zero, 7($a0) -/* 0BF588 800BE988 A0800004 */ sb $zero, 4($a0) -/* 0BF58C 800BE98C A08B0005 */ sb $t3, 5($a0) -/* 0BF590 800BE990 A480001A */ sh $zero, 0x1a($a0) -/* 0BF594 800BE994 AC8C0080 */ sw $t4, 0x80($a0) -/* 0BF598 800BE998 A08D007C */ sb $t5, 0x7c($a0) -/* 0BF59C 800BE99C A080007D */ sb $zero, 0x7d($a0) -/* 0BF5A0 800BE9A0 A4800012 */ sh $zero, 0x12($a0) -/* 0BF5A4 800BE9A4 A480000E */ sh $zero, 0xe($a0) -/* 0BF5A8 800BE9A8 A4800014 */ sh $zero, 0x14($a0) -/* 0BF5AC 800BE9AC A4800016 */ sh $zero, 0x16($a0) -/* 0BF5B0 800BE9B0 A4800018 */ sh $zero, 0x18($a0) -/* 0BF5B4 800BE9B4 E4800024 */ swc1 $f0, 0x24($a0) -/* 0BF5B8 800BE9B8 E4800020 */ swc1 $f0, 0x20($a0) -/* 0BF5BC 800BE9BC E4800030 */ swc1 $f0, 0x30($a0) -/* 0BF5C0 800BE9C0 00002025 */ move $a0, $zero -/* 0BF5C4 800BE9C4 2402FFFF */ li $v0, -1 -/* 0BF5C8 800BE9C8 00A01825 */ move $v1, $a1 -/* 0BF5CC 800BE9CC 24060008 */ li $a2, 8 -.L800BE9D0: -/* 0BF5D0 800BE9D0 24840004 */ addiu $a0, $a0, 4 -/* 0BF5D4 800BE9D4 A0620059 */ sb $v0, 0x59($v1) -/* 0BF5D8 800BE9D8 A062005A */ sb $v0, 0x5a($v1) -/* 0BF5DC 800BE9DC A062005B */ sb $v0, 0x5b($v1) -/* 0BF5E0 800BE9E0 24630004 */ addiu $v1, $v1, 4 -/* 0BF5E4 800BE9E4 1486FFFA */ bne $a0, $a2, .L800BE9D0 -/* 0BF5E8 800BE9E8 A0620054 */ sb $v0, 0x54($v1) -/* 0BF5EC 800BE9EC 90AE0000 */ lbu $t6, ($a1) -/* 0BF5F0 800BE9F0 24A40084 */ addiu $a0, $a1, 0x84 -/* 0BF5F4 800BE9F4 31CFFFFE */ andi $t7, $t6, 0xfffe -/* 0BF5F8 800BE9F8 0C02F4C6 */ jal func_800BD318 -/* 0BF5FC 800BE9FC A0AF0000 */ sb $t7, ($a1) -/* 0BF600 800BEA00 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF604 800BEA04 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BF608 800BEA08 03E00008 */ jr $ra -/* 0BF60C 800BEA0C 00000000 */ nop - -glabel func_800BEA10 -/* 0BF610 800BEA10 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BF614 800BEA14 00057880 */ sll $t7, $a1, 2 -/* 0BF618 800BEA18 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BF61C 800BEA1C AFA40028 */ sw $a0, 0x28($sp) -/* 0BF620 800BEA20 008F3021 */ addu $a2, $a0, $t7 -/* 0BF624 800BEA24 8CC70048 */ lw $a3, 0x48($a2) -/* 0BF628 800BEA28 14E0000B */ bnez $a3, .L800BEA58 -/* 0BF62C 800BEA2C 00E02025 */ move $a0, $a3 -/* 0BF630 800BEA30 3C04803B */ lui $a0, %hi(D_803B5FB8) # $a0, 0x803b -/* 0BF634 800BEA34 24845FB8 */ addiu $a0, %lo(D_803B5FB8) # addiu $a0, $a0, 0x5fb8 -/* 0BF638 800BEA38 0C02FC11 */ jal func_800BF044 -/* 0BF63C 800BEA3C AFA6001C */ sw $a2, 0x1c($sp) -/* 0BF640 800BEA40 8FA6001C */ lw $a2, 0x1c($sp) -/* 0BF644 800BEA44 14400007 */ bnez $v0, .L800BEA64 -/* 0BF648 800BEA48 ACC20048 */ sw $v0, 0x48($a2) -/* 0BF64C 800BEA4C ACC00048 */ sw $zero, 0x48($a2) -/* 0BF650 800BEA50 1000002D */ b .L800BEB08 -/* 0BF654 800BEA54 2402FFFF */ li $v0, -1 -.L800BEA58: -/* 0BF658 800BEA58 0C02F448 */ jal func_800BD120 -/* 0BF65C 800BEA5C AFA6001C */ sw $a2, 0x1c($sp) -/* 0BF660 800BEA60 8FA6001C */ lw $a2, 0x1c($sp) -.L800BEA64: -/* 0BF664 800BEA64 8CC30048 */ lw $v1, 0x48($a2) -/* 0BF668 800BEA68 8FB80028 */ lw $t8, 0x28($sp) -/* 0BF66C 800BEA6C 44803000 */ mtc1 $zero, $f6 -/* 0BF670 800BEA70 906B0000 */ lbu $t3, ($v1) -/* 0BF674 800BEA74 AC78004C */ sw $t8, 0x4c($v1) -/* 0BF678 800BEA78 8FB90028 */ lw $t9, 0x28($sp) -/* 0BF67C 800BEA7C 356D0080 */ ori $t5, $t3, 0x80 -/* 0BF680 800BEA80 31AF00DF */ andi $t7, $t5, 0xdf -/* 0BF684 800BEA84 8F21007C */ lw $at, 0x7c($t9) -/* 0BF688 800BEA88 31E800EF */ andi $t0, $t7, 0xef -/* 0BF68C 800BEA8C 240B0080 */ li $t3, 128 -/* 0BF690 800BEA90 AC610018 */ sw $at, 0x18($v1) -/* 0BF694 800BEA94 8F290080 */ lw $t1, 0x80($t9) -/* 0BF698 800BEA98 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0BF69C 800BEA9C A06D0000 */ sb $t5, ($v1) -/* 0BF6A0 800BEAA0 AC69001C */ sw $t1, 0x1c($v1) -/* 0BF6A4 800BEAA4 44812000 */ mtc1 $at, $f4 -/* 0BF6A8 800BEAA8 310900BF */ andi $t1, $t0, 0xbf -/* 0BF6AC 800BEAAC A06F0000 */ sb $t7, ($v1) -/* 0BF6B0 800BEAB0 A0680000 */ sb $t0, ($v1) -/* 0BF6B4 800BEAB4 312A00FD */ andi $t2, $t1, 0xfd -/* 0BF6B8 800BEAB8 240C0040 */ li $t4, 64 -/* 0BF6BC 800BEABC 240D00FF */ li $t5, 255 -/* 0BF6C0 800BEAC0 A0690000 */ sb $t1, ($v1) -/* 0BF6C4 800BEAC4 00001025 */ move $v0, $zero -/* 0BF6C8 800BEAC8 A0600018 */ sb $zero, 0x18($v1) -/* 0BF6CC 800BEACC A06A0000 */ sb $t2, ($v1) -/* 0BF6D0 800BEAD0 A0600008 */ sb $zero, 8($v1) -/* 0BF6D4 800BEAD4 A0600068 */ sb $zero, 0x68($v1) -/* 0BF6D8 800BEAD8 A0600002 */ sb $zero, 2($v1) -/* 0BF6DC 800BEADC A06B0003 */ sb $t3, 3($v1) -/* 0BF6E0 800BEAE0 A06C0005 */ sb $t4, 5($v1) -/* 0BF6E4 800BEAE4 A4600022 */ sh $zero, 0x22($v1) -/* 0BF6E8 800BEAE8 A4600038 */ sh $zero, 0x38($v1) -/* 0BF6EC 800BEAEC A460003A */ sh $zero, 0x3a($v1) -/* 0BF6F0 800BEAF0 A460003C */ sh $zero, 0x3c($v1) -/* 0BF6F4 800BEAF4 AC600040 */ sw $zero, 0x40($v1) -/* 0BF6F8 800BEAF8 AC600044 */ sw $zero, 0x44($v1) -/* 0BF6FC 800BEAFC A06D0001 */ sb $t5, 1($v1) -/* 0BF700 800BEB00 E4660028 */ swc1 $f6, 0x28($v1) -/* 0BF704 800BEB04 E4640024 */ swc1 $f4, 0x24($v1) -.L800BEB08: -/* 0BF708 800BEB08 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF70C 800BEB0C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0BF710 800BEB10 03E00008 */ jr $ra -/* 0BF714 800BEB14 00000000 */ nop - -glabel func_800BEB18 -/* 0BF718 800BEB18 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BF71C 800BEB1C 10800009 */ beqz $a0, .L800BEB44 -/* 0BF720 800BEB20 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BF724 800BEB24 0C02F448 */ jal func_800BD120 -/* 0BF728 800BEB28 AFA40018 */ sw $a0, 0x18($sp) -/* 0BF72C 800BEB2C 8FA40018 */ lw $a0, 0x18($sp) -/* 0BF730 800BEB30 908E0000 */ lbu $t6, ($a0) -/* 0BF734 800BEB34 31D9FF7F */ andi $t9, $t6, 0xff7f -/* 0BF738 800BEB38 37280040 */ ori $t0, $t9, 0x40 -/* 0BF73C 800BEB3C A0990000 */ sb $t9, ($a0) -/* 0BF740 800BEB40 A0880000 */ sb $t0, ($a0) -.L800BEB44: -/* 0BF744 800BEB44 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF748 800BEB48 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BF74C 800BEB4C 03E00008 */ jr $ra -/* 0BF750 800BEB50 00000000 */ nop - -glabel func_800BEB54 -/* 0BF754 800BEB54 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0BF758 800BEB58 00057080 */ sll $t6, $a1, 2 -/* 0BF75C 800BEB5C AFBF0014 */ sw $ra, 0x14($sp) -/* 0BF760 800BEB60 008E1021 */ addu $v0, $a0, $t6 -/* 0BF764 800BEB64 8C460048 */ lw $a2, 0x48($v0) -/* 0BF768 800BEB68 3C04803B */ lui $a0, %hi(D_803B5FB8) # $a0, 0x803b -/* 0BF76C 800BEB6C 24845FB8 */ addiu $a0, %lo(D_803B5FB8) # addiu $a0, $a0, 0x5fb8 -/* 0BF770 800BEB70 10C00008 */ beqz $a2, .L800BEB94 -/* 0BF774 800BEB74 24C5006C */ addiu $a1, $a2, 0x6c -/* 0BF778 800BEB78 AFA20018 */ sw $v0, 0x18($sp) -/* 0BF77C 800BEB7C 0C02FC01 */ jal func_800BF004 -/* 0BF780 800BEB80 AFA6001C */ sw $a2, 0x1c($sp) -/* 0BF784 800BEB84 0C02FAC6 */ jal func_800BEB18 -/* 0BF788 800BEB88 8FA4001C */ lw $a0, 0x1c($sp) -/* 0BF78C 800BEB8C 8FA20018 */ lw $v0, 0x18($sp) -/* 0BF790 800BEB90 AC400048 */ sw $zero, 0x48($v0) -.L800BEB94: -/* 0BF794 800BEB94 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BF798 800BEB98 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0BF79C 800BEB9C 03E00008 */ jr $ra -/* 0BF7A0 800BEBA0 00000000 */ nop - -glabel func_800BEBA4 -/* 0BF7A4 800BEBA4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BF7A8 800BEBA8 AFB20020 */ sw $s2, 0x20($sp) -/* 0BF7AC 800BEBAC AFB1001C */ sw $s1, 0x1c($sp) -/* 0BF7B0 800BEBB0 AFB00018 */ sw $s0, 0x18($sp) -/* 0BF7B4 800BEBB4 00808825 */ move $s1, $a0 -/* 0BF7B8 800BEBB8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BF7BC 800BEBBC 00008025 */ move $s0, $zero -/* 0BF7C0 800BEBC0 24120004 */ li $s2, 4 -/* 0BF7C4 800BEBC4 02202025 */ move $a0, $s1 -.L800BEBC8: -/* 0BF7C8 800BEBC8 0C02FAD5 */ jal func_800BEB54 -/* 0BF7CC 800BEBCC 02002825 */ move $a1, $s0 -/* 0BF7D0 800BEBD0 26100001 */ addiu $s0, $s0, 1 -/* 0BF7D4 800BEBD4 5612FFFC */ bnel $s0, $s2, .L800BEBC8 -/* 0BF7D8 800BEBD8 02202025 */ move $a0, $s1 -/* 0BF7DC 800BEBDC 0C02F506 */ jal func_800BD418 -/* 0BF7E0 800BEBE0 26240084 */ addiu $a0, $s1, 0x84 -/* 0BF7E4 800BEBE4 922E0000 */ lbu $t6, ($s1) -/* 0BF7E8 800BEBE8 31D9FF7F */ andi $t9, $t6, 0xff7f -/* 0BF7EC 800BEBEC A2390000 */ sb $t9, ($s1) -/* 0BF7F0 800BEBF0 37280040 */ ori $t0, $t9, 0x40 -/* 0BF7F4 800BEBF4 A2280000 */ sb $t0, ($s1) -/* 0BF7F8 800BEBF8 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BF7FC 800BEBFC 8FB20020 */ lw $s2, 0x20($sp) -/* 0BF800 800BEC00 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BF804 800BEC04 8FB00018 */ lw $s0, 0x18($sp) -/* 0BF808 800BEC08 03E00008 */ jr $ra -/* 0BF80C 800BEC0C 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_800BEC10 -/* 0BF810 800BEC10 3C03803B */ lui $v1, %hi(D_803B1A30) # $v1, 0x803b -/* 0BF814 800BEC14 3C02803B */ lui $v0, %hi(D_803B3EF0) # $v0, 0x803b -/* 0BF818 800BEC18 24423EF0 */ addiu $v0, %lo(D_803B3EF0) # addiu $v0, $v0, 0x3ef0 -/* 0BF81C 800BEC1C 24631A30 */ addiu $v1, %lo(D_803B1A30) # addiu $v1, $v1, 0x1a30 -/* 0BF820 800BEC20 8C6E0044 */ lw $t6, 0x44($v1) -.L800BEC24: -/* 0BF824 800BEC24 55C00004 */ bnel $t6, $zero, .L800BEC38 -/* 0BF828 800BEC28 8C6F0108 */ lw $t7, 0x108($v1) -/* 0BF82C 800BEC2C 03E00008 */ jr $ra -/* 0BF830 800BEC30 00601025 */ move $v0, $v1 - -/* 0BF834 800BEC34 8C6F0108 */ lw $t7, 0x108($v1) -.L800BEC38: -/* 0BF838 800BEC38 55E00004 */ bnel $t7, $zero, .L800BEC4C -/* 0BF83C 800BEC3C 8C7801CC */ lw $t8, 0x1cc($v1) -/* 0BF840 800BEC40 03E00008 */ jr $ra -/* 0BF844 800BEC44 246200C4 */ addiu $v0, $v1, 0xc4 - -/* 0BF848 800BEC48 8C7801CC */ lw $t8, 0x1cc($v1) -.L800BEC4C: -/* 0BF84C 800BEC4C 57000004 */ bnel $t8, $zero, .L800BEC60 -/* 0BF850 800BEC50 8C790290 */ lw $t9, 0x290($v1) -/* 0BF854 800BEC54 03E00008 */ jr $ra -/* 0BF858 800BEC58 24620188 */ addiu $v0, $v1, 0x188 - -/* 0BF85C 800BEC5C 8C790290 */ lw $t9, 0x290($v1) -.L800BEC60: -/* 0BF860 800BEC60 57200004 */ bnel $t9, $zero, .L800BEC74 -/* 0BF864 800BEC64 24630310 */ addiu $v1, $v1, 0x310 -/* 0BF868 800BEC68 03E00008 */ jr $ra -/* 0BF86C 800BEC6C 2462024C */ addiu $v0, $v1, 0x24c - -/* 0BF870 800BEC70 24630310 */ addiu $v1, $v1, 0x310 -.L800BEC74: -/* 0BF874 800BEC74 5462FFEB */ bnel $v1, $v0, .L800BEC24 -/* 0BF878 800BEC78 8C6E0044 */ lw $t6, 0x44($v1) -/* 0BF87C 800BEC7C 3C02803B */ lui $v0, %hi(D_803B5EF0) # $v0, 0x803b -/* 0BF880 800BEC80 24425EF0 */ addiu $v0, %lo(D_803B5EF0) # addiu $v0, $v0, 0x5ef0 -/* 0BF884 800BEC84 03E00008 */ jr $ra -/* 0BF888 800BEC88 00000000 */ nop - -glabel func_800BEC8C -/* 0BF88C 800BEC8C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0BF890 800BEC90 AFBE0038 */ sw $fp, 0x38($sp) -/* 0BF894 800BEC94 AFB70034 */ sw $s7, 0x34($sp) -/* 0BF898 800BEC98 AFB60030 */ sw $s6, 0x30($sp) -/* 0BF89C 800BEC9C AFB30024 */ sw $s3, 0x24($sp) -/* 0BF8A0 800BECA0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BF8A4 800BECA4 AFA50044 */ sw $a1, 0x44($sp) -/* 0BF8A8 800BECA8 30AEFFFF */ andi $t6, $a1, 0xffff -/* 0BF8AC 800BECAC 3C17803B */ lui $s7, %hi(D_803B5EF0) # $s7, 0x803b -/* 0BF8B0 800BECB0 3C1E803B */ lui $fp, %hi(D_803B7198) # $fp, 0x803b -/* 0BF8B4 800BECB4 01C02825 */ move $a1, $t6 -/* 0BF8B8 800BECB8 00808825 */ move $s1, $a0 -/* 0BF8BC 800BECBC AFBF003C */ sw $ra, 0x3c($sp) -/* 0BF8C0 800BECC0 AFB5002C */ sw $s5, 0x2c($sp) -/* 0BF8C4 800BECC4 AFB40028 */ sw $s4, 0x28($sp) -/* 0BF8C8 800BECC8 AFB20020 */ sw $s2, 0x20($sp) -/* 0BF8CC 800BECCC AFB00018 */ sw $s0, 0x18($sp) -/* 0BF8D0 800BECD0 27DE7198 */ addiu $fp, %lo(D_803B7198) # addiu $fp, $fp, 0x7198 -/* 0BF8D4 800BECD4 26F75EF0 */ addiu $s7, %lo(D_803B5EF0) # addiu $s7, $s7, 0x5ef0 -/* 0BF8D8 800BECD8 00009825 */ move $s3, $zero -/* 0BF8DC 800BECDC 24160001 */ li $s6, 1 -.L800BECE0: -/* 0BF8E0 800BECE0 30AF0001 */ andi $t7, $a1, 1 -/* 0BF8E4 800BECE4 11E00022 */ beqz $t7, .L800BED70 -/* 0BF8E8 800BECE8 00A0A825 */ move $s5, $a1 -/* 0BF8EC 800BECEC 0013C080 */ sll $t8, $s3, 2 -/* 0BF8F0 800BECF0 02389021 */ addu $s2, $s1, $t8 -/* 0BF8F4 800BECF4 8E500030 */ lw $s0, 0x30($s2) -/* 0BF8F8 800BECF8 02E0A025 */ move $s4, $s7 -/* 0BF8FC 800BECFC 0217C826 */ xor $t9, $s0, $s7 -/* 0BF900 800BED00 0019C82B */ sltu $t9, $zero, $t9 -/* 0BF904 800BED04 16D90007 */ bne $s6, $t9, .L800BED24 -/* 0BF908 800BED08 00000000 */ nop -/* 0BF90C 800BED0C 8E080044 */ lw $t0, 0x44($s0) -/* 0BF910 800BED10 16280004 */ bne $s1, $t0, .L800BED24 -/* 0BF914 800BED14 00000000 */ nop -/* 0BF918 800BED18 0C02FAE9 */ jal func_800BEBA4 -/* 0BF91C 800BED1C 02002025 */ move $a0, $s0 -/* 0BF920 800BED20 AE000044 */ sw $zero, 0x44($s0) -.L800BED24: -/* 0BF924 800BED24 0C02FB04 */ jal func_800BEC10 -/* 0BF928 800BED28 00000000 */ nop -/* 0BF92C 800BED2C 14540006 */ bne $v0, $s4, .L800BED48 -/* 0BF930 800BED30 00408025 */ move $s0, $v0 -/* 0BF934 800BED34 3C010001 */ lui $at, 1 -/* 0BF938 800BED38 02615021 */ addu $t2, $s3, $at -/* 0BF93C 800BED3C AFCA0000 */ sw $t2, ($fp) -/* 0BF940 800BED40 1000000B */ b .L800BED70 -/* 0BF944 800BED44 AE420030 */ sw $v0, 0x30($s2) -.L800BED48: -/* 0BF948 800BED48 0C02FA3C */ jal func_800BE8F0 -/* 0BF94C 800BED4C 02002025 */ move $a0, $s0 -/* 0BF950 800BED50 AE500030 */ sw $s0, 0x30($s2) -/* 0BF954 800BED54 AE110044 */ sw $s1, 0x44($s0) -/* 0BF958 800BED58 922B0005 */ lbu $t3, 5($s1) -/* 0BF95C 800BED5C A20B0006 */ sb $t3, 6($s0) -/* 0BF960 800BED60 922C0003 */ lbu $t4, 3($s1) -/* 0BF964 800BED64 A20C0003 */ sb $t4, 3($s0) -/* 0BF968 800BED68 922D0002 */ lbu $t5, 2($s1) -/* 0BF96C 800BED6C A20D0002 */ sb $t5, 2($s0) -.L800BED70: -/* 0BF970 800BED70 00152843 */ sra $a1, $s5, 1 -/* 0BF974 800BED74 26730001 */ addiu $s3, $s3, 1 -/* 0BF978 800BED78 24010010 */ li $at, 16 -/* 0BF97C 800BED7C 30AEFFFF */ andi $t6, $a1, 0xffff -/* 0BF980 800BED80 1661FFD7 */ bne $s3, $at, .L800BECE0 -/* 0BF984 800BED84 01C02825 */ move $a1, $t6 -/* 0BF988 800BED88 8FBF003C */ lw $ra, 0x3c($sp) -/* 0BF98C 800BED8C 8FB00018 */ lw $s0, 0x18($sp) -/* 0BF990 800BED90 8FB1001C */ lw $s1, 0x1c($sp) -/* 0BF994 800BED94 8FB20020 */ lw $s2, 0x20($sp) -/* 0BF998 800BED98 8FB30024 */ lw $s3, 0x24($sp) -/* 0BF99C 800BED9C 8FB40028 */ lw $s4, 0x28($sp) -/* 0BF9A0 800BEDA0 8FB5002C */ lw $s5, 0x2c($sp) -/* 0BF9A4 800BEDA4 8FB60030 */ lw $s6, 0x30($sp) -/* 0BF9A8 800BEDA8 8FB70034 */ lw $s7, 0x34($sp) -/* 0BF9AC 800BEDAC 8FBE0038 */ lw $fp, 0x38($sp) -/* 0BF9B0 800BEDB0 03E00008 */ jr $ra -/* 0BF9B4 800BEDB4 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800BEDB8 -/* 0BF9B8 800BEDB8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0BF9BC 800BEDBC AFB50028 */ sw $s5, 0x28($sp) -/* 0BF9C0 800BEDC0 AFB70030 */ sw $s7, 0x30($sp) -/* 0BF9C4 800BEDC4 AFB6002C */ sw $s6, 0x2c($sp) -/* 0BF9C8 800BEDC8 AFB40024 */ sw $s4, 0x24($sp) -/* 0BF9CC 800BEDCC AFB10018 */ sw $s1, 0x18($sp) -/* 0BF9D0 800BEDD0 AFA5003C */ sw $a1, 0x3c($sp) -/* 0BF9D4 800BEDD4 30AEFFFF */ andi $t6, $a1, 0xffff -/* 0BF9D8 800BEDD8 3C15803B */ lui $s5, %hi(D_803B5EF0) # $s5, 0x803b -/* 0BF9DC 800BEDDC 01C02825 */ move $a1, $t6 -/* 0BF9E0 800BEDE0 0080A025 */ move $s4, $a0 -/* 0BF9E4 800BEDE4 AFBF0034 */ sw $ra, 0x34($sp) -/* 0BF9E8 800BEDE8 AFB30020 */ sw $s3, 0x20($sp) -/* 0BF9EC 800BEDEC AFB2001C */ sw $s2, 0x1c($sp) -/* 0BF9F0 800BEDF0 AFB00014 */ sw $s0, 0x14($sp) -/* 0BF9F4 800BEDF4 26B55EF0 */ addiu $s5, %lo(D_803B5EF0) # addiu $s5, $s5, 0x5ef0 -/* 0BF9F8 800BEDF8 00008825 */ move $s1, $zero -/* 0BF9FC 800BEDFC 24160001 */ li $s6, 1 -/* 0BFA00 800BEE00 24170010 */ li $s7, 16 -.L800BEE04: -/* 0BFA04 800BEE04 30AF0001 */ andi $t7, $a1, 1 -/* 0BFA08 800BEE08 11E0000F */ beqz $t7, .L800BEE48 -/* 0BFA0C 800BEE0C 00A09025 */ move $s2, $a1 -/* 0BFA10 800BEE10 0011C080 */ sll $t8, $s1, 2 -/* 0BFA14 800BEE14 02989821 */ addu $s3, $s4, $t8 -/* 0BFA18 800BEE18 8E700030 */ lw $s0, 0x30($s3) -/* 0BFA1C 800BEE1C 0215C826 */ xor $t9, $s0, $s5 -/* 0BFA20 800BEE20 0019C82B */ sltu $t9, $zero, $t9 -/* 0BFA24 800BEE24 56D90009 */ bnel $s6, $t9, .L800BEE4C -/* 0BFA28 800BEE28 00122843 */ sra $a1, $s2, 1 -/* 0BFA2C 800BEE2C 8E080044 */ lw $t0, 0x44($s0) -/* 0BFA30 800BEE30 56880005 */ bnel $s4, $t0, .L800BEE48 -/* 0BFA34 800BEE34 AE750030 */ sw $s5, 0x30($s3) -/* 0BFA38 800BEE38 0C02FAE9 */ jal func_800BEBA4 -/* 0BFA3C 800BEE3C 02002025 */ move $a0, $s0 -/* 0BFA40 800BEE40 AE000044 */ sw $zero, 0x44($s0) -/* 0BFA44 800BEE44 AE750030 */ sw $s5, 0x30($s3) -.L800BEE48: -/* 0BFA48 800BEE48 00122843 */ sra $a1, $s2, 1 -.L800BEE4C: -/* 0BFA4C 800BEE4C 26310001 */ addiu $s1, $s1, 1 -/* 0BFA50 800BEE50 30A9FFFF */ andi $t1, $a1, 0xffff -/* 0BFA54 800BEE54 1637FFEB */ bne $s1, $s7, .L800BEE04 -/* 0BFA58 800BEE58 01202825 */ move $a1, $t1 -/* 0BFA5C 800BEE5C 8FBF0034 */ lw $ra, 0x34($sp) -/* 0BFA60 800BEE60 8FB00014 */ lw $s0, 0x14($sp) -/* 0BFA64 800BEE64 8FB10018 */ lw $s1, 0x18($sp) -/* 0BFA68 800BEE68 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BFA6C 800BEE6C 8FB30020 */ lw $s3, 0x20($sp) -/* 0BFA70 800BEE70 8FB40024 */ lw $s4, 0x24($sp) -/* 0BFA74 800BEE74 8FB50028 */ lw $s5, 0x28($sp) -/* 0BFA78 800BEE78 8FB6002C */ lw $s6, 0x2c($sp) -/* 0BFA7C 800BEE7C 8FB70030 */ lw $s7, 0x30($sp) -/* 0BFA80 800BEE80 03E00008 */ jr $ra -/* 0BFA84 800BEE84 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800BEE88 -/* 0BFA88 800BEE88 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BFA8C 800BEE8C 30AE00FF */ andi $t6, $a1, 0xff -/* 0BFA90 800BEE90 000E7880 */ sll $t7, $t6, 2 -/* 0BFA94 800BEE94 AFBF0024 */ sw $ra, 0x24($sp) -/* 0BFA98 800BEE98 AFB30020 */ sw $s3, 0x20($sp) -/* 0BFA9C 800BEE9C AFB2001C */ sw $s2, 0x1c($sp) -/* 0BFAA0 800BEEA0 AFB10018 */ sw $s1, 0x18($sp) -/* 0BFAA4 800BEEA4 AFB00014 */ sw $s0, 0x14($sp) -/* 0BFAA8 800BEEA8 AFA5002C */ sw $a1, 0x2c($sp) -/* 0BFAAC 800BEEAC 008FC021 */ addu $t8, $a0, $t7 -/* 0BFAB0 800BEEB0 8F120030 */ lw $s2, 0x30($t8) -/* 0BFAB4 800BEEB4 3C19803B */ lui $t9, %hi(D_803B5EF0) # $t9, 0x803b -/* 0BFAB8 800BEEB8 27395EF0 */ addiu $t9, %lo(D_803B5EF0) # addiu $t9, $t9, 0x5ef0 -/* 0BFABC 800BEEBC 12590014 */ beq $s2, $t9, .L800BEF10 -/* 0BFAC0 800BEEC0 00008025 */ move $s0, $zero -/* 0BFAC4 800BEEC4 924A0000 */ lbu $t2, ($s2) -/* 0BFAC8 800BEEC8 A2400078 */ sb $zero, 0x78($s2) -/* 0BFACC 800BEECC AE460060 */ sw $a2, 0x60($s2) -/* 0BFAD0 800BEED0 354C0080 */ ori $t4, $t2, 0x80 -/* 0BFAD4 800BEED4 A24C0000 */ sb $t4, ($s2) -/* 0BFAD8 800BEED8 318D00BF */ andi $t5, $t4, 0xbf -/* 0BFADC 800BEEDC A24D0000 */ sb $t5, ($s2) -/* 0BFAE0 800BEEE0 A640001A */ sh $zero, 0x1a($s2) -/* 0BFAE4 800BEEE4 02408825 */ move $s1, $s2 -/* 0BFAE8 800BEEE8 24130004 */ li $s3, 4 -.L800BEEEC: -/* 0BFAEC 800BEEEC 8E2E0048 */ lw $t6, 0x48($s1) -/* 0BFAF0 800BEEF0 02402025 */ move $a0, $s2 -/* 0BFAF4 800BEEF4 51C00004 */ beql $t6, $zero, .L800BEF08 -/* 0BFAF8 800BEEF8 26100001 */ addiu $s0, $s0, 1 -/* 0BFAFC 800BEEFC 0C02FAD5 */ jal func_800BEB54 -/* 0BFB00 800BEF00 02002825 */ move $a1, $s0 -/* 0BFB04 800BEF04 26100001 */ addiu $s0, $s0, 1 -.L800BEF08: -/* 0BFB08 800BEF08 1613FFF8 */ bne $s0, $s3, .L800BEEEC -/* 0BFB0C 800BEF0C 26310004 */ addiu $s1, $s1, 4 -.L800BEF10: -/* 0BFB10 800BEF10 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BFB14 800BEF14 8FB00014 */ lw $s0, 0x14($sp) -/* 0BFB18 800BEF18 8FB10018 */ lw $s1, 0x18($sp) -/* 0BFB1C 800BEF1C 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BFB20 800BEF20 8FB30020 */ lw $s3, 0x20($sp) -/* 0BFB24 800BEF24 03E00008 */ jr $ra -/* 0BFB28 800BEF28 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_800BEF2C -/* 0BFB2C 800BEF2C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0BFB30 800BEF30 AFBF0014 */ sw $ra, 0x14($sp) -/* 0BFB34 800BEF34 AFA40018 */ sw $a0, 0x18($sp) -/* 0BFB38 800BEF38 0C02FB6E */ jal func_800BEDB8 -/* 0BFB3C 800BEF3C 3405FFFF */ li $a1, 65535 -/* 0BFB40 800BEF40 8FA60018 */ lw $a2, 0x18($sp) -/* 0BFB44 800BEF44 0C02F506 */ jal func_800BD418 -/* 0BFB48 800BEF48 24C40094 */ addiu $a0, $a2, 0x94 -/* 0BFB4C 800BEF4C 8FA60018 */ lw $a2, 0x18($sp) -/* 0BFB50 800BEF50 3C0A803B */ lui $t2, %hi(D_803B0400) # $t2, 0x803b -/* 0BFB54 800BEF54 254A0400 */ addiu $t2, %lo(D_803B0400) # addiu $t2, $t2, 0x400 -/* 0BFB58 800BEF58 90CF0000 */ lbu $t7, ($a2) -/* 0BFB5C 800BEF5C 90C90004 */ lbu $t1, 4($a2) -/* 0BFB60 800BEF60 35F90040 */ ori $t9, $t7, 0x40 -/* 0BFB64 800BEF64 3328007F */ andi $t0, $t9, 0x7f -/* 0BFB68 800BEF68 A0D90000 */ sb $t9, ($a2) -/* 0BFB6C 800BEF6C A0C80000 */ sb $t0, ($a2) -/* 0BFB70 800BEF70 012A1021 */ addu $v0, $t1, $t2 -/* 0BFB74 800BEF74 90430000 */ lbu $v1, ($v0) -/* 0BFB78 800BEF78 240F0001 */ li $t7, 1 -/* 0BFB7C 800BEF7C 28610002 */ slti $at, $v1, 2 -/* 0BFB80 800BEF80 14200004 */ bnez $at, .L800BEF94 -/* 0BFB84 800BEF84 24010005 */ li $at, 5 -/* 0BFB88 800BEF88 10610002 */ beq $v1, $at, .L800BEF94 -/* 0BFB8C 800BEF8C 240B0003 */ li $t3, 3 -/* 0BFB90 800BEF90 A04B0000 */ sb $t3, ($v0) -.L800BEF94: -/* 0BFB94 800BEF94 90C20005 */ lbu $v0, 5($a2) -/* 0BFB98 800BEF98 3C0C803B */ lui $t4, %hi(D_803B03C0) # $t4, 0x803b -/* 0BFB9C 800BEF9C 258C03C0 */ addiu $t4, %lo(D_803B03C0) # addiu $t4, $t4, 0x3c0 -/* 0BFBA0 800BEFA0 004C1821 */ addu $v1, $v0, $t4 -/* 0BFBA4 800BEFA4 90640000 */ lbu $a0, ($v1) -/* 0BFBA8 800BEFA8 28810002 */ slti $at, $a0, 2 -/* 0BFBAC 800BEFAC 14200005 */ bnez $at, .L800BEFC4 -/* 0BFBB0 800BEFB0 24010005 */ li $at, 5 -/* 0BFBB4 800BEFB4 10810003 */ beq $a0, $at, .L800BEFC4 -/* 0BFBB8 800BEFB8 240D0004 */ li $t5, 4 -/* 0BFBBC 800BEFBC A06D0000 */ sb $t5, ($v1) -/* 0BFBC0 800BEFC0 90C20005 */ lbu $v0, 5($a2) -.L800BEFC4: -/* 0BFBC4 800BEFC4 3C04803B */ lui $a0, %hi(D_803AFE18) # $a0, 0x803b -/* 0BFBC8 800BEFC8 2484FE18 */ addiu $a0, %lo(D_803AFE18) # addiu $a0, $a0, -0x1e8 -/* 0BFBCC 800BEFCC 848E01B2 */ lh $t6, 0x1b2($a0) -/* 0BFBD0 800BEFD0 00401825 */ move $v1, $v0 -/* 0BFBD4 800BEFD4 544E0004 */ bnel $v0, $t6, .L800BEFE8 -/* 0BFBD8 800BEFD8 849801BE */ lh $t8, 0x1be($a0) -/* 0BFBDC 800BEFDC 10000005 */ b .L800BEFF4 -/* 0BFBE0 800BEFE0 AC8F0194 */ sw $t7, 0x194($a0) -/* 0BFBE4 800BEFE4 849801BE */ lh $t8, 0x1be($a0) -.L800BEFE8: -/* 0BFBE8 800BEFE8 54780003 */ bnel $v1, $t8, .L800BEFF8 -/* 0BFBEC 800BEFEC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0BFBF0 800BEFF0 AC800194 */ sw $zero, 0x194($a0) -.L800BEFF4: -/* 0BFBF4 800BEFF4 8FBF0014 */ lw $ra, 0x14($sp) -.L800BEFF8: -/* 0BFBF8 800BEFF8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0BFBFC 800BEFFC 03E00008 */ jr $ra -/* 0BFC00 800BF000 00000000 */ nop - -glabel func_800BF004 -/* 0BFC04 800BF004 8CAE0000 */ lw $t6, ($a1) -/* 0BFC08 800BF008 15C0000C */ bnez $t6, .L800BF03C -/* 0BFC0C 800BF00C 00000000 */ nop -/* 0BFC10 800BF010 8C8F0000 */ lw $t7, ($a0) -/* 0BFC14 800BF014 ADE50004 */ sw $a1, 4($t7) -/* 0BFC18 800BF018 8C980000 */ lw $t8, ($a0) -/* 0BFC1C 800BF01C ACA40004 */ sw $a0, 4($a1) -/* 0BFC20 800BF020 ACB80000 */ sw $t8, ($a1) -/* 0BFC24 800BF024 8C990008 */ lw $t9, 8($a0) -/* 0BFC28 800BF028 8C89000C */ lw $t1, 0xc($a0) -/* 0BFC2C 800BF02C AC850000 */ sw $a1, ($a0) -/* 0BFC30 800BF030 27280001 */ addiu $t0, $t9, 1 -/* 0BFC34 800BF034 AC880008 */ sw $t0, 8($a0) -/* 0BFC38 800BF038 ACA9000C */ sw $t1, 0xc($a1) -.L800BF03C: -/* 0BFC3C 800BF03C 03E00008 */ jr $ra -/* 0BFC40 800BF040 00000000 */ nop - -glabel func_800BF044 -/* 0BFC44 800BF044 8C830000 */ lw $v1, ($a0) -/* 0BFC48 800BF048 54640004 */ bnel $v1, $a0, .L800BF05C -/* 0BFC4C 800BF04C 8C6E0000 */ lw $t6, ($v1) -/* 0BFC50 800BF050 03E00008 */ jr $ra -/* 0BFC54 800BF054 00001025 */ move $v0, $zero - -/* 0BFC58 800BF058 8C6E0000 */ lw $t6, ($v1) -.L800BF05C: -/* 0BFC5C 800BF05C ADC40004 */ sw $a0, 4($t6) -/* 0BFC60 800BF060 8C6F0000 */ lw $t7, ($v1) -/* 0BFC64 800BF064 AC8F0000 */ sw $t7, ($a0) -/* 0BFC68 800BF068 AC600000 */ sw $zero, ($v1) -/* 0BFC6C 800BF06C 8C980008 */ lw $t8, 8($a0) -/* 0BFC70 800BF070 2719FFFF */ addiu $t9, $t8, -1 -/* 0BFC74 800BF074 AC990008 */ sw $t9, 8($a0) -/* 0BFC78 800BF078 8C620008 */ lw $v0, 8($v1) -/* 0BFC7C 800BF07C 03E00008 */ jr $ra -/* 0BFC80 800BF080 00000000 */ nop - -glabel func_800BF084 -/* 0BFC84 800BF084 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0BFC88 800BF088 AFB2001C */ sw $s2, 0x1c($sp) -/* 0BFC8C 800BF08C 3C12803B */ lui $s2, %hi(D_803B5FB8) # $s2, 0x803b -/* 0BFC90 800BF090 26525FB8 */ addiu $s2, %lo(D_803B5FB8) # addiu $s2, $s2, 0x5fb8 -/* 0BFC94 800BF094 AFB30020 */ sw $s3, 0x20($sp) -/* 0BFC98 800BF098 AFB10018 */ sw $s1, 0x18($sp) -/* 0BFC9C 800BF09C AFB00014 */ sw $s0, 0x14($sp) -/* 0BFCA0 800BF0A0 3C10803B */ lui $s0, %hi(D_803B3EF0) # $s0, 0x803b -/* 0BFCA4 800BF0A4 3C11803B */ lui $s1, %hi(D_803B3F5C) # $s1, 0x803b -/* 0BFCA8 800BF0A8 3C13803B */ lui $s3, %hi(D_803B5F5C) # $s3, 0x803b -/* 0BFCAC 800BF0AC AFBF0024 */ sw $ra, 0x24($sp) -/* 0BFCB0 800BF0B0 AE520000 */ sw $s2, ($s2) -/* 0BFCB4 800BF0B4 AE520004 */ sw $s2, 4($s2) -/* 0BFCB8 800BF0B8 AE400008 */ sw $zero, 8($s2) -/* 0BFCBC 800BF0BC AE40000C */ sw $zero, 0xc($s2) -/* 0BFCC0 800BF0C0 26735F5C */ addiu $s3, %lo(D_803B5F5C) # addiu $s3, $s3, 0x5f5c -/* 0BFCC4 800BF0C4 26313F5C */ addiu $s1, %lo(D_803B3F5C) # addiu $s1, $s1, 0x3f5c -/* 0BFCC8 800BF0C8 26103EF0 */ addiu $s0, %lo(D_803B3EF0) # addiu $s0, $s0, 0x3ef0 -.L800BF0CC: -/* 0BFCCC 800BF0CC AE100074 */ sw $s0, 0x74($s0) -/* 0BFCD0 800BF0D0 AE00006C */ sw $zero, 0x6c($s0) -/* 0BFCD4 800BF0D4 02402025 */ move $a0, $s2 -/* 0BFCD8 800BF0D8 0C02FC01 */ jal func_800BF004 -/* 0BFCDC 800BF0DC 02202825 */ move $a1, $s1 -/* 0BFCE0 800BF0E0 26310080 */ addiu $s1, $s1, 0x80 -/* 0BFCE4 800BF0E4 1633FFF9 */ bne $s1, $s3, .L800BF0CC -/* 0BFCE8 800BF0E8 26100080 */ addiu $s0, $s0, 0x80 -/* 0BFCEC 800BF0EC 8FBF0024 */ lw $ra, 0x24($sp) -/* 0BFCF0 800BF0F0 8FB00014 */ lw $s0, 0x14($sp) -/* 0BFCF4 800BF0F4 8FB10018 */ lw $s1, 0x18($sp) -/* 0BFCF8 800BF0F8 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BFCFC 800BF0FC 8FB30020 */ lw $s3, 0x20($sp) -/* 0BFD00 800BF100 03E00008 */ jr $ra -/* 0BFD04 800BF104 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_800BF108 -/* 0BFD08 800BF108 8C850000 */ lw $a1, ($a0) -/* 0BFD0C 800BF10C 90A20000 */ lbu $v0, ($a1) -/* 0BFD10 800BF110 24AE0001 */ addiu $t6, $a1, 1 -/* 0BFD14 800BF114 03E00008 */ jr $ra -/* 0BFD18 800BF118 AC8E0000 */ sw $t6, ($a0) - -glabel func_800BF11C -/* 0BFD1C 800BF11C 8C850000 */ lw $a1, ($a0) -/* 0BFD20 800BF120 90A30000 */ lbu $v1, ($a1) -/* 0BFD24 800BF124 24B90001 */ addiu $t9, $a1, 1 -/* 0BFD28 800BF128 AC990000 */ sw $t9, ($a0) -/* 0BFD2C 800BF12C 93280000 */ lbu $t0, ($t9) -/* 0BFD30 800BF130 0003C200 */ sll $t8, $v1, 8 -/* 0BFD34 800BF134 272B0001 */ addiu $t3, $t9, 1 -/* 0BFD38 800BF138 01181825 */ or $v1, $t0, $t8 -/* 0BFD3C 800BF13C 00034C00 */ sll $t1, $v1, 0x10 -/* 0BFD40 800BF140 00091403 */ sra $v0, $t1, 0x10 -/* 0BFD44 800BF144 03E00008 */ jr $ra -/* 0BFD48 800BF148 AC8B0000 */ sw $t3, ($a0) - -glabel func_800BF14C -/* 0BFD4C 800BF14C 8C820000 */ lw $v0, ($a0) -/* 0BFD50 800BF150 90430000 */ lbu $v1, ($v0) -/* 0BFD54 800BF154 244E0001 */ addiu $t6, $v0, 1 -/* 0BFD58 800BF158 AC8E0000 */ sw $t6, ($a0) -/* 0BFD5C 800BF15C 306F0080 */ andi $t7, $v1, 0x80 -/* 0BFD60 800BF160 11E00009 */ beqz $t7, .L800BF188 -/* 0BFD64 800BF164 00602825 */ move $a1, $v1 -/* 0BFD68 800BF168 91C80000 */ lbu $t0, ($t6) -/* 0BFD6C 800BF16C 00051A00 */ sll $v1, $a1, 8 -/* 0BFD70 800BF170 30797F00 */ andi $t9, $v1, 0x7f00 -/* 0BFD74 800BF174 01191825 */ or $v1, $t0, $t9 -/* 0BFD78 800BF178 3069FFFF */ andi $t1, $v1, 0xffff -/* 0BFD7C 800BF17C 25CA0001 */ addiu $t2, $t6, 1 -/* 0BFD80 800BF180 AC8A0000 */ sw $t2, ($a0) -/* 0BFD84 800BF184 01201825 */ move $v1, $t1 -.L800BF188: -/* 0BFD88 800BF188 03E00008 */ jr $ra -/* 0BFD8C 800BF18C 00601025 */ move $v0, $v1 - -glabel func_800BF190 -/* 0BFD90 800BF190 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0BFD94 800BF194 240E0001 */ li $t6, 1 -/* 0BFD98 800BF198 AFBF002C */ sw $ra, 0x2c($sp) -/* 0BFD9C 800BF19C AFB40028 */ sw $s4, 0x28($sp) -/* 0BFDA0 800BF1A0 AFB30024 */ sw $s3, 0x24($sp) -/* 0BFDA4 800BF1A4 AFB20020 */ sw $s2, 0x20($sp) -/* 0BFDA8 800BF1A8 AFB1001C */ sw $s1, 0x1c($sp) -/* 0BFDAC 800BF1AC AFB00018 */ sw $s0, 0x18($sp) -/* 0BFDB0 800BF1B0 AFAE0044 */ sw $t6, 0x44($sp) -/* 0BFDB4 800BF1B4 8C820000 */ lw $v0, ($a0) -/* 0BFDB8 800BF1B8 00808825 */ move $s1, $a0 -/* 0BFDBC 800BF1BC 00027FC2 */ srl $t7, $v0, 0x1f -/* 0BFDC0 800BF1C0 51E002A2 */ beql $t7, $zero, .L800BFC4C -/* 0BFDC4 800BF1C4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BFDC8 800BF1C8 84830038 */ lh $v1, 0x38($a0) -/* 0BFDCC 800BF1CC 00024080 */ sll $t0, $v0, 2 -/* 0BFDD0 800BF1D0 000278C0 */ sll $t7, $v0, 3 -/* 0BFDD4 800BF1D4 28610002 */ slti $at, $v1, 2 -/* 0BFDD8 800BF1D8 1420000E */ bnez $at, .L800BF214 -/* 0BFDDC 800BF1DC 2478FFFF */ addiu $t8, $v1, -1 -/* 0BFDE0 800BF1E0 05000299 */ bltz $t0, .L800BFC48 -/* 0BFDE4 800BF1E4 A4980038 */ sh $t8, 0x38($a0) -/* 0BFDE8 800BF1E8 8489003A */ lh $t1, 0x3a($a0) -/* 0BFDEC 800BF1EC 848A0038 */ lh $t2, 0x38($a0) -/* 0BFDF0 800BF1F0 012A082A */ slt $at, $t1, $t2 -/* 0BFDF4 800BF1F4 54200295 */ bnel $at, $zero, .L800BFC4C -/* 0BFDF8 800BF1F8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BFDFC 800BF1FC 0C02F448 */ jal func_800BD120 -/* 0BFE00 800BF200 00000000 */ nop -/* 0BFE04 800BF204 922C0000 */ lbu $t4, ($s1) -/* 0BFE08 800BF208 358D0020 */ ori $t5, $t4, 0x20 -/* 0BFE0C 800BF20C 1000028E */ b .L800BFC48 -/* 0BFE10 800BF210 A22D0000 */ sb $t5, ($s1) -.L800BF214: -/* 0BFE14 800BF214 05E20004 */ bltzl $t7, .L800BF228 -/* 0BFE18 800BF218 92220008 */ lbu $v0, 8($s1) -/* 0BFE1C 800BF21C 0C02F448 */ jal func_800BD120 -/* 0BFE20 800BF220 02202025 */ move $a0, $s1 -/* 0BFE24 800BF224 92220008 */ lbu $v0, 8($s1) -.L800BF228: -/* 0BFE28 800BF228 2401FF7F */ li $at, -129 -/* 0BFE2C 800BF22C 0041C024 */ and $t8, $v0, $at -/* 0BFE30 800BF230 24010001 */ li $at, 1 -/* 0BFE34 800BF234 13010003 */ beq $t8, $at, .L800BF244 -/* 0BFE38 800BF238 24010002 */ li $at, 2 -/* 0BFE3C 800BF23C 57010003 */ bnel $t8, $at, .L800BF24C -/* 0BFE40 800BF240 8E22004C */ lw $v0, 0x4c($s1) -.L800BF244: -/* 0BFE44 800BF244 A2200008 */ sb $zero, 8($s1) -/* 0BFE48 800BF248 8E22004C */ lw $v0, 0x4c($s1) -.L800BF24C: -/* 0BFE4C 800BF24C 92280000 */ lbu $t0, ($s1) -/* 0BFE50 800BF250 26300050 */ addiu $s0, $s1, 0x50 -/* 0BFE54 800BF254 8C540044 */ lw $s4, 0x44($v0) -/* 0BFE58 800BF258 35090004 */ ori $t1, $t0, 4 -/* 0BFE5C 800BF25C A2290000 */ sb $t1, ($s1) -/* 0BFE60 800BF260 97B3004A */ lhu $s3, 0x4a($sp) -/* 0BFE64 800BF264 AFA20068 */ sw $v0, 0x68($sp) -.L800BF268: -/* 0BFE68 800BF268 0C02FC42 */ jal func_800BF108 -/* 0BFE6C 800BF26C 02002025 */ move $a0, $s0 -/* 0BFE70 800BF270 284100C1 */ slti $at, $v0, 0xc1 -/* 0BFE74 800BF274 305200FF */ andi $s2, $v0, 0xff -/* 0BFE78 800BF278 142000FD */ bnez $at, .L800BF670 -/* 0BFE7C 800BF27C 00402825 */ move $a1, $v0 -/* 0BFE80 800BF280 284100CD */ slti $at, $v0, 0xcd -/* 0BFE84 800BF284 1420000A */ bnez $at, .L800BF2B0 -/* 0BFE88 800BF288 24ABFF3F */ addiu $t3, $a1, -0xc1 -/* 0BFE8C 800BF28C 244AFF0C */ addiu $t2, $v0, -0xf4 -/* 0BFE90 800BF290 2D41000C */ sltiu $at, $t2, 0xc -/* 0BFE94 800BF294 102000DA */ beqz $at, .L800BF600 -/* 0BFE98 800BF298 000A5080 */ sll $t2, $t2, 2 -/* 0BFE9C 800BF29C 3C01800F */ lui $at, %hi(D_800F2F10) -/* 0BFEA0 800BF2A0 002A0821 */ addu $at, $at, $t2 -/* 0BFEA4 800BF2A4 8C2A2F10 */ lw $t2, %lo(D_800F2F10)($at) -/* 0BFEA8 800BF2A8 01400008 */ jr $t2 -/* 0BFEAC 800BF2AC 00000000 */ nop -.L800BF2B0: -/* 0BFEB0 800BF2B0 2D61000C */ sltiu $at, $t3, 0xc -/* 0BFEB4 800BF2B4 102000D2 */ beqz $at, .L800BF600 -/* 0BFEB8 800BF2B8 000B5880 */ sll $t3, $t3, 2 -/* 0BFEBC 800BF2BC 3C01800F */ lui $at, %hi(D_800F2F40) -/* 0BFEC0 800BF2C0 002B0821 */ addu $at, $at, $t3 -/* 0BFEC4 800BF2C4 8C2B2F40 */ lw $t3, %lo(D_800F2F40)($at) -/* 0BFEC8 800BF2C8 01600008 */ jr $t3 -/* 0BFECC 800BF2CC 00000000 */ nop -glabel L800BF2D0 -/* 0BFED0 800BF2D0 92030018 */ lbu $v1, 0x18($s0) -/* 0BFED4 800BF2D4 14600005 */ bnez $v1, .L800BF2EC -/* 0BFED8 800BF2D8 2462FFFF */ addiu $v0, $v1, -1 -/* 0BFEDC 800BF2DC 0C02FAC6 */ jal func_800BEB18 -/* 0BFEE0 800BF2E0 02202025 */ move $a0, $s1 -/* 0BFEE4 800BF2E4 10000259 */ b .L800BFC4C -/* 0BFEE8 800BF2E8 8FBF002C */ lw $ra, 0x2c($sp) -.L800BF2EC: -/* 0BFEEC 800BF2EC 304C00FF */ andi $t4, $v0, 0xff -/* 0BFEF0 800BF2F0 000C6880 */ sll $t5, $t4, 2 -/* 0BFEF4 800BF2F4 020D7021 */ addu $t6, $s0, $t5 -/* 0BFEF8 800BF2F8 A20C0018 */ sb $t4, 0x18($s0) -/* 0BFEFC 800BF2FC 8DCF0004 */ lw $t7, 4($t6) -/* 0BFF00 800BF300 1000FFD9 */ b .L800BF268 -/* 0BFF04 800BF304 AE0F0000 */ sw $t7, ($s0) -glabel L800BF308 -/* 0BFF08 800BF308 0C02FC47 */ jal func_800BF11C -/* 0BFF0C 800BF30C 02002025 */ move $a0, $s0 -/* 0BFF10 800BF310 92190018 */ lbu $t9, 0x18($s0) -/* 0BFF14 800BF314 8E180000 */ lw $t8, ($s0) -/* 0BFF18 800BF318 304DFFFF */ andi $t5, $v0, 0xffff -/* 0BFF1C 800BF31C 00194080 */ sll $t0, $t9, 2 -/* 0BFF20 800BF320 02084821 */ addu $t1, $s0, $t0 -/* 0BFF24 800BF324 AD380004 */ sw $t8, 4($t1) -/* 0BFF28 800BF328 920A0018 */ lbu $t2, 0x18($s0) -/* 0BFF2C 800BF32C 3053FFFF */ andi $s3, $v0, 0xffff -/* 0BFF30 800BF330 254B0001 */ addiu $t3, $t2, 1 -/* 0BFF34 800BF334 A20B0018 */ sb $t3, 0x18($s0) -/* 0BFF38 800BF338 8E8C0014 */ lw $t4, 0x14($s4) -/* 0BFF3C 800BF33C 018D7021 */ addu $t6, $t4, $t5 -/* 0BFF40 800BF340 1000FFC9 */ b .L800BF268 -/* 0BFF44 800BF344 AE0E0000 */ sw $t6, ($s0) -glabel L800BF348 -/* 0BFF48 800BF348 0C02FC42 */ jal func_800BF108 -/* 0BFF4C 800BF34C 02002025 */ move $a0, $s0 -/* 0BFF50 800BF350 920F0018 */ lbu $t7, 0x18($s0) -/* 0BFF54 800BF354 020FC821 */ addu $t9, $s0, $t7 -/* 0BFF58 800BF358 A3220014 */ sb $v0, 0x14($t9) -/* 0BFF5C 800BF35C 92180018 */ lbu $t8, 0x18($s0) -/* 0BFF60 800BF360 8E080000 */ lw $t0, ($s0) -/* 0BFF64 800BF364 00184880 */ sll $t1, $t8, 2 -/* 0BFF68 800BF368 02095021 */ addu $t2, $s0, $t1 -/* 0BFF6C 800BF36C AD480004 */ sw $t0, 4($t2) -/* 0BFF70 800BF370 920B0018 */ lbu $t3, 0x18($s0) -/* 0BFF74 800BF374 256C0001 */ addiu $t4, $t3, 1 -/* 0BFF78 800BF378 1000FFBB */ b .L800BF268 -/* 0BFF7C 800BF37C A20C0018 */ sb $t4, 0x18($s0) -glabel L800BF380 -/* 0BFF80 800BF380 920D0018 */ lbu $t5, 0x18($s0) -/* 0BFF84 800BF384 020D1021 */ addu $v0, $s0, $t5 -/* 0BFF88 800BF388 904E0013 */ lbu $t6, 0x13($v0) -/* 0BFF8C 800BF38C 25CFFFFF */ addiu $t7, $t6, -1 -/* 0BFF90 800BF390 A04F0013 */ sb $t7, 0x13($v0) -/* 0BFF94 800BF394 92030018 */ lbu $v1, 0x18($s0) -/* 0BFF98 800BF398 0203C821 */ addu $t9, $s0, $v1 -/* 0BFF9C 800BF39C 93380013 */ lbu $t8, 0x13($t9) -/* 0BFFA0 800BF3A0 00602025 */ move $a0, $v1 -/* 0BFFA4 800BF3A4 00044880 */ sll $t1, $a0, 2 -/* 0BFFA8 800BF3A8 13000005 */ beqz $t8, .L800BF3C0 -/* 0BFFAC 800BF3AC 246BFFFF */ addiu $t3, $v1, -1 -/* 0BFFB0 800BF3B0 02094021 */ addu $t0, $s0, $t1 -/* 0BFFB4 800BF3B4 8D0A0000 */ lw $t2, ($t0) -/* 0BFFB8 800BF3B8 1000FFAB */ b .L800BF268 -/* 0BFFBC 800BF3BC AE0A0000 */ sw $t2, ($s0) -.L800BF3C0: -/* 0BFFC0 800BF3C0 1000FFA9 */ b .L800BF268 -/* 0BFFC4 800BF3C4 A20B0018 */ sb $t3, 0x18($s0) -glabel L800BF3C8 -/* 0BFFC8 800BF3C8 0C02FC47 */ jal func_800BF11C -/* 0BFFCC 800BF3CC 02002025 */ move $a0, $s0 -/* 0BFFD0 800BF3D0 8E8C0014 */ lw $t4, 0x14($s4) -/* 0BFFD4 800BF3D4 304DFFFF */ andi $t5, $v0, 0xffff -/* 0BFFD8 800BF3D8 3053FFFF */ andi $s3, $v0, 0xffff -/* 0BFFDC 800BF3DC 018D7021 */ addu $t6, $t4, $t5 -/* 0BFFE0 800BF3E0 1000FFA1 */ b .L800BF268 -/* 0BFFE4 800BF3E4 AE0E0000 */ sw $t6, ($s0) -glabel L800BF3E8 -/* 0BFFE8 800BF3E8 0C02FC42 */ jal func_800BF108 -/* 0BFFEC 800BF3EC 02002025 */ move $a0, $s0 -/* 0BFFF0 800BF3F0 8E0F0000 */ lw $t7, ($s0) -/* 0BFFF4 800BF3F4 0002CE00 */ sll $t9, $v0, 0x18 -/* 0BFFF8 800BF3F8 0019C603 */ sra $t8, $t9, 0x18 -/* 0BFFFC 800BF3FC 01F84821 */ addu $t1, $t7, $t8 -/* 0C0000 800BF400 1000FF99 */ b .L800BF268 -/* 0C0004 800BF404 AE090000 */ sw $t1, ($s0) -glabel L800BF408 -/* 0C0008 800BF408 8E030000 */ lw $v1, ($s0) -/* 0C000C 800BF40C 240100C1 */ li $at, 193 -/* 0C0010 800BF410 90640000 */ lbu $a0, ($v1) -/* 0C0014 800BF414 24680001 */ addiu $t0, $v1, 1 -/* 0C0018 800BF418 14A1000B */ bne $a1, $at, .L800BF448 -/* 0C001C 800BF41C AE080000 */ sw $t0, ($s0) -/* 0C0020 800BF420 00840019 */ multu $a0, $a0 -/* 0C0024 800BF424 3C01800F */ lui $at, %hi(D_800F2F70) # $at, 0x800f -/* 0C0028 800BF428 C4282F70 */ lwc1 $f8, %lo(D_800F2F70)($at) -/* 0C002C 800BF42C 00005012 */ mflo $t2 -/* 0C0030 800BF430 448A2000 */ mtc1 $t2, $f4 -/* 0C0034 800BF434 00000000 */ nop -/* 0C0038 800BF438 468021A0 */ cvt.s.w $f6, $f4 -/* 0C003C 800BF43C 46083283 */ div.s $f10, $f6, $f8 -/* 0C0040 800BF440 1000FF89 */ b .L800BF268 -/* 0C0044 800BF444 E62A0028 */ swc1 $f10, 0x28($s1) -.L800BF448: -/* 0C0048 800BF448 1000FF87 */ b .L800BF268 -/* 0C004C 800BF44C A2240005 */ sb $a0, 5($s1) -glabel L800BF450 -/* 0C0050 800BF450 8E030000 */ lw $v1, ($s0) -/* 0C0054 800BF454 240100C9 */ li $at, 201 -/* 0C0058 800BF458 90640000 */ lbu $a0, ($v1) -/* 0C005C 800BF45C 246B0001 */ addiu $t3, $v1, 1 -/* 0C0060 800BF460 14A10003 */ bne $a1, $at, .L800BF470 -/* 0C0064 800BF464 AE0B0000 */ sw $t3, ($s0) -/* 0C0068 800BF468 1000FF7F */ b .L800BF268 -/* 0C006C 800BF46C A2240003 */ sb $a0, 3($s1) -.L800BF470: -/* 0C0070 800BF470 1000FF7D */ b .L800BF268 -/* 0C0074 800BF474 A6240022 */ sh $a0, 0x22($s1) -glabel L800BF478 -/* 0C0078 800BF478 240100C4 */ li $at, 196 -/* 0C007C 800BF47C 54A10006 */ bnel $a1, $at, .L800BF498 -/* 0C0080 800BF480 92390000 */ lbu $t9, ($s1) -/* 0C0084 800BF484 922D0000 */ lbu $t5, ($s1) -/* 0C0088 800BF488 35AE0010 */ ori $t6, $t5, 0x10 -/* 0C008C 800BF48C 10000004 */ b .L800BF4A0 -/* 0C0090 800BF490 A22E0000 */ sb $t6, ($s1) -/* 0C0094 800BF494 92390000 */ lbu $t9, ($s1) -.L800BF498: -/* 0C0098 800BF498 332FFFEF */ andi $t7, $t9, 0xffef -/* 0C009C 800BF49C A22F0000 */ sb $t7, ($s1) -.L800BF4A0: -/* 0C00A0 800BF4A0 0C02F448 */ jal func_800BD120 -/* 0C00A4 800BF4A4 02202025 */ move $a0, $s1 -/* 0C00A8 800BF4A8 1000FF6F */ b .L800BF268 -/* 0C00AC 800BF4AC 00000000 */ nop -glabel L800BF4B0 -/* 0C00B0 800BF4B0 0C02FC53 */ jal func_800BF14C -/* 0C00B4 800BF4B4 02002025 */ move $a0, $s0 -/* 0C00B8 800BF4B8 3053FFFF */ andi $s3, $v0, 0xffff -/* 0C00BC 800BF4BC 1000FF6A */ b .L800BF268 -/* 0C00C0 800BF4C0 A6220034 */ sh $v0, 0x34($s1) -glabel L800BF4C4 -/* 0C00C4 800BF4C4 0C02FC42 */ jal func_800BF108 -/* 0C00C8 800BF4C8 02002025 */ move $a0, $s0 -/* 0C00CC 800BF4CC 2841007F */ slti $at, $v0, 0x7f -/* 0C00D0 800BF4D0 305200FF */ andi $s2, $v0, 0xff -/* 0C00D4 800BF4D4 1420000D */ bnez $at, .L800BF50C -/* 0C00D8 800BF4D8 00402825 */ move $a1, $v0 -/* 0C00DC 800BF4DC 2401007F */ li $at, 127 -/* 0C00E0 800BF4E0 54410004 */ bnel $v0, $at, .L800BF4F4 -/* 0C00E4 800BF4E4 A2220001 */ sb $v0, 1($s1) -/* 0C00E8 800BF4E8 10000003 */ b .L800BF4F8 -/* 0C00EC 800BF4EC A2200001 */ sb $zero, 1($s1) -/* 0C00F0 800BF4F0 A2220001 */ sb $v0, 1($s1) -.L800BF4F4: -/* 0C00F4 800BF4F4 AE200044 */ sw $zero, 0x44($s1) -.L800BF4F8: -/* 0C00F8 800BF4F8 240100FF */ li $at, 255 -/* 0C00FC 800BF4FC 14A1FF5A */ bne $a1, $at, .L800BF268 -/* 0C0100 800BF500 00000000 */ nop -/* 0C0104 800BF504 1000FF58 */ b .L800BF268 -/* 0C0108 800BF508 A2200018 */ sb $zero, 0x18($s1) -.L800BF50C: -/* 0C010C 800BF50C 8FA40068 */ lw $a0, 0x68($sp) -/* 0C0110 800BF510 324500FF */ andi $a1, $s2, 0xff -/* 0C0114 800BF514 26260044 */ addiu $a2, $s1, 0x44 -/* 0C0118 800BF518 0C02FF1A */ jal func_800BFC68 -/* 0C011C 800BF51C 26270018 */ addiu $a3, $s1, 0x18 -/* 0C0120 800BF520 1440FF51 */ bnez $v0, .L800BF268 -/* 0C0124 800BF524 A2220001 */ sb $v0, 1($s1) -/* 0C0128 800BF528 241800FF */ li $t8, 255 -/* 0C012C 800BF52C 1000FF4E */ b .L800BF268 -/* 0C0130 800BF530 A2380001 */ sb $t8, 1($s1) -glabel L800BF534 -/* 0C0134 800BF534 0C02FC42 */ jal func_800BF108 -/* 0C0138 800BF538 02002025 */ move $a0, $s0 -/* 0C013C 800BF53C A2220008 */ sb $v0, 8($s1) -/* 0C0140 800BF540 0C02FC42 */ jal func_800BF108 -/* 0C0144 800BF544 02002025 */ move $a0, $s0 -/* 0C0148 800BF548 8FA90068 */ lw $t1, 0x68($sp) -/* 0C014C 800BF54C 862B0022 */ lh $t3, 0x22($s1) -/* 0C0150 800BF550 868D000C */ lh $t5, 0xc($s4) -/* 0C0154 800BF554 8528001E */ lh $t0, 0x1e($t1) -/* 0C0158 800BF558 00485021 */ addu $t2, $v0, $t0 -/* 0C015C 800BF55C 014B6021 */ addu $t4, $t2, $t3 -/* 0C0160 800BF560 018D9021 */ addu $s2, $t4, $t5 -/* 0C0164 800BF564 324E00FF */ andi $t6, $s2, 0xff -/* 0C0168 800BF568 29C10080 */ slti $at, $t6, 0x80 -/* 0C016C 800BF56C 14200002 */ bnez $at, .L800BF578 -/* 0C0170 800BF570 01C09025 */ move $s2, $t6 -/* 0C0174 800BF574 00009025 */ move $s2, $zero -.L800BF578: -/* 0C0178 800BF578 92390008 */ lbu $t9, 8($s1) -/* 0C017C 800BF57C A2320004 */ sb $s2, 4($s1) -/* 0C0180 800BF580 332F0080 */ andi $t7, $t9, 0x80 -/* 0C0184 800BF584 11E00008 */ beqz $t7, .L800BF5A8 -/* 0C0188 800BF588 00000000 */ nop -/* 0C018C 800BF58C 8E180000 */ lw $t8, ($s0) -/* 0C0190 800BF590 93090000 */ lbu $t1, ($t8) -/* 0C0194 800BF594 A6290020 */ sh $t1, 0x20($s1) -/* 0C0198 800BF598 8E080000 */ lw $t0, ($s0) -/* 0C019C 800BF59C 250A0001 */ addiu $t2, $t0, 1 -/* 0C01A0 800BF5A0 1000FF31 */ b .L800BF268 -/* 0C01A4 800BF5A4 AE0A0000 */ sw $t2, ($s0) -.L800BF5A8: -/* 0C01A8 800BF5A8 0C02FC53 */ jal func_800BF14C -/* 0C01AC 800BF5AC 02002025 */ move $a0, $s0 -/* 0C01B0 800BF5B0 3053FFFF */ andi $s3, $v0, 0xffff -/* 0C01B4 800BF5B4 1000FF2C */ b .L800BF268 -/* 0C01B8 800BF5B8 A6220020 */ sh $v0, 0x20($s1) -glabel L800BF5BC -/* 0C01BC 800BF5BC 1000FF2A */ b .L800BF268 -/* 0C01C0 800BF5C0 A2200008 */ sb $zero, 8($s1) -glabel L800BF5C4 -/* 0C01C4 800BF5C4 0C02FC47 */ jal func_800BF11C -/* 0C01C8 800BF5C8 02002025 */ move $a0, $s0 -/* 0C01CC 800BF5CC 8E8B0014 */ lw $t3, 0x14($s4) -/* 0C01D0 800BF5D0 304CFFFF */ andi $t4, $v0, 0xffff -/* 0C01D4 800BF5D4 3053FFFF */ andi $s3, $v0, 0xffff -/* 0C01D8 800BF5D8 016C6821 */ addu $t5, $t3, $t4 -/* 0C01DC 800BF5DC AE2D001C */ sw $t5, 0x1c($s1) -/* 0C01E0 800BF5E0 0C02FC42 */ jal func_800BF108 -/* 0C01E4 800BF5E4 02002025 */ move $a0, $s0 -/* 0C01E8 800BF5E8 1000FF1F */ b .L800BF268 -/* 0C01EC 800BF5EC A2220018 */ sb $v0, 0x18($s1) -glabel L800BF5F0 -/* 0C01F0 800BF5F0 92390000 */ lbu $t9, ($s1) -/* 0C01F4 800BF5F4 372F0002 */ ori $t7, $t9, 2 -/* 0C01F8 800BF5F8 1000FF1B */ b .L800BF268 -/* 0C01FC 800BF5FC A22F0000 */ sb $t7, ($s1) -.L800BF600: -glabel L800BF600 -/* 0C0200 800BF600 30A300F0 */ andi $v1, $a1, 0xf0 -/* 0C0204 800BF604 240100D0 */ li $at, 208 -/* 0C0208 800BF608 10610005 */ beq $v1, $at, .L800BF620 -/* 0C020C 800BF60C 240100E0 */ li $at, 224 -/* 0C0210 800BF610 50610012 */ beql $v1, $at, .L800BF65C -/* 0C0214 800BF614 8E8B0090 */ lw $t3, 0x90($s4) -/* 0C0218 800BF618 1000FF13 */ b .L800BF268 -/* 0C021C 800BF61C 00000000 */ nop -.L800BF620: -/* 0C0220 800BF620 8E98008C */ lw $t8, 0x8c($s4) -/* 0C0224 800BF624 30A9000F */ andi $t1, $a1, 0xf -/* 0C0228 800BF628 3C01800F */ lui $at, %hi(D_800F2F74) # $at, 0x800f -/* 0C022C 800BF62C 03094021 */ addu $t0, $t8, $t1 -/* 0C0230 800BF630 91130000 */ lbu $s3, ($t0) -/* 0C0234 800BF634 C4242F74 */ lwc1 $f4, %lo(D_800F2F74)($at) -/* 0C0238 800BF638 02730019 */ multu $s3, $s3 -/* 0C023C 800BF63C 00005012 */ mflo $t2 -/* 0C0240 800BF640 448A8000 */ mtc1 $t2, $f16 -/* 0C0244 800BF644 00000000 */ nop -/* 0C0248 800BF648 468084A0 */ cvt.s.w $f18, $f16 -/* 0C024C 800BF64C 46049183 */ div.s $f6, $f18, $f4 -/* 0C0250 800BF650 1000FF05 */ b .L800BF268 -/* 0C0254 800BF654 E6260028 */ swc1 $f6, 0x28($s1) -/* 0C0258 800BF658 8E8B0090 */ lw $t3, 0x90($s4) -.L800BF65C: -/* 0C025C 800BF65C 30AC000F */ andi $t4, $a1, 0xf -/* 0C0260 800BF660 016C6821 */ addu $t5, $t3, $t4 -/* 0C0264 800BF664 91AE0000 */ lbu $t6, ($t5) -/* 0C0268 800BF668 1000FEFF */ b .L800BF268 -/* 0C026C 800BF66C A22E0003 */ sb $t6, 3($s1) -.L800BF670: -/* 0C0270 800BF670 240100C0 */ li $at, 192 -/* 0C0274 800BF674 14A10008 */ bne $a1, $at, .L800BF698 -/* 0C0278 800BF678 30A300C0 */ andi $v1, $a1, 0xc0 -/* 0C027C 800BF67C 0C02FC53 */ jal func_800BF14C -/* 0C0280 800BF680 02002025 */ move $a0, $s0 -/* 0C0284 800BF684 922F0000 */ lbu $t7, ($s1) -/* 0C0288 800BF688 A6220038 */ sh $v0, 0x38($s1) -/* 0C028C 800BF68C 35F80020 */ ori $t8, $t7, 0x20 -/* 0C0290 800BF690 10000133 */ b .L800BFB60 -/* 0C0294 800BF694 A2380000 */ sb $t8, ($s1) -.L800BF698: -/* 0C0298 800BF698 92290000 */ lbu $t1, ($s1) -/* 0C029C 800BF69C 24010001 */ li $at, 1 -/* 0C02A0 800BF6A0 3128FFDF */ andi $t0, $t1, 0xffdf -/* 0C02A4 800BF6A4 A2280000 */ sb $t0, ($s1) -/* 0C02A8 800BF6A8 8FAA0068 */ lw $t2, 0x68($sp) -/* 0C02AC 800BF6AC 8D4B0000 */ lw $t3, ($t2) -/* 0C02B0 800BF6B0 000B6180 */ sll $t4, $t3, 6 -/* 0C02B4 800BF6B4 000C6FC2 */ srl $t5, $t4, 0x1f -/* 0C02B8 800BF6B8 15A10041 */ bne $t5, $at, .L800BF7C0 -/* 0C02BC 800BF6BC 00000000 */ nop -/* 0C02C0 800BF6C0 30A300C0 */ andi $v1, $a1, 0xc0 -/* 0C02C4 800BF6C4 10600007 */ beqz $v1, .L800BF6E4 -/* 0C02C8 800BF6C8 24010040 */ li $at, 64 -/* 0C02CC 800BF6CC 10610014 */ beq $v1, $at, .L800BF720 -/* 0C02D0 800BF6D0 24010080 */ li $at, 128 -/* 0C02D4 800BF6D4 1061001D */ beq $v1, $at, .L800BF74C -/* 0C02D8 800BF6D8 02602025 */ move $a0, $s3 -/* 0C02DC 800BF6DC 10000026 */ b .L800BF778 -/* 0C02E0 800BF6E0 8FA60034 */ lw $a2, 0x34($sp) -.L800BF6E4: -/* 0C02E4 800BF6E4 0C02FC53 */ jal func_800BF14C -/* 0C02E8 800BF6E8 02002025 */ move $a0, $s0 -/* 0C02EC 800BF6EC 8E030000 */ lw $v1, ($s0) -/* 0C02F0 800BF6F0 3053FFFF */ andi $s3, $v0, 0xffff -/* 0C02F4 800BF6F4 02602025 */ move $a0, $s3 -/* 0C02F8 800BF6F8 90660000 */ lbu $a2, ($v1) -/* 0C02FC 800BF6FC 246E0001 */ addiu $t6, $v1, 1 -/* 0C0300 800BF700 AE0E0000 */ sw $t6, ($s0) -/* 0C0304 800BF704 91CF0000 */ lbu $t7, ($t6) -/* 0C0308 800BF708 A22F0003 */ sb $t7, 3($s1) -/* 0C030C 800BF70C 8E180000 */ lw $t8, ($s0) -/* 0C0310 800BF710 27090001 */ addiu $t1, $t8, 1 -/* 0C0314 800BF714 AE090000 */ sw $t1, ($s0) -/* 0C0318 800BF718 10000017 */ b .L800BF778 -/* 0C031C 800BF71C A6220036 */ sh $v0, 0x36($s1) -.L800BF720: -/* 0C0320 800BF720 0C02FC53 */ jal func_800BF14C -/* 0C0324 800BF724 02002025 */ move $a0, $s0 -/* 0C0328 800BF728 8E030000 */ lw $v1, ($s0) -/* 0C032C 800BF72C 3053FFFF */ andi $s3, $v0, 0xffff -/* 0C0330 800BF730 02602025 */ move $a0, $s3 -/* 0C0334 800BF734 90660000 */ lbu $a2, ($v1) -/* 0C0338 800BF738 24680001 */ addiu $t0, $v1, 1 -/* 0C033C 800BF73C AE080000 */ sw $t0, ($s0) -/* 0C0340 800BF740 A2200003 */ sb $zero, 3($s1) -/* 0C0344 800BF744 1000000C */ b .L800BF778 -/* 0C0348 800BF748 A6220036 */ sh $v0, 0x36($s1) -.L800BF74C: -/* 0C034C 800BF74C 8E030000 */ lw $v1, ($s0) -/* 0C0350 800BF750 96330036 */ lhu $s3, 0x36($s1) -/* 0C0354 800BF754 90660000 */ lbu $a2, ($v1) -/* 0C0358 800BF758 246A0001 */ addiu $t2, $v1, 1 -/* 0C035C 800BF75C AE0A0000 */ sw $t2, ($s0) -/* 0C0360 800BF760 914C0000 */ lbu $t4, ($t2) -/* 0C0364 800BF764 02602025 */ move $a0, $s3 -/* 0C0368 800BF768 A22C0003 */ sb $t4, 3($s1) -/* 0C036C 800BF76C 8E0D0000 */ lw $t5, ($s0) -/* 0C0370 800BF770 25AE0001 */ addiu $t6, $t5, 1 -/* 0C0374 800BF774 AE0E0000 */ sw $t6, ($s0) -.L800BF778: -/* 0C0378 800BF778 28C10080 */ slti $at, $a2, 0x80 -/* 0C037C 800BF77C 50200004 */ beql $at, $zero, .L800BF790 -/* 0C0380 800BF780 2406007F */ li $a2, 127 -/* 0C0384 800BF784 04C30003 */ bgezl $a2, .L800BF794 -/* 0C0388 800BF788 44864000 */ mtc1 $a2, $f8 -/* 0C038C 800BF78C 2406007F */ li $a2, 127 -.L800BF790: -/* 0C0390 800BF790 44864000 */ mtc1 $a2, $f8 -.L800BF794: -/* 0C0394 800BF794 3C01800F */ lui $at, %hi(D_800F2F78) # $at, 0x800f -/* 0C0398 800BF798 C4302F78 */ lwc1 $f16, %lo(D_800F2F78)($at) -/* 0C039C 800BF79C 46804020 */ cvt.s.w $f0, $f8 -/* 0C03A0 800BF7A0 325900C0 */ andi $t9, $s2, 0xc0 -/* 0C03A4 800BF7A4 02599023 */ subu $s2, $s2, $t9 -/* 0C03A8 800BF7A8 324F00FF */ andi $t7, $s2, 0xff -/* 0C03AC 800BF7AC 01E09025 */ move $s2, $t7 -/* 0C03B0 800BF7B0 46000282 */ mul.s $f10, $f0, $f0 -/* 0C03B4 800BF7B4 46105483 */ div.s $f18, $f10, $f16 -/* 0C03B8 800BF7B8 10000018 */ b .L800BF81C -/* 0C03BC 800BF7BC E6320028 */ swc1 $f18, 0x28($s1) -.L800BF7C0: -/* 0C03C0 800BF7C0 10600007 */ beqz $v1, .L800BF7E0 -/* 0C03C4 800BF7C4 24010040 */ li $at, 64 -/* 0C03C8 800BF7C8 1061000B */ beq $v1, $at, .L800BF7F8 -/* 0C03CC 800BF7CC 24010080 */ li $at, 128 -/* 0C03D0 800BF7D0 5061000D */ beql $v1, $at, .L800BF808 -/* 0C03D4 800BF7D4 96330036 */ lhu $s3, 0x36($s1) -/* 0C03D8 800BF7D8 1000000C */ b .L800BF80C -/* 0C03DC 800BF7DC 02602025 */ move $a0, $s3 -.L800BF7E0: -/* 0C03E0 800BF7E0 0C02FC53 */ jal func_800BF14C -/* 0C03E4 800BF7E4 02002025 */ move $a0, $s0 -/* 0C03E8 800BF7E8 3053FFFF */ andi $s3, $v0, 0xffff -/* 0C03EC 800BF7EC A6220036 */ sh $v0, 0x36($s1) -/* 0C03F0 800BF7F0 10000006 */ b .L800BF80C -/* 0C03F4 800BF7F4 02602025 */ move $a0, $s3 -.L800BF7F8: -/* 0C03F8 800BF7F8 96330034 */ lhu $s3, 0x34($s1) -/* 0C03FC 800BF7FC 10000003 */ b .L800BF80C -/* 0C0400 800BF800 02602025 */ move $a0, $s3 -/* 0C0404 800BF804 96330036 */ lhu $s3, 0x36($s1) -.L800BF808: -/* 0C0408 800BF808 02602025 */ move $a0, $s3 -.L800BF80C: -/* 0C040C 800BF80C 325800C0 */ andi $t8, $s2, 0xc0 -/* 0C0410 800BF810 02589023 */ subu $s2, $s2, $t8 -/* 0C0414 800BF814 324900FF */ andi $t1, $s2, 0xff -/* 0C0418 800BF818 01209025 */ move $s2, $t1 -.L800BF81C: -/* 0C041C 800BF81C 92280003 */ lbu $t0, 3($s1) -/* 0C0420 800BF820 A6240038 */ sh $a0, 0x38($s1) -/* 0C0424 800BF824 01040019 */ multu $t0, $a0 -/* 0C0428 800BF828 00005012 */ mflo $t2 -/* 0C042C 800BF82C 000A5A03 */ sra $t3, $t2, 8 -/* 0C0430 800BF830 A62B003A */ sh $t3, 0x3a($s1) -/* 0C0434 800BF834 8E8C0000 */ lw $t4, ($s4) -/* 0C0438 800BF838 8FB90068 */ lw $t9, 0x68($sp) -/* 0C043C 800BF83C 8FA90068 */ lw $t1, 0x68($sp) -/* 0C0440 800BF840 000C7080 */ sll $t6, $t4, 2 -/* 0C0444 800BF844 05C30006 */ bgezl $t6, .L800BF860 -/* 0C0448 800BF848 8D230000 */ lw $v1, ($t1) -/* 0C044C 800BF84C 932F0003 */ lbu $t7, 3($t9) -/* 0C0450 800BF850 31F80040 */ andi $t8, $t7, 0x40 -/* 0C0454 800BF854 57000008 */ bnel $t8, $zero, .L800BF878 -/* 0C0458 800BF858 922C0000 */ lbu $t4, ($s1) -/* 0C045C 800BF85C 8D230000 */ lw $v1, ($t1) -.L800BF860: -/* 0C0460 800BF860 8FAF0068 */ lw $t7, 0x68($sp) -/* 0C0464 800BF864 8FAE0068 */ lw $t6, 0x68($sp) -/* 0C0468 800BF868 000350C0 */ sll $t2, $v1, 3 -/* 0C046C 800BF86C 05410005 */ bgez $t2, .L800BF884 -/* 0C0470 800BF870 0003C900 */ sll $t9, $v1, 4 -/* 0C0474 800BF874 922C0000 */ lbu $t4, ($s1) -.L800BF878: -/* 0C0478 800BF878 358D0020 */ ori $t5, $t4, 0x20 -/* 0C047C 800BF87C 100000B8 */ b .L800BFB60 -/* 0C0480 800BF880 A22D0000 */ sb $t5, ($s1) -.L800BF884: -/* 0C0484 800BF884 92240001 */ lbu $a0, 1($s1) -/* 0C0488 800BF888 240100FF */ li $at, 255 -/* 0C048C 800BF88C 14810004 */ bne $a0, $at, .L800BF8A0 -/* 0C0490 800BF890 00801025 */ move $v0, $a0 -/* 0C0494 800BF894 072300ED */ bgezl $t9, .L800BFC4C -/* 0C0498 800BF898 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C049C 800BF89C 85E2001C */ lh $v0, 0x1c($t7) -.L800BF8A0: -/* 0C04A0 800BF8A0 5440001F */ bnel $v0, $zero, .L800BF920 -/* 0C04A4 800BF8A4 868C000C */ lh $t4, 0xc($s4) -/* 0C04A8 800BF8A8 8FB80068 */ lw $t8, 0x68($sp) -/* 0C04AC 800BF8AC 862A0022 */ lh $t2, 0x22($s1) -/* 0C04B0 800BF8B0 8709001E */ lh $t1, 0x1e($t8) -/* 0C04B4 800BF8B4 93040006 */ lbu $a0, 6($t8) -/* 0C04B8 800BF8B8 02494021 */ addu $t0, $s2, $t1 -/* 0C04BC 800BF8BC 010A9021 */ addu $s2, $t0, $t2 -/* 0C04C0 800BF8C0 0C02F27E */ jal func_800BC9F8 -/* 0C04C4 800BF8C4 324500FF */ andi $a1, $s2, 0xff -/* 0C04C8 800BF8C8 14400007 */ bnez $v0, .L800BF8E8 -/* 0C04CC 800BF8CC 24430004 */ addiu $v1, $v0, 4 -/* 0C04D0 800BF8D0 922D0000 */ lbu $t5, ($s1) -/* 0C04D4 800BF8D4 86390038 */ lh $t9, 0x38($s1) -/* 0C04D8 800BF8D8 35AE0020 */ ori $t6, $t5, 0x20 -/* 0C04DC 800BF8DC A22E0000 */ sb $t6, ($s1) -/* 0C04E0 800BF8E0 100000D9 */ b .L800BFC48 -/* 0C04E4 800BF8E4 A639003C */ sh $t9, 0x3c($s1) -.L800BF8E8: -/* 0C04E8 800BF8E8 8C4F000C */ lw $t7, 0xc($v0) -/* 0C04EC 800BF8EC 8E280000 */ lw $t0, ($s1) -/* 0C04F0 800BF8F0 AE2F001C */ sw $t7, 0x1c($s1) -/* 0C04F4 800BF8F4 90490000 */ lbu $t1, ($v0) -/* 0C04F8 800BF8F8 00085980 */ sll $t3, $t0, 6 -/* 0C04FC 800BF8FC 05600003 */ bltz $t3, .L800BF90C -/* 0C0500 800BF900 A2290018 */ sb $t1, 0x18($s1) -/* 0C0504 800BF904 90580001 */ lbu $t8, 1($v0) -/* 0C0508 800BF908 A2380005 */ sb $t8, 5($s1) -.L800BF90C: -/* 0C050C 800BF90C AE230048 */ sw $v1, 0x48($s1) -/* 0C0510 800BF910 C4640004 */ lwc1 $f4, 4($v1) -/* 0C0514 800BF914 10000090 */ b .L800BFB58 -/* 0C0518 800BF918 E6240024 */ swc1 $f4, 0x24($s1) -/* 0C051C 800BF91C 868C000C */ lh $t4, 0xc($s4) -.L800BF920: -/* 0C0520 800BF920 85D9001E */ lh $t9, 0x1e($t6) -/* 0C0524 800BF924 86290022 */ lh $t1, 0x22($s1) -/* 0C0528 800BF928 024C6821 */ addu $t5, $s2, $t4 -/* 0C052C 800BF92C 01B97821 */ addu $t7, $t5, $t9 -/* 0C0530 800BF930 01E99021 */ addu $s2, $t7, $t1 -/* 0C0534 800BF934 324500FF */ andi $a1, $s2, 0xff -/* 0C0538 800BF938 28A10080 */ slti $at, $a1, 0x80 -/* 0C053C 800BF93C 14200005 */ bnez $at, .L800BF954 -/* 0C0540 800BF940 00A09025 */ move $s2, $a1 -/* 0C0544 800BF944 922B0000 */ lbu $t3, ($s1) -/* 0C0548 800BF948 35780020 */ ori $t8, $t3, 0x20 -/* 0C054C 800BF94C 10000082 */ b .L800BFB58 -/* 0C0550 800BF950 A2380000 */ sb $t8, ($s1) -.L800BF954: -/* 0C0554 800BF954 240100FF */ li $at, 255 -/* 0C0558 800BF958 14810003 */ bne $a0, $at, .L800BF968 -/* 0C055C 800BF95C 8FAC0068 */ lw $t4, 0x68($sp) -/* 0C0560 800BF960 10000002 */ b .L800BF96C -/* 0C0564 800BF964 8D840040 */ lw $a0, 0x40($t4) -.L800BF968: -/* 0C0568 800BF968 8E240044 */ lw $a0, 0x44($s1) -.L800BF96C: -/* 0C056C 800BF96C 922E0008 */ lbu $t6, 8($s1) -/* 0C0570 800BF970 11C00061 */ beqz $t6, .L800BFAF8 -/* 0C0574 800BF974 00000000 */ nop -/* 0C0578 800BF978 92220004 */ lbu $v0, 4($s1) -/* 0C057C 800BF97C 0045082A */ slt $at, $v0, $a1 -/* 0C0580 800BF980 10200003 */ beqz $at, .L800BF990 -/* 0C0584 800BF984 00403025 */ move $a2, $v0 -/* 0C0588 800BF988 10000001 */ b .L800BF990 -/* 0C058C 800BF98C 00A03025 */ move $a2, $a1 -.L800BF990: -/* 0C0590 800BF990 1080000A */ beqz $a0, .L800BF9BC -/* 0C0594 800BF994 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C0598 800BF998 0C02F243 */ jal func_800BC90C -/* 0C059C 800BF99C 00C02825 */ move $a1, $a2 -/* 0C05A0 800BF9A0 8E2D0048 */ lw $t5, 0x48($s1) -/* 0C05A4 800BF9A4 004DC826 */ xor $t9, $v0, $t5 -/* 0C05A8 800BF9A8 2F390001 */ sltiu $t9, $t9, 1 -/* 0C05AC 800BF9AC AFB90044 */ sw $t9, 0x44($sp) -/* 0C05B0 800BF9B0 AE220048 */ sw $v0, 0x48($s1) -/* 0C05B4 800BF9B4 10000003 */ b .L800BF9C4 -/* 0C05B8 800BF9B8 C4400004 */ lwc1 $f0, 4($v0) -.L800BF9BC: -/* 0C05BC 800BF9BC 44810000 */ mtc1 $at, $f0 -/* 0C05C0 800BF9C0 AE200048 */ sw $zero, 0x48($s1) -.L800BF9C4: -/* 0C05C4 800BF9C4 3C03800F */ lui $v1, %hi(gNoteFrequencies) # $v1, 0x800f -/* 0C05C8 800BF9C8 92280004 */ lbu $t0, 4($s1) -/* 0C05CC 800BF9CC 24636020 */ addiu $v1, %lo(gNoteFrequencies) # addiu $v1, $v1, 0x6020 -/* 0C05D0 800BF9D0 00127880 */ sll $t7, $s2, 2 -/* 0C05D4 800BF9D4 006F4821 */ addu $t1, $v1, $t7 -/* 0C05D8 800BF9D8 C5260000 */ lwc1 $f6, ($t1) -/* 0C05DC 800BF9DC 92380008 */ lbu $t8, 8($s1) -/* 0C05E0 800BF9E0 00085080 */ sll $t2, $t0, 2 -/* 0C05E4 800BF9E4 006A5821 */ addu $t3, $v1, $t2 -/* 0C05E8 800BF9E8 C5680000 */ lwc1 $f8, ($t3) -/* 0C05EC 800BF9EC 46003082 */ mul.s $f2, $f6, $f0 -/* 0C05F0 800BF9F0 2401FF7F */ li $at, -129 -/* 0C05F4 800BF9F4 03016024 */ and $t4, $t8, $at -/* 0C05F8 800BF9F8 258EFFFF */ addiu $t6, $t4, -1 -/* 0C05FC 800BF9FC 2DC10005 */ sltiu $at, $t6, 5 -/* 0C0600 800BFA00 46004302 */ mul.s $f12, $f8, $f0 -/* 0C0604 800BFA04 10200008 */ beqz $at, .L800BFA28 -/* 0C0608 800BFA08 000E7080 */ sll $t6, $t6, 2 -/* 0C060C 800BFA0C 3C01800F */ lui $at, %hi(D_800F2F7C) -/* 0C0610 800BFA10 002E0821 */ addu $at, $at, $t6 -/* 0C0614 800BFA14 8C2E2F7C */ lw $t6, %lo(D_800F2F7C)($at) -/* 0C0618 800BFA18 01C00008 */ jr $t6 -/* 0C061C 800BFA1C 00000000 */ nop -glabel L800BFA20 -/* 0C0620 800BFA20 10000002 */ b .L800BFA2C -/* 0C0624 800BFA24 46006006 */ mov.s $f0, $f12 -.L800BFA28: -glabel L800BFA28 -/* 0C0628 800BFA28 46001006 */ mov.s $f0, $f2 -.L800BFA2C: -/* 0C062C 800BFA2C 46001283 */ div.s $f10, $f2, $f0 -/* 0C0630 800BFA30 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C0634 800BFA34 44818000 */ mtc1 $at, $f16 -/* 0C0638 800BFA38 26220008 */ addiu $v0, $s1, 8 -/* 0C063C 800BFA3C 3C0146FE */ li $at, 0x46FE0000 # 32512.000000 -/* 0C0640 800BFA40 46105481 */ sub.s $f18, $f10, $f16 -/* 0C0644 800BFA44 E452000C */ swc1 $f18, 0xc($v0) -/* 0C0648 800BFA48 922D0008 */ lbu $t5, 8($s1) -/* 0C064C 800BFA4C 31B90080 */ andi $t9, $t5, 0x80 -/* 0C0650 800BFA50 53200017 */ beql $t9, $zero, .L800BFAB0 -/* 0C0654 800BFA54 962B0020 */ lhu $t3, 0x20($s1) -/* 0C0658 800BFA58 968F0008 */ lhu $t7, 8($s4) -/* 0C065C 800BFA5C 3C08803B */ lui $t0, %hi(D_803B70B4) # $t0, 0x803b -/* 0C0660 800BFA60 850870B4 */ lh $t0, %lo(D_803B70B4)($t0) -/* 0C0664 800BFA64 448F2000 */ mtc1 $t7, $f4 -/* 0C0668 800BFA68 86290038 */ lh $t1, 0x38($s1) -/* 0C066C 800BFA6C 44814000 */ mtc1 $at, $f8 -/* 0C0670 800BFA70 468021A0 */ cvt.s.w $f6, $f4 -/* 0C0674 800BFA74 44882000 */ mtc1 $t0, $f4 -/* 0C0678 800BFA78 44898000 */ mtc1 $t1, $f16 -/* 0C067C 800BFA7C 962A0020 */ lhu $t2, 0x20($s1) -/* 0C0680 800BFA80 468084A0 */ cvt.s.w $f18, $f16 -/* 0C0684 800BFA84 46083282 */ mul.s $f10, $f6, $f8 -/* 0C0688 800BFA88 448A8000 */ mtc1 $t2, $f16 -/* 0C068C 800BFA8C 468021A0 */ cvt.s.w $f6, $f4 -/* 0C0690 800BFA90 46808120 */ cvt.s.w $f4, $f16 -/* 0C0694 800BFA94 46069202 */ mul.s $f8, $f18, $f6 -/* 0C0698 800BFA98 00000000 */ nop -/* 0C069C 800BFA9C 46044482 */ mul.s $f18, $f8, $f4 -/* 0C06A0 800BFAA0 46125183 */ div.s $f6, $f10, $f18 -/* 0C06A4 800BFAA4 10000009 */ b .L800BFACC -/* 0C06A8 800BFAA8 E4460008 */ swc1 $f6, 8($v0) -/* 0C06AC 800BFAAC 962B0020 */ lhu $t3, 0x20($s1) -.L800BFAB0: -/* 0C06B0 800BFAB0 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C06B4 800BFAB4 44818000 */ mtc1 $at, $f16 -/* 0C06B8 800BFAB8 448B4000 */ mtc1 $t3, $f8 -/* 0C06BC 800BFABC 00000000 */ nop -/* 0C06C0 800BFAC0 46804120 */ cvt.s.w $f4, $f8 -/* 0C06C4 800BFAC4 46048283 */ div.s $f10, $f16, $f4 -/* 0C06C8 800BFAC8 E44A0008 */ swc1 $f10, 8($v0) -.L800BFACC: -/* 0C06CC 800BFACC 44809000 */ mtc1 $zero, $f18 -/* 0C06D0 800BFAD0 2401FF7F */ li $at, -129 -/* 0C06D4 800BFAD4 E4520004 */ swc1 $f18, 4($v0) -/* 0C06D8 800BFAD8 92380008 */ lbu $t8, 8($s1) -/* 0C06DC 800BFADC E6200024 */ swc1 $f0, 0x24($s1) -/* 0C06E0 800BFAE0 03016024 */ and $t4, $t8, $at -/* 0C06E4 800BFAE4 24010005 */ li $at, 5 -/* 0C06E8 800BFAE8 5581001C */ bnel $t4, $at, .L800BFB5C -/* 0C06EC 800BFAEC 862A0038 */ lh $t2, 0x38($s1) -/* 0C06F0 800BFAF0 10000019 */ b .L800BFB58 -/* 0C06F4 800BFAF4 A2320004 */ sb $s2, 4($s1) -.L800BFAF8: -/* 0C06F8 800BFAF8 10800011 */ beqz $a0, .L800BFB40 -/* 0C06FC 800BFAFC 3C03800F */ lui $v1, %hi(gNoteFrequencies) -/* 0C0700 800BFB00 0C02F243 */ jal func_800BC90C -/* 0C0704 800BFB04 00000000 */ nop -/* 0C0708 800BFB08 8E2E0048 */ lw $t6, 0x48($s1) -/* 0C070C 800BFB0C 3C03800F */ lui $v1, %hi(gNoteFrequencies) # $v1, 0x800f -/* 0C0710 800BFB10 24636020 */ addiu $v1, %lo(gNoteFrequencies) # addiu $v1, $v1, 0x6020 -/* 0C0714 800BFB14 004E6826 */ xor $t5, $v0, $t6 -/* 0C0718 800BFB18 2DAD0001 */ sltiu $t5, $t5, 1 -/* 0C071C 800BFB1C AFAD0044 */ sw $t5, 0x44($sp) -/* 0C0720 800BFB20 AE220048 */ sw $v0, 0x48($s1) -/* 0C0724 800BFB24 0012C880 */ sll $t9, $s2, 2 -/* 0C0728 800BFB28 00797821 */ addu $t7, $v1, $t9 -/* 0C072C 800BFB2C C5E60000 */ lwc1 $f6, ($t7) -/* 0C0730 800BFB30 C4480004 */ lwc1 $f8, 4($v0) -/* 0C0734 800BFB34 46083402 */ mul.s $f16, $f6, $f8 -/* 0C0738 800BFB38 10000007 */ b .L800BFB58 -/* 0C073C 800BFB3C E6300024 */ swc1 $f16, 0x24($s1) -.L800BFB40: -/* 0C0740 800BFB40 24636020 */ addiu $v1, $v1, %lo(gNoteFrequencies) -/* 0C0744 800BFB44 00124880 */ sll $t1, $s2, 2 -/* 0C0748 800BFB48 AE200048 */ sw $zero, 0x48($s1) -/* 0C074C 800BFB4C 00694021 */ addu $t0, $v1, $t1 -/* 0C0750 800BFB50 C5040000 */ lwc1 $f4, ($t0) -/* 0C0754 800BFB54 E6240024 */ swc1 $f4, 0x24($s1) -.L800BFB58: -/* 0C0758 800BFB58 862A0038 */ lh $t2, 0x38($s1) -.L800BFB5C: -/* 0C075C 800BFB5C A62A003C */ sh $t2, 0x3c($s1) -.L800BFB60: -/* 0C0760 800BFB60 8E220000 */ lw $v0, ($s1) -/* 0C0764 800BFB64 24010001 */ li $at, 1 -/* 0C0768 800BFB68 00025880 */ sll $t3, $v0, 2 -/* 0C076C 800BFB6C 000BC7C2 */ srl $t8, $t3, 0x1f -/* 0C0770 800BFB70 1701000B */ bne $t8, $at, .L800BFBA0 -/* 0C0774 800BFB74 000278C0 */ sll $t7, $v0, 3 -/* 0C0778 800BFB78 8E2C0040 */ lw $t4, 0x40($s1) -/* 0C077C 800BFB7C 000268C0 */ sll $t5, $v0, 3 -/* 0C0780 800BFB80 15800003 */ bnez $t4, .L800BFB90 -/* 0C0784 800BFB84 00000000 */ nop -/* 0C0788 800BFB88 05A30030 */ bgezl $t5, .L800BFC4C -/* 0C078C 800BFB8C 8FBF002C */ lw $ra, 0x2c($sp) -.L800BFB90: -/* 0C0790 800BFB90 0C02F448 */ jal func_800BD120 -/* 0C0794 800BFB94 02202025 */ move $a0, $s1 -/* 0C0798 800BFB98 1000002C */ b .L800BFC4C -/* 0C079C 800BFB9C 8FBF002C */ lw $ra, 0x2c($sp) -.L800BFBA0: -/* 0C07A0 800BFBA0 05E00003 */ bltz $t7, .L800BFBB0 -/* 0C07A4 800BFBA4 00009025 */ move $s2, $zero -/* 0C07A8 800BFBA8 1000001A */ b .L800BFC14 -/* 0C07AC 800BFBAC 24120001 */ li $s2, 1 -.L800BFBB0: -/* 0C07B0 800BFBB0 8E240040 */ lw $a0, 0x40($s1) -/* 0C07B4 800BFBB4 10800005 */ beqz $a0, .L800BFBCC -/* 0C07B8 800BFBB8 00000000 */ nop -/* 0C07BC 800BFBBC 92290002 */ lbu $t1, 2($s1) -/* 0C07C0 800BFBC0 8FA80044 */ lw $t0, 0x44($sp) -/* 0C07C4 800BFBC4 15200003 */ bnez $t1, .L800BFBD4 -/* 0C07C8 800BFBC8 00000000 */ nop -.L800BFBCC: -/* 0C07CC 800BFBCC 10000011 */ b .L800BFC14 -/* 0C07D0 800BFBD0 24120001 */ li $s2, 1 -.L800BFBD4: -/* 0C07D4 800BFBD4 55000006 */ bnel $t0, $zero, .L800BFBF0 -/* 0C07D8 800BFBD8 8C8A0044 */ lw $t2, 0x44($a0) -/* 0C07DC 800BFBDC 0C02F448 */ jal func_800BD120 -/* 0C07E0 800BFBE0 02202025 */ move $a0, $s1 -/* 0C07E4 800BFBE4 1000000B */ b .L800BFC14 -/* 0C07E8 800BFBE8 24120001 */ li $s2, 1 -/* 0C07EC 800BFBEC 8C8A0044 */ lw $t2, 0x44($a0) -.L800BFBF0: -/* 0C07F0 800BFBF0 522A0004 */ beql $s1, $t2, .L800BFC04 -/* 0C07F4 800BFBF4 8E2B0048 */ lw $t3, 0x48($s1) -/* 0C07F8 800BFBF8 10000006 */ b .L800BFC14 -/* 0C07FC 800BFBFC 24120001 */ li $s2, 1 -/* 0C0800 800BFC00 8E2B0048 */ lw $t3, 0x48($s1) -.L800BFC04: -/* 0C0804 800BFC04 15600003 */ bnez $t3, .L800BFC14 -/* 0C0808 800BFC08 00000000 */ nop -/* 0C080C 800BFC0C 0C02F499 */ jal func_800BD264 -/* 0C0810 800BFC10 02202825 */ move $a1, $s1 -.L800BFC14: -/* 0C0814 800BFC14 52400005 */ beql $s2, $zero, .L800BFC2C -/* 0C0818 800BFC18 8E240040 */ lw $a0, 0x40($s1) -/* 0C081C 800BFC1C 0C02F691 */ jal func_800BDA44 -/* 0C0820 800BFC20 02202025 */ move $a0, $s1 -/* 0C0824 800BFC24 AE220040 */ sw $v0, 0x40($s1) -/* 0C0828 800BFC28 8E240040 */ lw $a0, 0x40($s1) -.L800BFC2C: -/* 0C082C 800BFC2C 50800007 */ beql $a0, $zero, .L800BFC4C -/* 0C0830 800BFC30 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C0834 800BFC34 8C980044 */ lw $t8, 0x44($a0) -/* 0C0838 800BFC38 56380004 */ bnel $s1, $t8, .L800BFC4C -/* 0C083C 800BFC3C 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C0840 800BFC40 0C02F935 */ jal func_800BE4D4 -/* 0C0844 800BFC44 00000000 */ nop -.L800BFC48: -/* 0C0848 800BFC48 8FBF002C */ lw $ra, 0x2c($sp) -.L800BFC4C: -/* 0C084C 800BFC4C 8FB00018 */ lw $s0, 0x18($sp) -/* 0C0850 800BFC50 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C0854 800BFC54 8FB20020 */ lw $s2, 0x20($sp) -/* 0C0858 800BFC58 8FB30024 */ lw $s3, 0x24($sp) -/* 0C085C 800BFC5C 8FB40028 */ lw $s4, 0x28($sp) -/* 0C0860 800BFC60 03E00008 */ jr $ra -/* 0C0864 800BFC64 27BD0070 */ addiu $sp, $sp, 0x70 - -glabel func_800BFC68 -/* 0C0868 800BFC68 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C086C 800BFC6C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C0870 800BFC70 AFA40018 */ sw $a0, 0x18($sp) -/* 0C0874 800BFC74 AFA5001C */ sw $a1, 0x1c($sp) -/* 0C0878 800BFC78 AFA60020 */ sw $a2, 0x20($sp) -/* 0C087C 800BFC7C AFA70024 */ sw $a3, 0x24($sp) -/* 0C0880 800BFC80 90840006 */ lbu $a0, 6($a0) -/* 0C0884 800BFC84 0C02F252 */ jal func_800BC948 -/* 0C0888 800BFC88 93A5001F */ lbu $a1, 0x1f($sp) -/* 0C088C 800BFC8C 93A4001F */ lbu $a0, 0x1f($sp) -/* 0C0890 800BFC90 8FA50020 */ lw $a1, 0x20($sp) -/* 0C0894 800BFC94 8FA60024 */ lw $a2, 0x24($sp) -/* 0C0898 800BFC98 14400004 */ bnez $v0, .L800BFCAC -/* 0C089C 800BFC9C 00401825 */ move $v1, $v0 -/* 0C08A0 800BFCA0 ACA00000 */ sw $zero, ($a1) -/* 0C08A4 800BFCA4 10000008 */ b .L800BFCC8 -/* 0C08A8 800BFCA8 00001025 */ move $v0, $zero -.L800BFCAC: -/* 0C08AC 800BFCAC 8C6F0004 */ lw $t7, 4($v1) -/* 0C08B0 800BFCB0 24840001 */ addiu $a0, $a0, 1 -/* 0C08B4 800BFCB4 308200FF */ andi $v0, $a0, 0xff -/* 0C08B8 800BFCB8 ACCF0004 */ sw $t7, 4($a2) -/* 0C08BC 800BFCBC 90780003 */ lbu $t8, 3($v1) -/* 0C08C0 800BFCC0 A0D80000 */ sb $t8, ($a2) -/* 0C08C4 800BFCC4 ACA30000 */ sw $v1, ($a1) -.L800BFCC8: -/* 0C08C8 800BFCC8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C08CC 800BFCCC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C08D0 800BFCD0 03E00008 */ jr $ra -/* 0C08D4 800BFCD4 00000000 */ nop - -glabel func_800BFCD8 -/* 0C08D8 800BFCD8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C08DC 800BFCDC 30AE00FF */ andi $t6, $a1, 0xff -/* 0C08E0 800BFCE0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0C08E4 800BFCE4 29C10080 */ slti $at, $t6, 0x80 -/* 0C08E8 800BFCE8 01C02825 */ move $a1, $t6 -/* 0C08EC 800BFCEC AFBF0014 */ sw $ra, 0x14($sp) -/* 0C08F0 800BFCF0 14200004 */ bnez $at, .L800BFD04 -/* 0C08F4 800BFCF4 01C01025 */ move $v0, $t6 -/* 0C08F8 800BFCF8 A48E001C */ sh $t6, 0x1c($a0) -/* 0C08FC 800BFCFC 10000014 */ b .L800BFD50 -/* 0C0900 800BFD00 AC800040 */ sw $zero, 0x40($a0) -.L800BFD04: -/* 0C0904 800BFD04 2401007F */ li $at, 127 -/* 0C0908 800BFD08 14410005 */ bne $v0, $at, .L800BFD20 -/* 0C090C 800BFD0C 24860040 */ addiu $a2, $a0, 0x40 -/* 0C0910 800BFD10 240F0001 */ li $t7, 1 -/* 0C0914 800BFD14 A480001C */ sh $zero, 0x1c($a0) -/* 0C0918 800BFD18 1000000D */ b .L800BFD50 -/* 0C091C 800BFD1C AC8F0040 */ sw $t7, 0x40($a0) -.L800BFD20: -/* 0C0920 800BFD20 2487007C */ addiu $a3, $a0, 0x7c -/* 0C0924 800BFD24 0C02FF1A */ jal func_800BFC68 -/* 0C0928 800BFD28 AFA40018 */ sw $a0, 0x18($sp) -/* 0C092C 800BFD2C 8FA40018 */ lw $a0, 0x18($sp) -/* 0C0930 800BFD30 0002C400 */ sll $t8, $v0, 0x10 -/* 0C0934 800BFD34 0018CC03 */ sra $t9, $t8, 0x10 -/* 0C0938 800BFD38 17200005 */ bnez $t9, .L800BFD50 -/* 0C093C 800BFD3C A482001C */ sh $v0, 0x1c($a0) -/* 0C0940 800BFD40 90880000 */ lbu $t0, ($a0) -/* 0C0944 800BFD44 3109FFF7 */ andi $t1, $t0, 0xfff7 -/* 0C0948 800BFD48 10000004 */ b .L800BFD5C -/* 0C094C 800BFD4C A0890000 */ sb $t1, ($a0) -.L800BFD50: -/* 0C0950 800BFD50 908B0000 */ lbu $t3, ($a0) -/* 0C0954 800BFD54 356C0008 */ ori $t4, $t3, 8 -/* 0C0958 800BFD58 A08C0000 */ sb $t4, ($a0) -.L800BFD5C: -/* 0C095C 800BFD5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C0960 800BFD60 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C0964 800BFD64 03E00008 */ jr $ra -/* 0C0968 800BFD68 00000000 */ nop - -glabel func_800BFD6C -/* 0C096C 800BFD6C 30AE00FF */ andi $t6, $a1, 0xff -/* 0C0970 800BFD70 448E2000 */ mtc1 $t6, $f4 -/* 0C0974 800BFD74 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C0978 800BFD78 44814000 */ mtc1 $at, $f8 -/* 0C097C 800BFD7C 468021A0 */ cvt.s.w $f6, $f4 -/* 0C0980 800BFD80 AFA50004 */ sw $a1, 4($sp) -/* 0C0984 800BFD84 46083283 */ div.s $f10, $f6, $f8 -/* 0C0988 800BFD88 03E00008 */ jr $ra -/* 0C098C 800BFD8C E48A0024 */ swc1 $f10, 0x24($a0) - -glabel func_800BFD90 -/* 0C0990 800BFD90 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0C0994 800BFD94 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C0998 800BFD98 AFB40028 */ sw $s4, 0x28($sp) -/* 0C099C 800BFD9C AFB30024 */ sw $s3, 0x24($sp) -/* 0C09A0 800BFDA0 AFB20020 */ sw $s2, 0x20($sp) -/* 0C09A4 800BFDA4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0C09A8 800BFDA8 AFB00018 */ sw $s0, 0x18($sp) -/* 0C09AC 800BFDAC 8C820000 */ lw $v0, ($a0) -/* 0C09B0 800BFDB0 00809025 */ move $s2, $a0 -/* 0C09B4 800BFDB4 000277C2 */ srl $t6, $v0, 0x1f -/* 0C09B8 800BFDB8 11C002BC */ beqz $t6, .L800C08AC -/* 0C09BC 800BFDBC 0002C080 */ sll $t8, $v0, 2 -/* 0C09C0 800BFDC0 0701000D */ bgez $t8, .L800BFDF8 -/* 0C09C4 800BFDC4 00008025 */ move $s0, $zero -/* 0C09C8 800BFDC8 00808825 */ move $s1, $a0 -/* 0C09CC 800BFDCC 24120010 */ li $s2, 16 -.L800BFDD0: -/* 0C09D0 800BFDD0 8E240048 */ lw $a0, 0x48($s1) -/* 0C09D4 800BFDD4 50800004 */ beql $a0, $zero, .L800BFDE8 -/* 0C09D8 800BFDD8 26100004 */ addiu $s0, $s0, 4 -/* 0C09DC 800BFDDC 0C02FC64 */ jal func_800BF190 -/* 0C09E0 800BFDE0 00000000 */ nop -/* 0C09E4 800BFDE4 26100004 */ addiu $s0, $s0, 4 -.L800BFDE8: -/* 0C09E8 800BFDE8 1612FFF9 */ bne $s0, $s2, .L800BFDD0 -/* 0C09EC 800BFDEC 26310004 */ addiu $s1, $s1, 4 -/* 0C09F0 800BFDF0 100002AF */ b .L800C08B0 -/* 0C09F4 800BFDF4 8FBF002C */ lw $ra, 0x2c($sp) -.L800BFDF8: -/* 0C09F8 800BFDF8 8E540044 */ lw $s4, 0x44($s2) -/* 0C09FC 800BFDFC 8E990000 */ lw $t9, ($s4) -/* 0C0A00 800BFE00 00195080 */ sll $t2, $t9, 2 -/* 0C0A04 800BFE04 05430006 */ bgezl $t2, .L800BFE20 -/* 0C0A08 800BFE08 9643001A */ lhu $v1, 0x1a($s2) -/* 0C0A0C 800BFE0C 924B0003 */ lbu $t3, 3($s2) -/* 0C0A10 800BFE10 316C0080 */ andi $t4, $t3, 0x80 -/* 0C0A14 800BFE14 558002A6 */ bnel $t4, $zero, .L800C08B0 -/* 0C0A18 800BFE18 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C0A1C 800BFE1C 9643001A */ lhu $v1, 0x1a($s2) -.L800BFE20: -/* 0C0A20 800BFE20 26510060 */ addiu $s1, $s2, 0x60 -/* 0C0A24 800BFE24 10600004 */ beqz $v1, .L800BFE38 -/* 0C0A28 800BFE28 00601025 */ move $v0, $v1 -/* 0C0A2C 800BFE2C 246DFFFF */ addiu $t5, $v1, -1 -/* 0C0A30 800BFE30 A64D001A */ sh $t5, 0x1a($s2) -/* 0C0A34 800BFE34 31A2FFFF */ andi $v0, $t5, 0xffff -.L800BFE38: -/* 0C0A38 800BFE38 14400291 */ bnez $v0, .L800C0880 -/* 0C0A3C 800BFE3C 83B3004B */ lb $s3, 0x4b($sp) -.L800BFE40: -glabel L800BFE40 -/* 0C0A40 800BFE40 0C02FC42 */ jal func_800BF108 -/* 0C0A44 800BFE44 02202025 */ move $a0, $s1 -/* 0C0A48 800BFE48 284100C1 */ slti $at, $v0, 0xc1 -/* 0C0A4C 800BFE4C 305000FF */ andi $s0, $v0, 0xff -/* 0C0A50 800BFE50 14200201 */ bnez $at, .L800C0658 -/* 0C0A54 800BFE54 00401825 */ move $v1, $v0 -/* 0C0A58 800BFE58 244EFF3F */ addiu $t6, $v0, -0xc1 -/* 0C0A5C 800BFE5C 2DC1003F */ sltiu $at, $t6, 0x3f -/* 0C0A60 800BFE60 1020FFF7 */ beqz $at, .L800BFE40 -/* 0C0A64 800BFE64 000E7080 */ sll $t6, $t6, 2 -/* 0C0A68 800BFE68 3C01800F */ lui $at, %hi(D_800F2F90) -/* 0C0A6C 800BFE6C 002E0821 */ addu $at, $at, $t6 -/* 0C0A70 800BFE70 8C2E2F90 */ lw $t6, %lo(D_800F2F90)($at) -/* 0C0A74 800BFE74 01C00008 */ jr $t6 -/* 0C0A78 800BFE78 00000000 */ nop -glabel L800BFE7C -/* 0C0A7C 800BFE7C 92240018 */ lbu $a0, 0x18($s1) -/* 0C0A80 800BFE80 14800005 */ bnez $a0, .L800BFE98 -/* 0C0A84 800BFE84 2482FFFF */ addiu $v0, $a0, -1 -/* 0C0A88 800BFE88 0C02FAE9 */ jal func_800BEBA4 -/* 0C0A8C 800BFE8C 02402025 */ move $a0, $s2 -/* 0C0A90 800BFE90 1000027C */ b .L800C0884 -/* 0C0A94 800BFE94 02408825 */ move $s1, $s2 -.L800BFE98: -/* 0C0A98 800BFE98 304F00FF */ andi $t7, $v0, 0xff -/* 0C0A9C 800BFE9C 000FC080 */ sll $t8, $t7, 2 -/* 0C0AA0 800BFEA0 0238C821 */ addu $t9, $s1, $t8 -/* 0C0AA4 800BFEA4 A22F0018 */ sb $t7, 0x18($s1) -/* 0C0AA8 800BFEA8 8F290004 */ lw $t1, 4($t9) -/* 0C0AAC 800BFEAC 1000FFE4 */ b .L800BFE40 -/* 0C0AB0 800BFEB0 AE290000 */ sw $t1, ($s1) -glabel L800BFEB4 -/* 0C0AB4 800BFEB4 0C02FC53 */ jal func_800BF14C -/* 0C0AB8 800BFEB8 02202025 */ move $a0, $s1 -/* 0C0ABC 800BFEBC 10000270 */ b .L800C0880 -/* 0C0AC0 800BFEC0 A642001A */ sh $v0, 0x1a($s2) -glabel L800BFEC4 -/* 0C0AC4 800BFEC4 924B0000 */ lbu $t3, ($s2) -/* 0C0AC8 800BFEC8 356C0020 */ ori $t4, $t3, 0x20 -/* 0C0ACC 800BFECC 1000026C */ b .L800C0880 -/* 0C0AD0 800BFED0 A24C0000 */ sb $t4, ($s2) -glabel L800BFED4 -/* 0C0AD4 800BFED4 0C02FC47 */ jal func_800BF11C -/* 0C0AD8 800BFED8 02202025 */ move $a0, $s1 -/* 0C0ADC 800BFEDC 922E0018 */ lbu $t6, 0x18($s1) -/* 0C0AE0 800BFEE0 8E2D0000 */ lw $t5, ($s1) -/* 0C0AE4 800BFEE4 304BFFFF */ andi $t3, $v0, 0xffff -/* 0C0AE8 800BFEE8 000E7880 */ sll $t7, $t6, 2 -/* 0C0AEC 800BFEEC 022FC021 */ addu $t8, $s1, $t7 -/* 0C0AF0 800BFEF0 AF0D0004 */ sw $t5, 4($t8) -/* 0C0AF4 800BFEF4 92390018 */ lbu $t9, 0x18($s1) -/* 0C0AF8 800BFEF8 27290001 */ addiu $t1, $t9, 1 -/* 0C0AFC 800BFEFC A2290018 */ sb $t1, 0x18($s1) -/* 0C0B00 800BFF00 8E8A0014 */ lw $t2, 0x14($s4) -/* 0C0B04 800BFF04 014B6021 */ addu $t4, $t2, $t3 -/* 0C0B08 800BFF08 1000FFCD */ b .L800BFE40 -/* 0C0B0C 800BFF0C AE2C0000 */ sw $t4, ($s1) -glabel L800BFF10 -/* 0C0B10 800BFF10 0C02FC42 */ jal func_800BF108 -/* 0C0B14 800BFF14 02202025 */ move $a0, $s1 -/* 0C0B18 800BFF18 922E0018 */ lbu $t6, 0x18($s1) -/* 0C0B1C 800BFF1C 022E7821 */ addu $t7, $s1, $t6 -/* 0C0B20 800BFF20 A1E20014 */ sb $v0, 0x14($t7) -/* 0C0B24 800BFF24 92380018 */ lbu $t8, 0x18($s1) -/* 0C0B28 800BFF28 8E2D0000 */ lw $t5, ($s1) -/* 0C0B2C 800BFF2C 0018C880 */ sll $t9, $t8, 2 -/* 0C0B30 800BFF30 02394821 */ addu $t1, $s1, $t9 -/* 0C0B34 800BFF34 AD2D0004 */ sw $t5, 4($t1) -/* 0C0B38 800BFF38 922A0018 */ lbu $t2, 0x18($s1) -/* 0C0B3C 800BFF3C 254B0001 */ addiu $t3, $t2, 1 -/* 0C0B40 800BFF40 1000FFBF */ b .L800BFE40 -/* 0C0B44 800BFF44 A22B0018 */ sb $t3, 0x18($s1) -glabel L800BFF48 -/* 0C0B48 800BFF48 922C0018 */ lbu $t4, 0x18($s1) -/* 0C0B4C 800BFF4C 022C1021 */ addu $v0, $s1, $t4 -/* 0C0B50 800BFF50 904E0013 */ lbu $t6, 0x13($v0) -/* 0C0B54 800BFF54 25CFFFFF */ addiu $t7, $t6, -1 -/* 0C0B58 800BFF58 A04F0013 */ sb $t7, 0x13($v0) -/* 0C0B5C 800BFF5C 92240018 */ lbu $a0, 0x18($s1) -/* 0C0B60 800BFF60 0224C021 */ addu $t8, $s1, $a0 -/* 0C0B64 800BFF64 93190013 */ lbu $t9, 0x13($t8) -/* 0C0B68 800BFF68 00801825 */ move $v1, $a0 -/* 0C0B6C 800BFF6C 00036880 */ sll $t5, $v1, 2 -/* 0C0B70 800BFF70 13200005 */ beqz $t9, .L800BFF88 -/* 0C0B74 800BFF74 248BFFFF */ addiu $t3, $a0, -1 -/* 0C0B78 800BFF78 022D4821 */ addu $t1, $s1, $t5 -/* 0C0B7C 800BFF7C 8D2A0000 */ lw $t2, ($t1) -/* 0C0B80 800BFF80 1000FFAF */ b .L800BFE40 -/* 0C0B84 800BFF84 AE2A0000 */ sw $t2, ($s1) -.L800BFF88: -/* 0C0B88 800BFF88 1000FFAD */ b .L800BFE40 -/* 0C0B8C 800BFF8C A22B0018 */ sb $t3, 0x18($s1) -glabel L800BFF90 -/* 0C0B90 800BFF90 922C0018 */ lbu $t4, 0x18($s1) -/* 0C0B94 800BFF94 258EFFFF */ addiu $t6, $t4, -1 -/* 0C0B98 800BFF98 1000FFA9 */ b .L800BFE40 -/* 0C0B9C 800BFF9C A22E0018 */ sb $t6, 0x18($s1) -glabel L800BFFA0 -/* 0C0BA0 800BFFA0 0C02FC47 */ jal func_800BF11C -/* 0C0BA4 800BFFA4 02202025 */ move $a0, $s1 -/* 0C0BA8 800BFFA8 240100FA */ li $at, 250 -/* 0C0BAC 800BFFAC 16010003 */ bne $s0, $at, .L800BFFBC -/* 0C0BB0 800BFFB0 02001825 */ move $v1, $s0 -/* 0C0BB4 800BFFB4 1660FFA2 */ bnez $s3, .L800BFE40 -/* 0C0BB8 800BFFB8 00000000 */ nop -.L800BFFBC: -/* 0C0BBC 800BFFBC 240100F9 */ li $at, 249 -/* 0C0BC0 800BFFC0 54610004 */ bnel $v1, $at, .L800BFFD4 -/* 0C0BC4 800BFFC4 240100F5 */ li $at, 245 -/* 0C0BC8 800BFFC8 0661FF9D */ bgez $s3, .L800BFE40 -/* 0C0BCC 800BFFCC 00000000 */ nop -/* 0C0BD0 800BFFD0 240100F5 */ li $at, 245 -.L800BFFD4: -/* 0C0BD4 800BFFD4 54610004 */ bnel $v1, $at, .L800BFFE8 -/* 0C0BD8 800BFFD8 8E8F0014 */ lw $t7, 0x14($s4) -/* 0C0BDC 800BFFDC 0660FF98 */ bltz $s3, .L800BFE40 -/* 0C0BE0 800BFFE0 00000000 */ nop -/* 0C0BE4 800BFFE4 8E8F0014 */ lw $t7, 0x14($s4) -.L800BFFE8: -/* 0C0BE8 800BFFE8 3058FFFF */ andi $t8, $v0, 0xffff -/* 0C0BEC 800BFFEC 01F8C821 */ addu $t9, $t7, $t8 -/* 0C0BF0 800BFFF0 1000FF93 */ b .L800BFE40 -/* 0C0BF4 800BFFF4 AE390000 */ sw $t9, ($s1) -glabel L800BFFF8 -/* 0C0BF8 800BFFF8 0C02FC42 */ jal func_800BF108 -/* 0C0BFC 800BFFFC 02202025 */ move $a0, $s1 -/* 0C0C00 800C0000 240100F3 */ li $at, 243 -/* 0C0C04 800C0004 16010003 */ bne $s0, $at, .L800C0014 -/* 0C0C08 800C0008 02001825 */ move $v1, $s0 -/* 0C0C0C 800C000C 1660FF8C */ bnez $s3, .L800BFE40 -/* 0C0C10 800C0010 00000000 */ nop -.L800C0014: -/* 0C0C14 800C0014 240100F2 */ li $at, 242 -/* 0C0C18 800C0018 54610004 */ bnel $v1, $at, .L800C002C -/* 0C0C1C 800C001C 8E2D0000 */ lw $t5, ($s1) -/* 0C0C20 800C0020 0661FF87 */ bgez $s3, .L800BFE40 -/* 0C0C24 800C0024 00000000 */ nop -/* 0C0C28 800C0028 8E2D0000 */ lw $t5, ($s1) -.L800C002C: -/* 0C0C2C 800C002C 00024E00 */ sll $t1, $v0, 0x18 -/* 0C0C30 800C0030 00095603 */ sra $t2, $t1, 0x18 -/* 0C0C34 800C0034 01AA5821 */ addu $t3, $t5, $t2 -/* 0C0C38 800C0038 1000FF81 */ b .L800BFE40 -/* 0C0C3C 800C003C AE2B0000 */ sw $t3, ($s1) -glabel L800C0040 -/* 0C0C40 800C0040 26500084 */ addiu $s0, $s2, 0x84 -/* 0C0C44 800C0044 0C02F506 */ jal func_800BD418 -/* 0C0C48 800C0048 02002025 */ move $a0, $s0 -/* 0C0C4C 800C004C 0C02FC42 */ jal func_800BF108 -/* 0C0C50 800C0050 02202025 */ move $a0, $s1 -/* 0C0C54 800C0054 02002025 */ move $a0, $s0 -/* 0C0C58 800C0058 0C02F55E */ jal func_800BD578 -/* 0C0C5C 800C005C 00402825 */ move $a1, $v0 -/* 0C0C60 800C0060 1000FF77 */ b .L800BFE40 -/* 0C0C64 800C0064 00000000 */ nop -glabel L800C0068 -/* 0C0C68 800C0068 0C02F506 */ jal func_800BD418 -/* 0C0C6C 800C006C 26440084 */ addiu $a0, $s2, 0x84 -/* 0C0C70 800C0070 1000FF73 */ b .L800BFE40 -/* 0C0C74 800C0074 00000000 */ nop -glabel L800C0078 -/* 0C0C78 800C0078 0C02FC47 */ jal func_800BF11C -/* 0C0C7C 800C007C 02202025 */ move $a0, $s1 -/* 0C0C80 800C0080 8E8C0014 */ lw $t4, 0x14($s4) -/* 0C0C84 800C0084 304EFFFF */ andi $t6, $v0, 0xffff -/* 0C0C88 800C0088 018E7821 */ addu $t7, $t4, $t6 -/* 0C0C8C 800C008C 1000FF6C */ b .L800BFE40 -/* 0C0C90 800C0090 AE4F0034 */ sw $t7, 0x34($s2) -glabel L800C0094 -/* 0C0C94 800C0094 2401FFFF */ li $at, -1 -/* 0C0C98 800C0098 1261FF69 */ beq $s3, $at, .L800BFE40 -/* 0C0C9C 800C009C 00000000 */ nop -/* 0C0CA0 800C00A0 8E580034 */ lw $t8, 0x34($s2) -/* 0C0CA4 800C00A4 0013C840 */ sll $t9, $s3, 1 -/* 0C0CA8 800C00A8 8E8C0014 */ lw $t4, 0x14($s4) -/* 0C0CAC 800C00AC 03191821 */ addu $v1, $t8, $t9 -/* 0C0CB0 800C00B0 906D0000 */ lbu $t5, ($v1) -/* 0C0CB4 800C00B4 90690001 */ lbu $t1, 1($v1) -/* 0C0CB8 800C00B8 000D5200 */ sll $t2, $t5, 8 -/* 0C0CBC 800C00BC 012A3821 */ addu $a3, $t1, $t2 -/* 0C0CC0 800C00C0 30EBFFFF */ andi $t3, $a3, 0xffff -/* 0C0CC4 800C00C4 018B7021 */ addu $t6, $t4, $t3 -/* 0C0CC8 800C00C8 1000FF5D */ b .L800BFE40 -/* 0C0CCC 800C00CC AE4E0034 */ sw $t6, 0x34($s2) -glabel L800C00D0 -/* 0C0CD0 800C00D0 0C02FC42 */ jal func_800BF108 -/* 0C0CD4 800C00D4 02202025 */ move $a0, $s1 -/* 0C0CD8 800C00D8 928F0004 */ lbu $t7, 4($s4) -/* 0C0CDC 800C00DC 3C03803B */ lui $v1, %hi(D_803B7078) # $v1, 0x803b -/* 0C0CE0 800C00E0 8C637078 */ lw $v1, %lo(D_803B7078)($v1) -/* 0C0CE4 800C00E4 000FC040 */ sll $t8, $t7, 1 -/* 0C0CE8 800C00E8 24040001 */ li $a0, 1 -/* 0C0CEC 800C00EC 0078C821 */ addu $t9, $v1, $t8 -/* 0C0CF0 800C00F0 97270000 */ lhu $a3, ($t9) -/* 0C0CF4 800C00F4 24050002 */ li $a1, 2 -/* 0C0CF8 800C00F8 00E36821 */ addu $t5, $a3, $v1 -/* 0C0CFC 800C00FC 91A80000 */ lbu $t0, ($t5) -/* 0C0D00 800C0100 00E84821 */ addu $t1, $a3, $t0 -/* 0C0D04 800C0104 01225023 */ subu $t2, $t1, $v0 -/* 0C0D08 800C0108 01435821 */ addu $t3, $t2, $v1 -/* 0C0D0C 800C010C 91700000 */ lbu $s0, ($t3) -/* 0C0D10 800C0110 0C02E6A4 */ jal func_800B9A90 -/* 0C0D14 800C0114 02003025 */ move $a2, $s0 -/* 0C0D18 800C0118 10400002 */ beqz $v0, .L800C0124 -/* 0C0D1C 800C011C 00000000 */ nop -/* 0C0D20 800C0120 A2500006 */ sb $s0, 6($s2) -.L800C0124: -glabel L800C0124 -/* 0C0D24 800C0124 0C02FC42 */ jal func_800BF108 -/* 0C0D28 800C0128 02202025 */ move $a0, $s1 -/* 0C0D2C 800C012C 02402025 */ move $a0, $s2 -/* 0C0D30 800C0130 0C02FF36 */ jal func_800BFCD8 -/* 0C0D34 800C0134 304500FF */ andi $a1, $v0, 0xff -/* 0C0D38 800C0138 1000FF41 */ b .L800BFE40 -/* 0C0D3C 800C013C 00000000 */ nop -glabel L800C0140 -/* 0C0D40 800C0140 924C0000 */ lbu $t4, ($s2) -/* 0C0D44 800C0144 318EFFFD */ andi $t6, $t4, 0xfffd -/* 0C0D48 800C0148 1000FF3D */ b .L800BFE40 -/* 0C0D4C 800C014C A24E0000 */ sb $t6, ($s2) -glabel L800C0150 -/* 0C0D50 800C0150 92580000 */ lbu $t8, ($s2) -/* 0C0D54 800C0154 37190002 */ ori $t9, $t8, 2 -/* 0C0D58 800C0158 1000FF39 */ b .L800BFE40 -/* 0C0D5C 800C015C A2590000 */ sb $t9, ($s2) -glabel L800C0160 -/* 0C0D60 800C0160 0C02FC42 */ jal func_800BF108 -/* 0C0D64 800C0164 02202025 */ move $a0, $s1 -/* 0C0D68 800C0168 02402025 */ move $a0, $s2 -/* 0C0D6C 800C016C 0C02FF5B */ jal func_800BFD6C -/* 0C0D70 800C0170 304500FF */ andi $a1, $v0, 0xff -/* 0C0D74 800C0174 92490001 */ lbu $t1, 1($s2) -/* 0C0D78 800C0178 352A0040 */ ori $t2, $t1, 0x40 -/* 0C0D7C 800C017C 1000FF30 */ b .L800BFE40 -/* 0C0D80 800C0180 A24A0001 */ sb $t2, 1($s2) -glabel L800C0184 -/* 0C0D84 800C0184 0C02FC42 */ jal func_800BF108 -/* 0C0D88 800C0188 02202025 */ move $a0, $s1 -/* 0C0D8C 800C018C 44822000 */ mtc1 $v0, $f4 -/* 0C0D90 800C0190 3C013C00 */ li $at, 0x3C000000 # 0.007813 -/* 0C0D94 800C0194 44814000 */ mtc1 $at, $f8 -/* 0C0D98 800C0198 468021A0 */ cvt.s.w $f6, $f4 -/* 0C0D9C 800C019C 924C0001 */ lbu $t4, 1($s2) -/* 0C0DA0 800C01A0 358E0040 */ ori $t6, $t4, 0x40 -/* 0C0DA4 800C01A4 A24E0001 */ sb $t6, 1($s2) -/* 0C0DA8 800C01A8 46083282 */ mul.s $f10, $f6, $f8 -/* 0C0DAC 800C01AC 1000FF24 */ b .L800BFE40 -/* 0C0DB0 800C01B0 E64A0020 */ swc1 $f10, 0x20($s2) -glabel L800C01B4 -/* 0C0DB4 800C01B4 0C02FC47 */ jal func_800BF11C -/* 0C0DB8 800C01B8 02202025 */ move $a0, $s1 -/* 0C0DBC 800C01BC 304FFFFF */ andi $t7, $v0, 0xffff -/* 0C0DC0 800C01C0 448F8000 */ mtc1 $t7, $f16 -/* 0C0DC4 800C01C4 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 0C0DC8 800C01C8 44812000 */ mtc1 $at, $f4 -/* 0C0DCC 800C01CC 468084A0 */ cvt.s.w $f18, $f16 -/* 0C0DD0 800C01D0 92590001 */ lbu $t9, 1($s2) -/* 0C0DD4 800C01D4 372D0080 */ ori $t5, $t9, 0x80 -/* 0C0DD8 800C01D8 A24D0001 */ sb $t5, 1($s2) -/* 0C0DDC 800C01DC 46049183 */ div.s $f6, $f18, $f4 -/* 0C0DE0 800C01E0 1000FF17 */ b .L800BFE40 -/* 0C0DE4 800C01E4 E6460030 */ swc1 $f6, 0x30($s2) -glabel L800C01E8 -/* 0C0DE8 800C01E8 0C02FC42 */ jal func_800BF108 -/* 0C0DEC 800C01EC 02202025 */ move $a0, $s1 -/* 0C0DF0 800C01F0 2449007F */ addiu $t1, $v0, 0x7f -/* 0C0DF4 800C01F4 312A00FF */ andi $t2, $t1, 0xff -/* 0C0DF8 800C01F8 924E0001 */ lbu $t6, 1($s2) -/* 0C0DFC 800C01FC 000A5880 */ sll $t3, $t2, 2 -/* 0C0E00 800C0200 3C01800F */ lui $at, %hi(gPitchBendFrequencyScale) -/* 0C0E04 800C0204 002B0821 */ addu $at, $at, $t3 -/* 0C0E08 800C0208 C4285C20 */ lwc1 $f8, %lo(gPitchBendFrequencyScale)($at) -/* 0C0E0C 800C020C 35CF0080 */ ori $t7, $t6, 0x80 -/* 0C0E10 800C0210 A24F0001 */ sb $t7, 1($s2) -/* 0C0E14 800C0214 1000FF0A */ b .L800BFE40 -/* 0C0E18 800C0218 E6480030 */ swc1 $f8, 0x30($s2) -glabel L800C021C -/* 0C0E1C 800C021C 0C02FC42 */ jal func_800BF108 -/* 0C0E20 800C0220 02202025 */ move $a0, $s1 -/* 0C0E24 800C0224 92590001 */ lbu $t9, 1($s2) -/* 0C0E28 800C0228 A2420009 */ sb $v0, 9($s2) -/* 0C0E2C 800C022C 372D0020 */ ori $t5, $t9, 0x20 -/* 0C0E30 800C0230 1000FF03 */ b .L800BFE40 -/* 0C0E34 800C0234 A24D0001 */ sb $t5, 1($s2) -glabel L800C0238 -/* 0C0E38 800C0238 0C02FC42 */ jal func_800BF108 -/* 0C0E3C 800C023C 02202025 */ move $a0, $s1 -/* 0C0E40 800C0240 924A0001 */ lbu $t2, 1($s2) -/* 0C0E44 800C0244 A242000A */ sb $v0, 0xa($s2) -/* 0C0E48 800C0248 354B0020 */ ori $t3, $t2, 0x20 -/* 0C0E4C 800C024C 1000FEFC */ b .L800BFE40 -/* 0C0E50 800C0250 A24B0001 */ sb $t3, 1($s2) -glabel L800C0254 -/* 0C0E54 800C0254 8E220000 */ lw $v0, ($s1) -/* 0C0E58 800C0258 80430000 */ lb $v1, ($v0) -/* 0C0E5C 800C025C 244C0001 */ addiu $t4, $v0, 1 -/* 0C0E60 800C0260 AE2C0000 */ sw $t4, ($s1) -/* 0C0E64 800C0264 1000FEF6 */ b .L800BFE40 -/* 0C0E68 800C0268 A643001E */ sh $v1, 0x1e($s2) -glabel L800C026C -/* 0C0E6C 800C026C 0C02FC47 */ jal func_800BF11C -/* 0C0E70 800C0270 02202025 */ move $a0, $s1 -/* 0C0E74 800C0274 8E8E0014 */ lw $t6, 0x14($s4) -/* 0C0E78 800C0278 304FFFFF */ andi $t7, $v0, 0xffff -/* 0C0E7C 800C027C 01CFC021 */ addu $t8, $t6, $t7 -/* 0C0E80 800C0280 1000FEEF */ b .L800BFE40 -/* 0C0E84 800C0284 AE580080 */ sw $t8, 0x80($s2) -glabel L800C0288 -/* 0C0E88 800C0288 0C02FC42 */ jal func_800BF108 -/* 0C0E8C 800C028C 02202025 */ move $a0, $s1 -/* 0C0E90 800C0290 1000FEEB */ b .L800BFE40 -/* 0C0E94 800C0294 A242007C */ sb $v0, 0x7c($s2) -glabel L800C0298 -/* 0C0E98 800C0298 0C02FC42 */ jal func_800BF108 -/* 0C0E9C 800C029C 02202025 */ move $a0, $s1 -/* 0C0EA0 800C02A0 0002C8C0 */ sll $t9, $v0, 3 -/* 0C0EA4 800C02A4 A6590012 */ sh $t9, 0x12($s2) -/* 0C0EA8 800C02A8 A640000E */ sh $zero, 0xe($s2) -/* 0C0EAC 800C02AC 1000FEE4 */ b .L800BFE40 -/* 0C0EB0 800C02B0 A6400016 */ sh $zero, 0x16($s2) -glabel L800C02B4 -/* 0C0EB4 800C02B4 0C02FC42 */ jal func_800BF108 -/* 0C0EB8 800C02B8 02202025 */ move $a0, $s1 -/* 0C0EBC 800C02BC 00021940 */ sll $v1, $v0, 5 -/* 0C0EC0 800C02C0 A6430010 */ sh $v1, 0x10($s2) -/* 0C0EC4 800C02C4 A643000C */ sh $v1, 0xc($s2) -/* 0C0EC8 800C02C8 1000FEDD */ b .L800BFE40 -/* 0C0ECC 800C02CC A6400014 */ sh $zero, 0x14($s2) -glabel L800C02D0 -/* 0C0ED0 800C02D0 0C02FC42 */ jal func_800BF108 -/* 0C0ED4 800C02D4 02202025 */ move $a0, $s1 -/* 0C0ED8 800C02D8 000268C0 */ sll $t5, $v0, 3 -/* 0C0EDC 800C02DC A64D000E */ sh $t5, 0xe($s2) -/* 0C0EE0 800C02E0 0C02FC42 */ jal func_800BF108 -/* 0C0EE4 800C02E4 02202025 */ move $a0, $s1 -/* 0C0EE8 800C02E8 000248C0 */ sll $t1, $v0, 3 -/* 0C0EEC 800C02EC A6490012 */ sh $t1, 0x12($s2) -/* 0C0EF0 800C02F0 0C02FC42 */ jal func_800BF108 -/* 0C0EF4 800C02F4 02202025 */ move $a0, $s1 -/* 0C0EF8 800C02F8 00025100 */ sll $t2, $v0, 4 -/* 0C0EFC 800C02FC 1000FED0 */ b .L800BFE40 -/* 0C0F00 800C0300 A64A0016 */ sh $t2, 0x16($s2) -glabel L800C0304 -/* 0C0F04 800C0304 0C02FC42 */ jal func_800BF108 -/* 0C0F08 800C0308 02202025 */ move $a0, $s1 -/* 0C0F0C 800C030C 00025940 */ sll $t3, $v0, 5 -/* 0C0F10 800C0310 A64B000C */ sh $t3, 0xc($s2) -/* 0C0F14 800C0314 0C02FC42 */ jal func_800BF108 -/* 0C0F18 800C0318 02202025 */ move $a0, $s1 -/* 0C0F1C 800C031C 00026140 */ sll $t4, $v0, 5 -/* 0C0F20 800C0320 A64C0010 */ sh $t4, 0x10($s2) -/* 0C0F24 800C0324 0C02FC42 */ jal func_800BF108 -/* 0C0F28 800C0328 02202025 */ move $a0, $s1 -/* 0C0F2C 800C032C 00027100 */ sll $t6, $v0, 4 -/* 0C0F30 800C0330 1000FEC3 */ b .L800BFE40 -/* 0C0F34 800C0334 A64E0014 */ sh $t6, 0x14($s2) -glabel L800C0338 -/* 0C0F38 800C0338 0C02FC42 */ jal func_800BF108 -/* 0C0F3C 800C033C 02202025 */ move $a0, $s1 -/* 0C0F40 800C0340 00027900 */ sll $t7, $v0, 4 -/* 0C0F44 800C0344 1000FEBE */ b .L800BFE40 -/* 0C0F48 800C0348 A64F0018 */ sh $t7, 0x18($s2) -glabel L800C034C -/* 0C0F4C 800C034C 0C02FC42 */ jal func_800BF108 -/* 0C0F50 800C0350 02202025 */ move $a0, $s1 -/* 0C0F54 800C0354 1000FEBA */ b .L800BFE40 -/* 0C0F58 800C0358 A2420004 */ sb $v0, 4($s2) -glabel L800C035C -/* 0C0F5C 800C035C 0C02FC42 */ jal func_800BF108 -/* 0C0F60 800C0360 02202025 */ move $a0, $s1 -/* 0C0F64 800C0364 92980004 */ lbu $t8, 4($s4) -/* 0C0F68 800C0368 3C03803B */ lui $v1, %hi(D_803B7078) # $v1, 0x803b -/* 0C0F6C 800C036C 8C637078 */ lw $v1, %lo(D_803B7078)($v1) -/* 0C0F70 800C0370 0018C840 */ sll $t9, $t8, 1 -/* 0C0F74 800C0374 24040001 */ li $a0, 1 -/* 0C0F78 800C0378 00796821 */ addu $t5, $v1, $t9 -/* 0C0F7C 800C037C 95A70000 */ lhu $a3, ($t5) -/* 0C0F80 800C0380 24050002 */ li $a1, 2 -/* 0C0F84 800C0384 00E34821 */ addu $t1, $a3, $v1 -/* 0C0F88 800C0388 91280000 */ lbu $t0, ($t1) -/* 0C0F8C 800C038C 00E85021 */ addu $t2, $a3, $t0 -/* 0C0F90 800C0390 01425823 */ subu $t3, $t2, $v0 -/* 0C0F94 800C0394 01636021 */ addu $t4, $t3, $v1 -/* 0C0F98 800C0398 91900000 */ lbu $s0, ($t4) -/* 0C0F9C 800C039C 0C02E6A4 */ jal func_800B9A90 -/* 0C0FA0 800C03A0 02003025 */ move $a2, $s0 -/* 0C0FA4 800C03A4 1040FEA6 */ beqz $v0, .L800BFE40 -/* 0C0FA8 800C03A8 00000000 */ nop -/* 0C0FAC 800C03AC 1000FEA4 */ b .L800BFE40 -/* 0C0FB0 800C03B0 A2500006 */ sb $s0, 6($s2) -glabel L800C03B4 -/* 0C0FB4 800C03B4 326E00FF */ andi $t6, $s3, 0xff -/* 0C0FB8 800C03B8 AFAE0034 */ sw $t6, 0x34($sp) -/* 0C0FBC 800C03BC 0C02FC42 */ jal func_800BF108 -/* 0C0FC0 800C03C0 02202025 */ move $a0, $s1 -/* 0C0FC4 800C03C4 305000FF */ andi $s0, $v0, 0xff -/* 0C0FC8 800C03C8 0C02FC47 */ jal func_800BF11C -/* 0C0FCC 800C03CC 02202025 */ move $a0, $s1 -/* 0C0FD0 800C03D0 8E8F0014 */ lw $t7, 0x14($s4) -/* 0C0FD4 800C03D4 8FB90034 */ lw $t9, 0x34($sp) -/* 0C0FD8 800C03D8 3058FFFF */ andi $t8, $v0, 0xffff -/* 0C0FDC 800C03DC 01F81821 */ addu $v1, $t7, $t8 -/* 0C0FE0 800C03E0 03306821 */ addu $t5, $t9, $s0 -/* 0C0FE4 800C03E4 1000FE96 */ b .L800BFE40 -/* 0C0FE8 800C03E8 A06D0000 */ sb $t5, ($v1) -glabel L800C03EC -/* 0C0FEC 800C03EC 0C02FC42 */ jal func_800BF108 -/* 0C0FF0 800C03F0 02202025 */ move $a0, $s1 -/* 0C0FF4 800C03F4 240100C8 */ li $at, 200 -/* 0C0FF8 800C03F8 16010005 */ bne $s0, $at, .L800C0410 -/* 0C0FFC 800C03FC 02001825 */ move $v1, $s0 -/* 0C1000 800C0400 02629823 */ subu $s3, $s3, $v0 -/* 0C1004 800C0404 00135E00 */ sll $t3, $s3, 0x18 -/* 0C1008 800C0408 1000FE8D */ b .L800BFE40 -/* 0C100C 800C040C 000B9E03 */ sra $s3, $t3, 0x18 -.L800C0410: -/* 0C1010 800C0410 240100CC */ li $at, 204 -/* 0C1014 800C0414 14610005 */ bne $v1, $at, .L800C042C -/* 0C1018 800C0418 02629824 */ and $s3, $s3, $v0 -/* 0C101C 800C041C 00029E00 */ sll $s3, $v0, 0x18 -/* 0C1020 800C0420 00137603 */ sra $t6, $s3, 0x18 -/* 0C1024 800C0424 1000FE86 */ b .L800BFE40 -/* 0C1028 800C0428 01C09825 */ move $s3, $t6 -.L800C042C: -/* 0C102C 800C042C 0013CE00 */ sll $t9, $s3, 0x18 -/* 0C1030 800C0430 1000FE83 */ b .L800BFE40 -/* 0C1034 800C0434 00199E03 */ sra $s3, $t9, 0x18 -glabel L800C0438 -/* 0C1038 800C0438 0C02FC42 */ jal func_800BF108 -/* 0C103C 800C043C 02202025 */ move $a0, $s1 -/* 0C1040 800C0440 1000FE7F */ b .L800BFE40 -/* 0C1044 800C0444 A2420003 */ sb $v0, 3($s2) -glabel L800C0448 -/* 0C1048 800C0448 0C02FC47 */ jal func_800BF11C -/* 0C104C 800C044C 02202025 */ move $a0, $s1 -/* 0C1050 800C0450 8E890014 */ lw $t1, 0x14($s4) -/* 0C1054 800C0454 304AFFFF */ andi $t2, $v0, 0xffff -/* 0C1058 800C0458 01535821 */ addu $t3, $t2, $s3 -/* 0C105C 800C045C 012B6021 */ addu $t4, $t1, $t3 -/* 0C1060 800C0460 1000FE77 */ b .L800BFE40 -/* 0C1064 800C0464 81930000 */ lb $s3, ($t4) -glabel L800C0468 -/* 0C1068 800C0468 0C02FC42 */ jal func_800BF108 -/* 0C106C 800C046C 02202025 */ move $a0, $s1 -/* 0C1070 800C0470 92590000 */ lbu $t9, ($s2) -/* 0C1074 800C0474 00027880 */ sll $t7, $v0, 2 -/* 0C1078 800C0478 31F80004 */ andi $t8, $t7, 4 -/* 0C107C 800C047C 332DFFFB */ andi $t5, $t9, 0xfffb -/* 0C1080 800C0480 030D5025 */ or $t2, $t8, $t5 -/* 0C1084 800C0484 1000FE6E */ b .L800BFE40 -/* 0C1088 800C0488 A24A0000 */ sb $t2, ($s2) -glabel L800C048C -/* 0C108C 800C048C 0C02FC42 */ jal func_800BF108 -/* 0C1090 800C0490 02202025 */ move $a0, $s1 -/* 0C1094 800C0494 1000FE6A */ b .L800BFE40 -/* 0C1098 800C0498 A2420002 */ sb $v0, 2($s2) -glabel L800C049C -/* 0C109C 800C049C 0C02FC42 */ jal func_800BF108 -/* 0C10A0 800C04A0 02202025 */ move $a0, $s1 -/* 0C10A4 800C04A4 1000FE66 */ b .L800BFE40 -/* 0C10A8 800C04A8 A242007D */ sb $v0, 0x7d($s2) -glabel L800C04AC -/* 0C10AC 800C04AC 0C02FC42 */ jal func_800BF108 -/* 0C10B0 800C04B0 02202025 */ move $a0, $s1 -/* 0C10B4 800C04B4 1000FE62 */ b .L800BFE40 -/* 0C10B8 800C04B8 A2420007 */ sb $v0, 7($s2) -glabel L800C04BC -/* 0C10BC 800C04BC 2401FFFF */ li $at, -1 -/* 0C10C0 800C04C0 1261FE5F */ beq $s3, $at, .L800BFE40 -/* 0C10C4 800C04C4 00000000 */ nop -/* 0C10C8 800C04C8 92240018 */ lbu $a0, 0x18($s1) -/* 0C10CC 800C04CC 8E2B0000 */ lw $t3, ($s1) -/* 0C10D0 800C04D0 8E490034 */ lw $t1, 0x34($s2) -/* 0C10D4 800C04D4 00046080 */ sll $t4, $a0, 2 -/* 0C10D8 800C04D8 022C7021 */ addu $t6, $s1, $t4 -/* 0C10DC 800C04DC ADCB0004 */ sw $t3, 4($t6) -/* 0C10E0 800C04E0 922F0018 */ lbu $t7, 0x18($s1) -/* 0C10E4 800C04E4 00131040 */ sll $v0, $s3, 1 -/* 0C10E8 800C04E8 01221821 */ addu $v1, $t1, $v0 -/* 0C10EC 800C04EC 25F90001 */ addiu $t9, $t7, 1 -/* 0C10F0 800C04F0 A2390018 */ sb $t9, 0x18($s1) -/* 0C10F4 800C04F4 906D0000 */ lbu $t5, ($v1) -/* 0C10F8 800C04F8 90780001 */ lbu $t8, 1($v1) -/* 0C10FC 800C04FC 8E8C0014 */ lw $t4, 0x14($s4) -/* 0C1100 800C0500 000D5200 */ sll $t2, $t5, 8 -/* 0C1104 800C0504 030A3821 */ addu $a3, $t8, $t2 -/* 0C1108 800C0508 30E9FFFF */ andi $t1, $a3, 0xffff -/* 0C110C 800C050C 01895821 */ addu $t3, $t4, $t1 -/* 0C1110 800C0510 1000FE4B */ b .L800BFE40 -/* 0C1114 800C0514 AE2B0000 */ sw $t3, ($s1) -glabel L800C0518 -/* 0C1118 800C0518 0C02FC42 */ jal func_800BF108 -/* 0C111C 800C051C 02202025 */ move $a0, $s1 -/* 0C1120 800C0520 1000FE47 */ b .L800BFE40 -/* 0C1124 800C0524 A2420008 */ sb $v0, 8($s2) -glabel L800C0528 -/* 0C1128 800C0528 0C02FC47 */ jal func_800BF11C -/* 0C112C 800C052C 02202025 */ move $a0, $s1 -/* 0C1130 800C0530 8E8E0014 */ lw $t6, 0x14($s4) -/* 0C1134 800C0534 304FFFFF */ andi $t7, $v0, 0xffff -/* 0C1138 800C0538 01CF1821 */ addu $v1, $t6, $t7 -/* 0C113C 800C053C 90790000 */ lbu $t9, ($v1) -/* 0C1140 800C0540 24630007 */ addiu $v1, $v1, 7 -/* 0C1144 800C0544 A2590003 */ sb $t9, 3($s2) -/* 0C1148 800C0548 906DFFFA */ lbu $t5, -6($v1) -/* 0C114C 800C054C 92590001 */ lbu $t9, 1($s2) -/* 0C1150 800C0550 A24D0002 */ sb $t5, 2($s2) -/* 0C1154 800C0554 9078FFFB */ lbu $t8, -5($v1) -/* 0C1158 800C0558 372D0020 */ ori $t5, $t9, 0x20 -/* 0C115C 800C055C A2580005 */ sb $t8, 5($s2) -/* 0C1160 800C0560 806AFFFC */ lb $t2, -4($v1) -/* 0C1164 800C0564 A64A001E */ sh $t2, 0x1e($s2) -/* 0C1168 800C0568 9069FFFD */ lbu $t1, -3($v1) -/* 0C116C 800C056C A2490009 */ sb $t1, 9($s2) -/* 0C1170 800C0570 906CFFFE */ lbu $t4, -2($v1) -/* 0C1174 800C0574 A24C000A */ sb $t4, 0xa($s2) -/* 0C1178 800C0578 906BFFFF */ lbu $t3, -1($v1) -/* 0C117C 800C057C A24B0004 */ sb $t3, 4($s2) -/* 0C1180 800C0580 906E0000 */ lbu $t6, ($v1) -/* 0C1184 800C0584 A24D0001 */ sb $t5, 1($s2) -/* 0C1188 800C0588 1000FE2D */ b .L800BFE40 -/* 0C118C 800C058C A24E0007 */ sb $t6, 7($s2) -glabel L800C0590 -/* 0C1190 800C0590 0C02FC42 */ jal func_800BF108 -/* 0C1194 800C0594 02202025 */ move $a0, $s1 -/* 0C1198 800C0598 A2420003 */ sb $v0, 3($s2) -/* 0C119C 800C059C 0C02FC42 */ jal func_800BF108 -/* 0C11A0 800C05A0 02202025 */ move $a0, $s1 -/* 0C11A4 800C05A4 A2420002 */ sb $v0, 2($s2) -/* 0C11A8 800C05A8 0C02FC42 */ jal func_800BF108 -/* 0C11AC 800C05AC 02202025 */ move $a0, $s1 -/* 0C11B0 800C05B0 A2420005 */ sb $v0, 5($s2) -/* 0C11B4 800C05B4 0C02FC42 */ jal func_800BF108 -/* 0C11B8 800C05B8 02202025 */ move $a0, $s1 -/* 0C11BC 800C05BC 0002C600 */ sll $t8, $v0, 0x18 -/* 0C11C0 800C05C0 00185603 */ sra $t2, $t8, 0x18 -/* 0C11C4 800C05C4 A64A001E */ sh $t2, 0x1e($s2) -/* 0C11C8 800C05C8 0C02FC42 */ jal func_800BF108 -/* 0C11CC 800C05CC 02202025 */ move $a0, $s1 -/* 0C11D0 800C05D0 A2420009 */ sb $v0, 9($s2) -/* 0C11D4 800C05D4 0C02FC42 */ jal func_800BF108 -/* 0C11D8 800C05D8 02202025 */ move $a0, $s1 -/* 0C11DC 800C05DC A242000A */ sb $v0, 0xa($s2) -/* 0C11E0 800C05E0 0C02FC42 */ jal func_800BF108 -/* 0C11E4 800C05E4 02202025 */ move $a0, $s1 -/* 0C11E8 800C05E8 A2420004 */ sb $v0, 4($s2) -/* 0C11EC 800C05EC 0C02FC42 */ jal func_800BF108 -/* 0C11F0 800C05F0 02202025 */ move $a0, $s1 -/* 0C11F4 800C05F4 924C0001 */ lbu $t4, 1($s2) -/* 0C11F8 800C05F8 A2420007 */ sb $v0, 7($s2) -/* 0C11FC 800C05FC 358B0020 */ ori $t3, $t4, 0x20 -/* 0C1200 800C0600 1000FE0F */ b .L800BFE40 -/* 0C1204 800C0604 A24B0001 */ sb $t3, 1($s2) -glabel L800C0608 -/* 0C1208 800C0608 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C120C 800C060C 44815000 */ mtc1 $at, $f10 -/* 0C1210 800C0610 A6400012 */ sh $zero, 0x12($s2) -/* 0C1214 800C0614 A640000E */ sh $zero, 0xe($s2) -/* 0C1218 800C0618 A6400016 */ sh $zero, 0x16($s2) -/* 0C121C 800C061C A6400010 */ sh $zero, 0x10($s2) -/* 0C1220 800C0620 A640000C */ sh $zero, 0xc($s2) -/* 0C1224 800C0624 A6400014 */ sh $zero, 0x14($s2) -/* 0C1228 800C0628 1000FE05 */ b .L800BFE40 -/* 0C122C 800C062C E64A0030 */ swc1 $f10, 0x30($s2) -glabel L800C0630 -/* 0C1230 800C0630 0C02FC42 */ jal func_800BF108 -/* 0C1234 800C0634 02202025 */ move $a0, $s1 -/* 0C1238 800C0638 1000FE01 */ b .L800BFE40 -/* 0C123C 800C063C A2420005 */ sb $v0, 5($s2) -glabel L800C0640 -/* 0C1240 800C0640 0C02FC47 */ jal func_800BF11C -/* 0C1244 800C0644 02202025 */ move $a0, $s1 -/* 0C1248 800C0648 0C02FC42 */ jal func_800BF108 -/* 0C124C 800C064C 02202025 */ move $a0, $s1 -/* 0C1250 800C0650 1000FDFB */ b .L800BFE40 -/* 0C1254 800C0654 00000000 */ nop -.L800C0658: -/* 0C1258 800C0658 306E00F0 */ andi $t6, $v1, 0xf0 -/* 0C125C 800C065C 3064000F */ andi $a0, $v1, 0xf -/* 0C1260 800C0660 2DC100B1 */ sltiu $at, $t6, 0xb1 -/* 0C1264 800C0664 1020FDF6 */ beqz $at, .L800BFE40 -/* 0C1268 800C0668 308800FF */ andi $t0, $a0, 0xff -/* 0C126C 800C066C 000E7080 */ sll $t6, $t6, 2 -/* 0C1270 800C0670 3C01800F */ lui $at, %hi(D_800F308C) -/* 0C1274 800C0674 002E0821 */ addu $at, $at, $t6 -/* 0C1278 800C0678 8C2E308C */ lw $t6, %lo(D_800F308C)($at) -/* 0C127C 800C067C 01C00008 */ jr $t6 -/* 0C1280 800C0680 00000000 */ nop -glabel L800C0684 -/* 0C1284 800C0684 308F00FF */ andi $t7, $a0, 0xff -/* 0C1288 800C0688 000FC880 */ sll $t9, $t7, 2 -/* 0C128C 800C068C 02596821 */ addu $t5, $s2, $t9 -/* 0C1290 800C0690 8DA30048 */ lw $v1, 0x48($t5) -/* 0C1294 800C0694 10600007 */ beqz $v1, .L800C06B4 -/* 0C1298 800C0698 00000000 */ nop -/* 0C129C 800C069C 8C730000 */ lw $s3, ($v1) -/* 0C12A0 800C06A0 0013C040 */ sll $t8, $s3, 1 -/* 0C12A4 800C06A4 001857C2 */ srl $t2, $t8, 0x1f -/* 0C12A8 800C06A8 000A4E00 */ sll $t1, $t2, 0x18 -/* 0C12AC 800C06AC 1000FDE4 */ b .L800BFE40 -/* 0C12B0 800C06B0 00099E03 */ sra $s3, $t1, 0x18 -.L800C06B4: -/* 0C12B4 800C06B4 1000FDE2 */ b .L800BFE40 -/* 0C12B8 800C06B8 2413FFFF */ li $s3, -1 -glabel L800C06BC -/* 0C12BC 800C06BC 308B00FF */ andi $t3, $a0, 0xff -/* 0C12C0 800C06C0 024B7021 */ addu $t6, $s2, $t3 -/* 0C12C4 800C06C4 1000FDDE */ b .L800BFE40 -/* 0C12C8 800C06C8 A1D30058 */ sb $s3, 0x58($t6) -glabel L800C06CC -/* 0C12CC 800C06CC 308300FF */ andi $v1, $a0, 0xff -/* 0C12D0 800C06D0 02432821 */ addu $a1, $s2, $v1 -/* 0C12D4 800C06D4 28610004 */ slti $at, $v1, 4 -/* 0C12D8 800C06D8 1020FDD9 */ beqz $at, .L800BFE40 -/* 0C12DC 800C06DC 80B30058 */ lb $s3, 0x58($a1) -/* 0C12E0 800C06E0 240FFFFF */ li $t7, -1 -/* 0C12E4 800C06E4 1000FDD6 */ b .L800BFE40 -/* 0C12E8 800C06E8 A0AF0058 */ sb $t7, 0x58($a1) -glabel L800C06EC -/* 0C12EC 800C06EC 309900FF */ andi $t9, $a0, 0xff -/* 0C12F0 800C06F0 02596821 */ addu $t5, $s2, $t9 -/* 0C12F4 800C06F4 81B80058 */ lb $t8, 0x58($t5) -/* 0C12F8 800C06F8 02789823 */ subu $s3, $s3, $t8 -/* 0C12FC 800C06FC 00135600 */ sll $t2, $s3, 0x18 -/* 0C1300 800C0700 1000FDCF */ b .L800BFE40 -/* 0C1304 800C0704 000A9E03 */ sra $s3, $t2, 0x18 -glabel L800C0708 -/* 0C1308 800C0708 308C00FF */ andi $t4, $a0, 0xff -/* 0C130C 800C070C 1000005C */ b .L800C0880 -/* 0C1310 800C0710 A64C001A */ sh $t4, 0x1a($s2) -glabel L800C0714 -/* 0C1314 800C0714 0C02FC47 */ jal func_800BF11C -/* 0C1318 800C0718 02202025 */ move $a0, $s1 -/* 0C131C 800C071C 02003025 */ move $a2, $s0 -/* 0C1320 800C0720 30C5000F */ andi $a1, $a2, 0xf -/* 0C1324 800C0724 00A03025 */ move $a2, $a1 -/* 0C1328 800C0728 AFA50034 */ sw $a1, 0x34($sp) -/* 0C132C 800C072C 02402025 */ move $a0, $s2 -/* 0C1330 800C0730 0C02FA84 */ jal func_800BEA10 -/* 0C1334 800C0734 A7A20052 */ sh $v0, 0x52($sp) -/* 0C1338 800C0738 8FA60034 */ lw $a2, 0x34($sp) -/* 0C133C 800C073C 1440FDC0 */ bnez $v0, .L800BFE40 -/* 0C1340 800C0740 97A70052 */ lhu $a3, 0x52($sp) -/* 0C1344 800C0744 8E8E0014 */ lw $t6, 0x14($s4) -/* 0C1348 800C0748 0006C880 */ sll $t9, $a2, 2 -/* 0C134C 800C074C 02596821 */ addu $t5, $s2, $t9 -/* 0C1350 800C0750 8DB80048 */ lw $t8, 0x48($t5) -/* 0C1354 800C0754 01C77821 */ addu $t7, $t6, $a3 -/* 0C1358 800C0758 1000FDB9 */ b .L800BFE40 -/* 0C135C 800C075C AF0F0050 */ sw $t7, 0x50($t8) -glabel L800C0760 -/* 0C1360 800C0760 02002825 */ move $a1, $s0 -/* 0C1364 800C0764 30AA000F */ andi $t2, $a1, 0xf -/* 0C1368 800C0768 01402825 */ move $a1, $t2 -/* 0C136C 800C076C 0C02FAD5 */ jal func_800BEB54 -/* 0C1370 800C0770 02402025 */ move $a0, $s2 -/* 0C1374 800C0774 1000FDB2 */ b .L800BFE40 -/* 0C1378 800C0778 00000000 */ nop -glabel L800C077C -/* 0C137C 800C077C 2401FFFF */ li $at, -1 -/* 0C1380 800C0780 1261FDAF */ beq $s3, $at, .L800BFE40 -/* 0C1384 800C0784 02402025 */ move $a0, $s2 -/* 0C1388 800C0788 02003025 */ move $a2, $s0 -/* 0C138C 800C078C 30C5000F */ andi $a1, $a2, 0xf -/* 0C1390 800C0790 00A03025 */ move $a2, $a1 -/* 0C1394 800C0794 0C02FA84 */ jal func_800BEA10 -/* 0C1398 800C0798 AFA50034 */ sw $a1, 0x34($sp) -/* 0C139C 800C079C 2401FFFF */ li $at, -1 -/* 0C13A0 800C07A0 1041FDA7 */ beq $v0, $at, .L800BFE40 -/* 0C13A4 800C07A4 8FA60034 */ lw $a2, 0x34($sp) -/* 0C13A8 800C07A8 8E4C0034 */ lw $t4, 0x34($s2) -/* 0C13AC 800C07AC 00135840 */ sll $t3, $s3, 1 -/* 0C13B0 800C07B0 8E980014 */ lw $t8, 0x14($s4) -/* 0C13B4 800C07B4 018B1821 */ addu $v1, $t4, $t3 -/* 0C13B8 800C07B8 90790000 */ lbu $t9, ($v1) -/* 0C13BC 800C07BC 906E0001 */ lbu $t6, 1($v1) -/* 0C13C0 800C07C0 00064880 */ sll $t1, $a2, 2 -/* 0C13C4 800C07C4 00196A00 */ sll $t5, $t9, 8 -/* 0C13C8 800C07C8 02496021 */ addu $t4, $s2, $t1 -/* 0C13CC 800C07CC 01CD3821 */ addu $a3, $t6, $t5 -/* 0C13D0 800C07D0 8D8B0048 */ lw $t3, 0x48($t4) -/* 0C13D4 800C07D4 30EFFFFF */ andi $t7, $a3, 0xffff -/* 0C13D8 800C07D8 030F5021 */ addu $t2, $t8, $t7 -/* 0C13DC 800C07DC 1000FD98 */ b .L800BFE40 -/* 0C13E0 800C07E0 AD6A0050 */ sw $t2, 0x50($t3) -glabel L800C07E4 -/* 0C13E4 800C07E4 0C02FC47 */ jal func_800BF11C -/* 0C13E8 800C07E8 02202025 */ move $a0, $s1 -/* 0C13EC 800C07EC 8E8E0014 */ lw $t6, 0x14($s4) -/* 0C13F0 800C07F0 02002825 */ move $a1, $s0 -/* 0C13F4 800C07F4 30B9000F */ andi $t9, $a1, 0xf -/* 0C13F8 800C07F8 304DFFFF */ andi $t5, $v0, 0xffff -/* 0C13FC 800C07FC 03202825 */ move $a1, $t9 -/* 0C1400 800C0800 02802025 */ move $a0, $s4 -/* 0C1404 800C0804 0C02FBA2 */ jal func_800BEE88 -/* 0C1408 800C0808 01CD3021 */ addu $a2, $t6, $t5 -/* 0C140C 800C080C 1000FD8C */ b .L800BFE40 -/* 0C1410 800C0810 00000000 */ nop -glabel L800C0814 -/* 0C1414 800C0814 3218000F */ andi $t8, $s0, 0xf -/* 0C1418 800C0818 00184880 */ sll $t1, $t8, 2 -/* 0C141C 800C081C 02896021 */ addu $t4, $s4, $t1 -/* 0C1420 800C0820 0C02FAE9 */ jal func_800BEBA4 -/* 0C1424 800C0824 8D840030 */ lw $a0, 0x30($t4) -/* 0C1428 800C0828 1000FD85 */ b .L800BFE40 -/* 0C142C 800C082C 00000000 */ nop -glabel L800C0830 -/* 0C1430 800C0830 02202025 */ move $a0, $s1 -/* 0C1434 800C0834 0C02FC42 */ jal func_800BF108 -/* 0C1438 800C0838 A3A80055 */ sb $t0, 0x55($sp) -/* 0C143C 800C083C 93A80055 */ lbu $t0, 0x55($sp) -/* 0C1440 800C0840 00085080 */ sll $t2, $t0, 2 -/* 0C1444 800C0844 028A5821 */ addu $t3, $s4, $t2 -/* 0C1448 800C0848 8D790030 */ lw $t9, 0x30($t3) -/* 0C144C 800C084C 03227021 */ addu $t6, $t9, $v0 -/* 0C1450 800C0850 1000FD7B */ b .L800BFE40 -/* 0C1454 800C0854 A1D30058 */ sb $s3, 0x58($t6) -glabel L800C0858 -/* 0C1458 800C0858 02202025 */ move $a0, $s1 -/* 0C145C 800C085C 0C02FC42 */ jal func_800BF108 -/* 0C1460 800C0860 A3A80055 */ sb $t0, 0x55($sp) -/* 0C1464 800C0864 93A80055 */ lbu $t0, 0x55($sp) -/* 0C1468 800C0868 00086880 */ sll $t5, $t0, 2 -/* 0C146C 800C086C 028D7821 */ addu $t7, $s4, $t5 -/* 0C1470 800C0870 8DF80030 */ lw $t8, 0x30($t7) -/* 0C1474 800C0874 03024821 */ addu $t1, $t8, $v0 -/* 0C1478 800C0878 1000FD71 */ b .L800BFE40 -/* 0C147C 800C087C 81330058 */ lb $s3, 0x58($t1) -.L800C0880: -glabel L800C0880 -/* 0C1480 800C0880 02408825 */ move $s1, $s2 -.L800C0884: -/* 0C1484 800C0884 24120010 */ li $s2, 16 -/* 0C1488 800C0888 00008025 */ move $s0, $zero -.L800C088C: -/* 0C148C 800C088C 8E240048 */ lw $a0, 0x48($s1) -/* 0C1490 800C0890 50800004 */ beql $a0, $zero, .L800C08A4 -/* 0C1494 800C0894 26100004 */ addiu $s0, $s0, 4 -/* 0C1498 800C0898 0C02FC64 */ jal func_800BF190 -/* 0C149C 800C089C 00000000 */ nop -/* 0C14A0 800C08A0 26100004 */ addiu $s0, $s0, 4 -.L800C08A4: -/* 0C14A4 800C08A4 1612FFF9 */ bne $s0, $s2, .L800C088C -/* 0C14A8 800C08A8 26310004 */ addiu $s1, $s1, 4 -.L800C08AC: -/* 0C14AC 800C08AC 8FBF002C */ lw $ra, 0x2c($sp) -.L800C08B0: -/* 0C14B0 800C08B0 8FB00018 */ lw $s0, 0x18($sp) -/* 0C14B4 800C08B4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C14B8 800C08B8 8FB20020 */ lw $s2, 0x20($sp) -/* 0C14BC 800C08BC 8FB30024 */ lw $s3, 0x24($sp) -/* 0C14C0 800C08C0 8FB40028 */ lw $s4, 0x28($sp) -/* 0C14C4 800C08C4 03E00008 */ jr $ra -/* 0C14C8 800C08C8 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel func_800C08CC -/* 0C14CC 800C08CC 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0C14D0 800C08D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C14D4 800C08D4 AFB30028 */ sw $s3, 0x28($sp) -/* 0C14D8 800C08D8 AFB20024 */ sw $s2, 0x24($sp) -/* 0C14DC 800C08DC AFB10020 */ sw $s1, 0x20($sp) -/* 0C14E0 800C08E0 AFB0001C */ sw $s0, 0x1c($sp) -/* 0C14E4 800C08E4 8C820000 */ lw $v0, ($a0) -/* 0C14E8 800C08E8 00808825 */ move $s1, $a0 -/* 0C14EC 800C08EC 24010001 */ li $at, 1 -/* 0C14F0 800C08F0 000277C2 */ srl $t6, $v0, 0x1f -/* 0C14F4 800C08F4 11C00209 */ beqz $t6, .L800C111C -/* 0C14F8 800C08F8 00027900 */ sll $t7, $v0, 4 -/* 0C14FC 800C08FC 000FC7C2 */ srl $t8, $t7, 0x1f -/* 0C1500 800C0900 17010024 */ bne $t8, $at, .L800C0994 -/* 0C1504 800C0904 000278C0 */ sll $t7, $v0, 3 -/* 0C1508 800C0908 24900108 */ addiu $s0, $a0, 0x108 -/* 0C150C 800C090C 02002025 */ move $a0, $s0 -/* 0C1510 800C0910 00002825 */ move $a1, $zero -/* 0C1514 800C0914 0C0335D4 */ jal osRecvMesg -/* 0C1518 800C0918 00003025 */ move $a2, $zero -/* 0C151C 800C091C 2401FFFF */ li $at, -1 -/* 0C1520 800C0920 504101FF */ beql $v0, $at, .L800C1120 -/* 0C1524 800C0924 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C1528 800C0928 8E390144 */ lw $t9, 0x144($s1) -/* 0C152C 800C092C 26240140 */ addiu $a0, $s1, 0x140 -/* 0C1530 800C0930 2625013C */ addiu $a1, $s1, 0x13c -/* 0C1534 800C0934 17200011 */ bnez $t9, .L800C097C -/* 0C1538 800C0938 26260144 */ addiu $a2, $s1, 0x144 -/* 0C153C 800C093C 92280000 */ lbu $t0, ($s1) -/* 0C1540 800C0940 92240006 */ lbu $a0, 6($s1) -/* 0C1544 800C0944 3109FFF7 */ andi $t1, $t0, 0xfff7 -/* 0C1548 800C0948 0C02ED61 */ jal func_800BB584 -/* 0C154C 800C094C A2290000 */ sb $t1, ($s1) -/* 0C1550 800C0950 922A0006 */ lbu $t2, 6($s1) -/* 0C1554 800C0954 3C0B803B */ lui $t3, %hi(D_803B03C0) # $t3, 0x803b -/* 0C1558 800C0958 256B03C0 */ addiu $t3, %lo(D_803B03C0) # addiu $t3, $t3, 0x3c0 -/* 0C155C 800C095C 014B1021 */ addu $v0, $t2, $t3 -/* 0C1560 800C0960 904C0000 */ lbu $t4, ($v0) -/* 0C1564 800C0964 24060005 */ li $a2, 5 -/* 0C1568 800C0968 240D0002 */ li $t5, 2 -/* 0C156C 800C096C 50CC01EC */ beql $a2, $t4, .L800C1120 -/* 0C1570 800C0970 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C1574 800C0974 100001E9 */ b .L800C111C -/* 0C1578 800C0978 A04D0000 */ sb $t5, ($v0) -.L800C097C: -/* 0C157C 800C097C 262E0124 */ addiu $t6, $s1, 0x124 -/* 0C1580 800C0980 AFAE0010 */ sw $t6, 0x10($sp) -/* 0C1584 800C0984 0C02EAD6 */ jal func_800BAB58 -/* 0C1588 800C0988 02003825 */ move $a3, $s0 -/* 0C158C 800C098C 100001E4 */ b .L800C1120 -/* 0C1590 800C0990 8FBF002C */ lw $ra, 0x2c($sp) -.L800C0994: -/* 0C1594 800C0994 000FC7C2 */ srl $t8, $t7, 0x1f -/* 0C1598 800C0998 24010001 */ li $at, 1 -/* 0C159C 800C099C 17010013 */ bne $t8, $at, .L800C09EC -/* 0C15A0 800C09A0 262400D4 */ addiu $a0, $s1, 0xd4 -/* 0C15A4 800C09A4 00002825 */ move $a1, $zero -/* 0C15A8 800C09A8 0C0335D4 */ jal osRecvMesg -/* 0C15AC 800C09AC 00003025 */ move $a2, $zero -/* 0C15B0 800C09B0 2401FFFF */ li $at, -1 -/* 0C15B4 800C09B4 104101D9 */ beq $v0, $at, .L800C111C -/* 0C15B8 800C09B8 3C0A803B */ lui $t2, %hi(D_803B0400) # $t2, 0x803b -/* 0C15BC 800C09BC 92390000 */ lbu $t9, ($s1) -/* 0C15C0 800C09C0 92290004 */ lbu $t1, 4($s1) -/* 0C15C4 800C09C4 254A0400 */ addiu $t2, %lo(D_803B0400) # addiu $t2, $t2, 0x400 -/* 0C15C8 800C09C8 3328FFEF */ andi $t0, $t9, 0xffef -/* 0C15CC 800C09CC A2280000 */ sb $t0, ($s1) -/* 0C15D0 800C09D0 012A1821 */ addu $v1, $t1, $t2 -/* 0C15D4 800C09D4 906B0000 */ lbu $t3, ($v1) -/* 0C15D8 800C09D8 24060005 */ li $a2, 5 -/* 0C15DC 800C09DC 240C0002 */ li $t4, 2 -/* 0C15E0 800C09E0 50CB0003 */ beql $a2, $t3, .L800C09F0 -/* 0C15E4 800C09E4 922D0004 */ lbu $t5, 4($s1) -/* 0C15E8 800C09E8 A06C0000 */ sb $t4, ($v1) -.L800C09EC: -/* 0C15EC 800C09EC 922D0004 */ lbu $t5, 4($s1) -.L800C09F0: -/* 0C15F0 800C09F0 3C0E803B */ lui $t6, %hi(D_803B0400) # $t6, 0x803b -/* 0C15F4 800C09F4 25CE0400 */ addiu $t6, %lo(D_803B0400) # addiu $t6, $t6, 0x400 -/* 0C15F8 800C09F8 01AE1821 */ addu $v1, $t5, $t6 -/* 0C15FC 800C09FC 90650000 */ lbu $a1, ($v1) -/* 0C1600 800C0A00 24060005 */ li $a2, 5 -/* 0C1604 800C0A04 28AF0002 */ slti $t7, $a1, 2 -/* 0C1608 800C0A08 15E00009 */ bnez $t7, .L800C0A30 -/* 0C160C 800C0A0C 00000000 */ nop -/* 0C1610 800C0A10 92380005 */ lbu $t8, 5($s1) -/* 0C1614 800C0A14 3C19803B */ lui $t9, %hi(D_803B03C0) # $t9, 0x803b -/* 0C1618 800C0A18 273903C0 */ addiu $t9, %lo(D_803B03C0) # addiu $t9, $t9, 0x3c0 -/* 0C161C 800C0A1C 03191021 */ addu $v0, $t8, $t9 -/* 0C1620 800C0A20 90440000 */ lbu $a0, ($v0) -/* 0C1624 800C0A24 28880002 */ slti $t0, $a0, 2 -/* 0C1628 800C0A28 11000005 */ beqz $t0, .L800C0A40 -/* 0C162C 800C0A2C 00000000 */ nop -.L800C0A30: -/* 0C1630 800C0A30 0C02FBCB */ jal func_800BEF2C -/* 0C1634 800C0A34 02202025 */ move $a0, $s1 -/* 0C1638 800C0A38 100001B9 */ b .L800C1120 -/* 0C163C 800C0A3C 8FBF002C */ lw $ra, 0x2c($sp) -.L800C0A40: -/* 0C1640 800C0A40 10C50007 */ beq $a2, $a1, .L800C0A60 -/* 0C1644 800C0A44 24090002 */ li $t1, 2 -/* 0C1648 800C0A48 A0690000 */ sb $t1, ($v1) -/* 0C164C 800C0A4C 922A0005 */ lbu $t2, 5($s1) -/* 0C1650 800C0A50 3C0B803B */ lui $t3, %hi(D_803B03C0) # $t3, 0x803b -/* 0C1654 800C0A54 256B03C0 */ addiu $t3, %lo(D_803B03C0) # addiu $t3, $t3, 0x3c0 -/* 0C1658 800C0A58 014B1021 */ addu $v0, $t2, $t3 -/* 0C165C 800C0A5C 90440000 */ lbu $a0, ($v0) -.L800C0A60: -/* 0C1660 800C0A60 10C40002 */ beq $a2, $a0, .L800C0A6C -/* 0C1664 800C0A64 240C0002 */ li $t4, 2 -/* 0C1668 800C0A68 A04C0000 */ sb $t4, ($v0) -.L800C0A6C: -/* 0C166C 800C0A6C 8E2D0000 */ lw $t5, ($s1) -/* 0C1670 800C0A70 000D7880 */ sll $t7, $t5, 2 -/* 0C1674 800C0A74 05E30006 */ bgezl $t7, .L800C0A90 -/* 0C1678 800C0A78 9628000A */ lhu $t0, 0xa($s1) -/* 0C167C 800C0A7C 92380003 */ lbu $t8, 3($s1) -/* 0C1680 800C0A80 33190080 */ andi $t9, $t8, 0x80 -/* 0C1684 800C0A84 572001A6 */ bnel $t9, $zero, .L800C1120 -/* 0C1688 800C0A88 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C168C 800C0A8C 9628000A */ lhu $t0, 0xa($s1) -.L800C0A90: -/* 0C1690 800C0A90 96290008 */ lhu $t1, 8($s1) -/* 0C1694 800C0A94 3C03803B */ lui $v1, %hi(D_803B70B4) # $v1, 0x803b -/* 0C1698 800C0A98 01095021 */ addu $t2, $t0, $t1 -/* 0C169C 800C0A9C A62A000A */ sh $t2, 0xa($s1) -/* 0C16A0 800C0AA0 846370B4 */ lh $v1, %lo(D_803B70B4)($v1) -/* 0C16A4 800C0AA4 3142FFFF */ andi $v0, $t2, 0xffff -/* 0C16A8 800C0AA8 0043082A */ slt $at, $v0, $v1 -/* 0C16AC 800C0AAC 5420019C */ bnel $at, $zero, .L800C1120 -/* 0C16B0 800C0AB0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C16B4 800C0AB4 9624000E */ lhu $a0, 0xe($s1) -/* 0C16B8 800C0AB8 00436023 */ subu $t4, $v0, $v1 -/* 0C16BC 800C0ABC A62C000A */ sh $t4, 0xa($s1) -/* 0C16C0 800C0AC0 28810002 */ slti $at, $a0, 2 -/* 0C16C4 800C0AC4 14200003 */ bnez $at, .L800C0AD4 -/* 0C16C8 800C0AC8 248DFFFF */ addiu $t5, $a0, -1 -/* 0C16CC 800C0ACC 10000180 */ b .L800C10D0 -/* 0C16D0 800C0AD0 A62D000E */ sh $t5, 0xe($s1) -.L800C0AD4: -/* 0C16D4 800C0AD4 922F0000 */ lbu $t7, ($s1) -/* 0C16D8 800C0AD8 26300070 */ addiu $s0, $s1, 0x70 -/* 0C16DC 800C0ADC 35F80004 */ ori $t8, $t7, 4 -/* 0C16E0 800C0AE0 A2380000 */ sb $t8, ($s1) -/* 0C16E4 800C0AE4 8FB30058 */ lw $s3, 0x58($sp) -.L800C0AE8: -glabel L800C0AE8 -/* 0C16E8 800C0AE8 0C02FC42 */ jal func_800BF108 -/* 0C16EC 800C0AEC 02002025 */ move $a0, $s0 -/* 0C16F0 800C0AF0 240100FF */ li $at, 255 -/* 0C16F4 800C0AF4 1441000E */ bne $v0, $at, .L800C0B30 -/* 0C16F8 800C0AF8 305200FF */ andi $s2, $v0, 0xff -/* 0C16FC 800C0AFC 92040018 */ lbu $a0, 0x18($s0) -/* 0C1700 800C0B00 14800005 */ bnez $a0, .L800C0B18 -/* 0C1704 800C0B04 2483FFFF */ addiu $v1, $a0, -1 -/* 0C1708 800C0B08 0C02FBCB */ jal func_800BEF2C -/* 0C170C 800C0B0C 02202025 */ move $a0, $s1 -/* 0C1710 800C0B10 1000016F */ b .L800C10D0 -/* 0C1714 800C0B14 00000000 */ nop -.L800C0B18: -/* 0C1718 800C0B18 307900FF */ andi $t9, $v1, 0xff -/* 0C171C 800C0B1C 00194080 */ sll $t0, $t9, 2 -/* 0C1720 800C0B20 02084821 */ addu $t1, $s0, $t0 -/* 0C1724 800C0B24 A2190018 */ sb $t9, 0x18($s0) -/* 0C1728 800C0B28 8D2A0004 */ lw $t2, 4($t1) -/* 0C172C 800C0B2C AE0A0000 */ sw $t2, ($s0) -.L800C0B30: -/* 0C1730 800C0B30 304300FF */ andi $v1, $v0, 0xff -/* 0C1734 800C0B34 240100FD */ li $at, 253 -/* 0C1738 800C0B38 14610005 */ bne $v1, $at, .L800C0B50 -/* 0C173C 800C0B3C 306200F0 */ andi $v0, $v1, 0xf0 -/* 0C1740 800C0B40 0C02FC53 */ jal func_800BF14C -/* 0C1744 800C0B44 02002025 */ move $a0, $s0 -/* 0C1748 800C0B48 10000161 */ b .L800C10D0 -/* 0C174C 800C0B4C A622000E */ sh $v0, 0xe($s1) -.L800C0B50: -/* 0C1750 800C0B50 240100FE */ li $at, 254 -/* 0C1754 800C0B54 14610004 */ bne $v1, $at, .L800C0B68 -/* 0C1758 800C0B58 246CFF38 */ addiu $t4, $v1, -0xc8 -/* 0C175C 800C0B5C 240B0001 */ li $t3, 1 -/* 0C1760 800C0B60 1000015B */ b .L800C10D0 -/* 0C1764 800C0B64 A62B000E */ sh $t3, 0xe($s1) -.L800C0B68: -/* 0C1768 800C0B68 286100C0 */ slti $at, $v1, 0xc0 -/* 0C176C 800C0B6C 14200125 */ bnez $at, .L800C1004 -/* 0C1770 800C0B70 2D810038 */ sltiu $at, $t4, 0x38 -/* 0C1774 800C0B74 1020FFDC */ beqz $at, .L800C0AE8 -/* 0C1778 800C0B78 000C6080 */ sll $t4, $t4, 2 -/* 0C177C 800C0B7C 3C01800F */ lui $at, %hi(D_800F3350) -/* 0C1780 800C0B80 002C0821 */ addu $at, $at, $t4 -/* 0C1784 800C0B84 8C2C3350 */ lw $t4, %lo(D_800F3350)($at) -/* 0C1788 800C0B88 01800008 */ jr $t4 -/* 0C178C 800C0B8C 00000000 */ nop -glabel L800C0B90 -/* 0C1790 800C0B90 0C02FC47 */ jal func_800BF11C -/* 0C1794 800C0B94 02002025 */ move $a0, $s0 -/* 0C1798 800C0B98 920E0018 */ lbu $t6, 0x18($s0) -/* 0C179C 800C0B9C 8E0D0000 */ lw $t5, ($s0) -/* 0C17A0 800C0BA0 304AFFFF */ andi $t2, $v0, 0xffff -/* 0C17A4 800C0BA4 000E7880 */ sll $t7, $t6, 2 -/* 0C17A8 800C0BA8 020FC021 */ addu $t8, $s0, $t7 -/* 0C17AC 800C0BAC AF0D0004 */ sw $t5, 4($t8) -/* 0C17B0 800C0BB0 92190018 */ lbu $t9, 0x18($s0) -/* 0C17B4 800C0BB4 27280001 */ addiu $t0, $t9, 1 -/* 0C17B8 800C0BB8 A2080018 */ sb $t0, 0x18($s0) -/* 0C17BC 800C0BBC 8E290014 */ lw $t1, 0x14($s1) -/* 0C17C0 800C0BC0 012A5821 */ addu $t3, $t1, $t2 -/* 0C17C4 800C0BC4 1000FFC8 */ b .L800C0AE8 -/* 0C17C8 800C0BC8 AE0B0000 */ sw $t3, ($s0) -/* 0C17CC 800C0BCC 1000FFC6 */ b .L800C0AE8 -/* 0C17D0 800C0BD0 00000000 */ nop -glabel L800C0BD4 -/* 0C17D4 800C0BD4 0C02FC42 */ jal func_800BF108 -/* 0C17D8 800C0BD8 02002025 */ move $a0, $s0 -/* 0C17DC 800C0BDC 920C0018 */ lbu $t4, 0x18($s0) -/* 0C17E0 800C0BE0 020C7021 */ addu $t6, $s0, $t4 -/* 0C17E4 800C0BE4 A1C20014 */ sb $v0, 0x14($t6) -/* 0C17E8 800C0BE8 920D0018 */ lbu $t5, 0x18($s0) -/* 0C17EC 800C0BEC 8E0F0000 */ lw $t7, ($s0) -/* 0C17F0 800C0BF0 000DC080 */ sll $t8, $t5, 2 -/* 0C17F4 800C0BF4 0218C821 */ addu $t9, $s0, $t8 -/* 0C17F8 800C0BF8 AF2F0004 */ sw $t7, 4($t9) -/* 0C17FC 800C0BFC 92080018 */ lbu $t0, 0x18($s0) -/* 0C1800 800C0C00 25090001 */ addiu $t1, $t0, 1 -/* 0C1804 800C0C04 1000FFB8 */ b .L800C0AE8 -/* 0C1808 800C0C08 A2090018 */ sb $t1, 0x18($s0) -glabel L800C0C0C -/* 0C180C 800C0C0C 920A0018 */ lbu $t2, 0x18($s0) -/* 0C1810 800C0C10 020A1021 */ addu $v0, $s0, $t2 -/* 0C1814 800C0C14 904B0013 */ lbu $t3, 0x13($v0) -/* 0C1818 800C0C18 256CFFFF */ addiu $t4, $t3, -1 -/* 0C181C 800C0C1C A04C0013 */ sb $t4, 0x13($v0) -/* 0C1820 800C0C20 92040018 */ lbu $a0, 0x18($s0) -/* 0C1824 800C0C24 02047021 */ addu $t6, $s0, $a0 -/* 0C1828 800C0C28 91CD0013 */ lbu $t5, 0x13($t6) -/* 0C182C 800C0C2C 00801825 */ move $v1, $a0 -/* 0C1830 800C0C30 0003C080 */ sll $t8, $v1, 2 -/* 0C1834 800C0C34 11A00005 */ beqz $t5, .L800C0C4C -/* 0C1838 800C0C38 2488FFFF */ addiu $t0, $a0, -1 -/* 0C183C 800C0C3C 02187821 */ addu $t7, $s0, $t8 -/* 0C1840 800C0C40 8DF90000 */ lw $t9, ($t7) -/* 0C1844 800C0C44 1000FFA8 */ b .L800C0AE8 -/* 0C1848 800C0C48 AE190000 */ sw $t9, ($s0) -.L800C0C4C: -/* 0C184C 800C0C4C 1000FFA6 */ b .L800C0AE8 -/* 0C1850 800C0C50 A2080018 */ sb $t0, 0x18($s0) -glabel L800C0C54 -/* 0C1854 800C0C54 0C02FC47 */ jal func_800BF11C -/* 0C1858 800C0C58 02002025 */ move $a0, $s0 -/* 0C185C 800C0C5C 240100FA */ li $at, 250 -/* 0C1860 800C0C60 16410003 */ bne $s2, $at, .L800C0C70 -/* 0C1864 800C0C64 02401825 */ move $v1, $s2 -/* 0C1868 800C0C68 1660FF9F */ bnez $s3, .L800C0AE8 -/* 0C186C 800C0C6C 00000000 */ nop -.L800C0C70: -/* 0C1870 800C0C70 240100F9 */ li $at, 249 -/* 0C1874 800C0C74 54610004 */ bnel $v1, $at, .L800C0C88 -/* 0C1878 800C0C78 240100F5 */ li $at, 245 -/* 0C187C 800C0C7C 0661FF9A */ bgez $s3, .L800C0AE8 -/* 0C1880 800C0C80 00000000 */ nop -/* 0C1884 800C0C84 240100F5 */ li $at, 245 -.L800C0C88: -/* 0C1888 800C0C88 54610004 */ bnel $v1, $at, .L800C0C9C -/* 0C188C 800C0C8C 8E290014 */ lw $t1, 0x14($s1) -/* 0C1890 800C0C90 0660FF95 */ bltz $s3, .L800C0AE8 -/* 0C1894 800C0C94 00000000 */ nop -/* 0C1898 800C0C98 8E290014 */ lw $t1, 0x14($s1) -.L800C0C9C: -/* 0C189C 800C0C9C 304AFFFF */ andi $t2, $v0, 0xffff -/* 0C18A0 800C0CA0 012A5821 */ addu $t3, $t1, $t2 -/* 0C18A4 800C0CA4 1000FF90 */ b .L800C0AE8 -/* 0C18A8 800C0CA8 AE0B0000 */ sw $t3, ($s0) -glabel L800C0CAC -/* 0C18AC 800C0CAC 0C02FC42 */ jal func_800BF108 -/* 0C18B0 800C0CB0 02002025 */ move $a0, $s0 -/* 0C18B4 800C0CB4 240100F3 */ li $at, 243 -/* 0C18B8 800C0CB8 16410003 */ bne $s2, $at, .L800C0CC8 -/* 0C18BC 800C0CBC 02401825 */ move $v1, $s2 -/* 0C18C0 800C0CC0 1660FF89 */ bnez $s3, .L800C0AE8 -/* 0C18C4 800C0CC4 00000000 */ nop -.L800C0CC8: -/* 0C18C8 800C0CC8 240100F2 */ li $at, 242 -/* 0C18CC 800C0CCC 54610004 */ bnel $v1, $at, .L800C0CE0 -/* 0C18D0 800C0CD0 8E0C0000 */ lw $t4, ($s0) -/* 0C18D4 800C0CD4 0661FF84 */ bgez $s3, .L800C0AE8 -/* 0C18D8 800C0CD8 00000000 */ nop -/* 0C18DC 800C0CDC 8E0C0000 */ lw $t4, ($s0) -.L800C0CE0: -/* 0C18E0 800C0CE0 00027600 */ sll $t6, $v0, 0x18 -/* 0C18E4 800C0CE4 000E6E03 */ sra $t5, $t6, 0x18 -/* 0C18E8 800C0CE8 018DC021 */ addu $t8, $t4, $t5 -/* 0C18EC 800C0CEC 1000FF7E */ b .L800C0AE8 -/* 0C18F0 800C0CF0 AE180000 */ sw $t8, ($s0) -glabel L800C0CF4 -/* 0C18F4 800C0CF4 26240094 */ addiu $a0, $s1, 0x94 -/* 0C18F8 800C0CF8 0C02F506 */ jal func_800BD418 -/* 0C18FC 800C0CFC AFA40038 */ sw $a0, 0x38($sp) -/* 0C1900 800C0D00 0C02FC42 */ jal func_800BF108 -/* 0C1904 800C0D04 02002025 */ move $a0, $s0 -/* 0C1908 800C0D08 8FA40038 */ lw $a0, 0x38($sp) -/* 0C190C 800C0D0C 0C02F55E */ jal func_800BD578 -/* 0C1910 800C0D10 00402825 */ move $a1, $v0 -/* 0C1914 800C0D14 1000FF74 */ b .L800C0AE8 -/* 0C1918 800C0D18 00000000 */ nop -glabel L800C0D1C -/* 0C191C 800C0D1C 0C02F506 */ jal func_800BD418 -/* 0C1920 800C0D20 26240094 */ addiu $a0, $s1, 0x94 -/* 0C1924 800C0D24 1000FF70 */ b .L800C0AE8 -/* 0C1928 800C0D28 00000000 */ nop -glabel L800C0D2C -/* 0C192C 800C0D2C A620000C */ sh $zero, 0xc($s1) -glabel L800C0D30 -/* 0C1930 800C0D30 0C02FC42 */ jal func_800BF108 -/* 0C1934 800C0D34 02002025 */ move $a0, $s0 -/* 0C1938 800C0D38 862F000C */ lh $t7, 0xc($s1) -/* 0C193C 800C0D3C 0002CE00 */ sll $t9, $v0, 0x18 -/* 0C1940 800C0D40 00194603 */ sra $t0, $t9, 0x18 -/* 0C1944 800C0D44 01E84821 */ addu $t1, $t7, $t0 -/* 0C1948 800C0D48 1000FF67 */ b .L800C0AE8 -/* 0C194C 800C0D4C A629000C */ sh $t1, 0xc($s1) -glabel L800C0D50 -/* 0C1950 800C0D50 0C02FC42 */ jal func_800BF108 -/* 0C1954 800C0D54 02002025 */ move $a0, $s0 -/* 0C1958 800C0D58 240100DD */ li $at, 221 -/* 0C195C 800C0D5C 16410007 */ bne $s2, $at, .L800C0D7C -/* 0C1960 800C0D60 3C03803B */ lui $v1, %hi(D_803B70B4) # $v1, 0x803b -/* 0C1964 800C0D64 304A00FF */ andi $t2, $v0, 0xff -/* 0C1968 800C0D68 000A5880 */ sll $t3, $t2, 2 -/* 0C196C 800C0D6C 016A5823 */ subu $t3, $t3, $t2 -/* 0C1970 800C0D70 000B5900 */ sll $t3, $t3, 4 -/* 0C1974 800C0D74 10000009 */ b .L800C0D9C -/* 0C1978 800C0D78 A62B0008 */ sh $t3, 8($s1) -.L800C0D7C: -/* 0C197C 800C0D7C 00026600 */ sll $t4, $v0, 0x18 -/* 0C1980 800C0D80 000C6E03 */ sra $t5, $t4, 0x18 -/* 0C1984 800C0D84 962E0008 */ lhu $t6, 8($s1) -/* 0C1988 800C0D88 000DC080 */ sll $t8, $t5, 2 -/* 0C198C 800C0D8C 030DC023 */ subu $t8, $t8, $t5 -/* 0C1990 800C0D90 0018C100 */ sll $t8, $t8, 4 -/* 0C1994 800C0D94 01D8C821 */ addu $t9, $t6, $t8 -/* 0C1998 800C0D98 A6390008 */ sh $t9, 8($s1) -.L800C0D9C: -/* 0C199C 800C0D9C 846370B4 */ lh $v1, %lo(D_803B70B4)($v1) -/* 0C19A0 800C0DA0 96220008 */ lhu $v0, 8($s1) -/* 0C19A4 800C0DA4 24090001 */ li $t1, 1 -/* 0C19A8 800C0DA8 0062082A */ slt $at, $v1, $v0 -/* 0C19AC 800C0DAC 50200004 */ beql $at, $zero, .L800C0DC0 -/* 0C19B0 800C0DB0 00027C00 */ sll $t7, $v0, 0x10 -/* 0C19B4 800C0DB4 A6230008 */ sh $v1, 8($s1) -/* 0C19B8 800C0DB8 3062FFFF */ andi $v0, $v1, 0xffff -/* 0C19BC 800C0DBC 00027C00 */ sll $t7, $v0, 0x10 -.L800C0DC0: -/* 0C19C0 800C0DC0 000F4403 */ sra $t0, $t7, 0x10 -/* 0C19C4 800C0DC4 1D00FF48 */ bgtz $t0, .L800C0AE8 -/* 0C19C8 800C0DC8 00000000 */ nop -/* 0C19CC 800C0DCC 1000FF46 */ b .L800C0AE8 -/* 0C19D0 800C0DD0 A6290008 */ sh $t1, 8($s1) -glabel L800C0DD4 -/* 0C19D4 800C0DD4 0C02FC42 */ jal func_800BF108 -/* 0C19D8 800C0DD8 02002025 */ move $a0, $s0 -/* 0C19DC 800C0DDC 305200FF */ andi $s2, $v0, 0xff -/* 0C19E0 800C0DE0 0C02FC47 */ jal func_800BF11C -/* 0C19E4 800C0DE4 02002025 */ move $a0, $s0 -/* 0C19E8 800C0DE8 12400008 */ beqz $s2, .L800C0E0C -/* 0C19EC 800C0DEC 02401825 */ move $v1, $s2 -/* 0C19F0 800C0DF0 24010001 */ li $at, 1 -/* 0C19F4 800C0DF4 10610005 */ beq $v1, $at, .L800C0E0C -/* 0C19F8 800C0DF8 24010002 */ li $at, 2 -/* 0C19FC 800C0DFC 1061000A */ beq $v1, $at, .L800C0E28 -/* 0C1A00 800C0E00 304BFFFF */ andi $t3, $v0, 0xffff -/* 0C1A04 800C0E04 1000FF38 */ b .L800C0AE8 -/* 0C1A08 800C0E08 00000000 */ nop -.L800C0E0C: -/* 0C1A0C 800C0E0C 922A0001 */ lbu $t2, 1($s1) -/* 0C1A10 800C0E10 24010002 */ li $at, 2 -/* 0C1A14 800C0E14 1141FF34 */ beq $t2, $at, .L800C0AE8 -/* 0C1A18 800C0E18 00000000 */ nop -/* 0C1A1C 800C0E1C A6220012 */ sh $v0, 0x12($s1) -/* 0C1A20 800C0E20 1000FF31 */ b .L800C0AE8 -/* 0C1A24 800C0E24 A2320001 */ sb $s2, 1($s1) -.L800C0E28: -/* 0C1A28 800C0E28 448B5000 */ mtc1 $t3, $f10 -/* 0C1A2C 800C0E2C 44802000 */ mtc1 $zero, $f4 -/* 0C1A30 800C0E30 C6260018 */ lwc1 $f6, 0x18($s1) -/* 0C1A34 800C0E34 46805420 */ cvt.s.w $f16, $f10 -/* 0C1A38 800C0E38 A6220010 */ sh $v0, 0x10($s1) -/* 0C1A3C 800C0E3C A2320001 */ sb $s2, 1($s1) -/* 0C1A40 800C0E40 46062201 */ sub.s $f8, $f4, $f6 -/* 0C1A44 800C0E44 46104483 */ div.s $f18, $f8, $f16 -/* 0C1A48 800C0E48 1000FF27 */ b .L800C0AE8 -/* 0C1A4C 800C0E4C E632001C */ swc1 $f18, 0x1c($s1) -glabel L800C0E50 -/* 0C1A50 800C0E50 0C02FC42 */ jal func_800BF108 -/* 0C1A54 800C0E54 02002025 */ move $a0, $s0 -/* 0C1A58 800C0E58 92230001 */ lbu $v1, 1($s1) -/* 0C1A5C 800C0E5C 24010001 */ li $at, 1 -/* 0C1A60 800C0E60 5060000B */ beql $v1, $zero, .L800C0E90 -/* 0C1A64 800C0E64 96230012 */ lhu $v1, 0x12($s1) -/* 0C1A68 800C0E68 10610005 */ beq $v1, $at, .L800C0E80 -/* 0C1A6C 800C0E6C 24010002 */ li $at, 2 -/* 0C1A70 800C0E70 1061FF1D */ beq $v1, $at, .L800C0AE8 -/* 0C1A74 800C0E74 00000000 */ nop -/* 0C1A78 800C0E78 1000FF1B */ b .L800C0AE8 -/* 0C1A7C 800C0E7C 00000000 */ nop -.L800C0E80: -/* 0C1A80 800C0E80 44802000 */ mtc1 $zero, $f4 -/* 0C1A84 800C0E84 A2200001 */ sb $zero, 1($s1) -/* 0C1A88 800C0E88 E6240018 */ swc1 $f4, 0x18($s1) -/* 0C1A8C 800C0E8C 96230012 */ lhu $v1, 0x12($s1) -.L800C0E90: -/* 0C1A90 800C0E90 1060000E */ beqz $v1, .L800C0ECC -/* 0C1A94 800C0E94 A6230010 */ sh $v1, 0x10($s1) -/* 0C1A98 800C0E98 44823000 */ mtc1 $v0, $f6 -/* 0C1A9C 800C0E9C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C1AA0 800C0EA0 44814000 */ mtc1 $at, $f8 -/* 0C1AA4 800C0EA4 468032A0 */ cvt.s.w $f10, $f6 -/* 0C1AA8 800C0EA8 306CFFFF */ andi $t4, $v1, 0xffff -/* 0C1AAC 800C0EAC 448C3000 */ mtc1 $t4, $f6 -/* 0C1AB0 800C0EB0 C6320018 */ lwc1 $f18, 0x18($s1) -/* 0C1AB4 800C0EB4 46085403 */ div.s $f16, $f10, $f8 -/* 0C1AB8 800C0EB8 468032A0 */ cvt.s.w $f10, $f6 -/* 0C1ABC 800C0EBC 46128101 */ sub.s $f4, $f16, $f18 -/* 0C1AC0 800C0EC0 460A2203 */ div.s $f8, $f4, $f10 -/* 0C1AC4 800C0EC4 1000FF08 */ b .L800C0AE8 -/* 0C1AC8 800C0EC8 E628001C */ swc1 $f8, 0x1c($s1) -.L800C0ECC: -/* 0C1ACC 800C0ECC 44828000 */ mtc1 $v0, $f16 -/* 0C1AD0 800C0ED0 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C1AD4 800C0ED4 44813000 */ mtc1 $at, $f6 -/* 0C1AD8 800C0ED8 468084A0 */ cvt.s.w $f18, $f16 -/* 0C1ADC 800C0EDC 46069103 */ div.s $f4, $f18, $f6 -/* 0C1AE0 800C0EE0 1000FF01 */ b .L800C0AE8 -/* 0C1AE4 800C0EE4 E6240018 */ swc1 $f4, 0x18($s1) -glabel L800C0EE8 -/* 0C1AE8 800C0EE8 0C02FC42 */ jal func_800BF108 -/* 0C1AEC 800C0EEC 02002025 */ move $a0, $s0 -/* 0C1AF0 800C0EF0 00026E00 */ sll $t5, $v0, 0x18 -/* 0C1AF4 800C0EF4 000D7603 */ sra $t6, $t5, 0x18 -/* 0C1AF8 800C0EF8 448E5000 */ mtc1 $t6, $f10 -/* 0C1AFC 800C0EFC 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C1B00 800C0F00 44818000 */ mtc1 $at, $f16 -/* 0C1B04 800C0F04 46805220 */ cvt.s.w $f8, $f10 -/* 0C1B08 800C0F08 46104483 */ div.s $f18, $f8, $f16 -/* 0C1B0C 800C0F0C 1000FEF6 */ b .L800C0AE8 -/* 0C1B10 800C0F10 E6320028 */ swc1 $f18, 0x28($s1) -glabel L800C0F14 -/* 0C1B14 800C0F14 0C02FC47 */ jal func_800BF11C -/* 0C1B18 800C0F18 02002025 */ move $a0, $s0 -/* 0C1B1C 800C0F1C 02202025 */ move $a0, $s1 -/* 0C1B20 800C0F20 0C02FB23 */ jal func_800BEC8C -/* 0C1B24 800C0F24 3045FFFF */ andi $a1, $v0, 0xffff -/* 0C1B28 800C0F28 1000FEEF */ b .L800C0AE8 -/* 0C1B2C 800C0F2C 00000000 */ nop -glabel L800C0F30 -/* 0C1B30 800C0F30 0C02FC47 */ jal func_800BF11C -/* 0C1B34 800C0F34 02002025 */ move $a0, $s0 -/* 0C1B38 800C0F38 02202025 */ move $a0, $s1 -/* 0C1B3C 800C0F3C 0C02FB6E */ jal func_800BEDB8 -/* 0C1B40 800C0F40 3045FFFF */ andi $a1, $v0, 0xffff -/* 0C1B44 800C0F44 1000FEE8 */ b .L800C0AE8 -/* 0C1B48 800C0F48 00000000 */ nop -glabel L800C0F4C -/* 0C1B4C 800C0F4C 0C02FC42 */ jal func_800BF108 -/* 0C1B50 800C0F50 02002025 */ move $a0, $s0 -/* 0C1B54 800C0F54 0002C600 */ sll $t8, $v0, 0x18 -/* 0C1B58 800C0F58 0018CE03 */ sra $t9, $t8, 0x18 -/* 0C1B5C 800C0F5C 44993000 */ mtc1 $t9, $f6 -/* 0C1B60 800C0F60 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C1B64 800C0F64 44815000 */ mtc1 $at, $f10 -/* 0C1B68 800C0F68 46803120 */ cvt.s.w $f4, $f6 -/* 0C1B6C 800C0F6C 460A2203 */ div.s $f8, $f4, $f10 -/* 0C1B70 800C0F70 1000FEDD */ b .L800C0AE8 -/* 0C1B74 800C0F74 E6280024 */ swc1 $f8, 0x24($s1) -glabel L800C0F78 -/* 0C1B78 800C0F78 92280000 */ lbu $t0, ($s1) -/* 0C1B7C 800C0F7C 35090020 */ ori $t1, $t0, 0x20 -/* 0C1B80 800C0F80 1000FED9 */ b .L800C0AE8 -/* 0C1B84 800C0F84 A2290000 */ sb $t1, ($s1) -glabel L800C0F88 -/* 0C1B88 800C0F88 0C02FC42 */ jal func_800BF108 -/* 0C1B8C 800C0F8C 02002025 */ move $a0, $s0 -/* 0C1B90 800C0F90 1000FED5 */ b .L800C0AE8 -/* 0C1B94 800C0F94 A2220003 */ sb $v0, 3($s1) -glabel L800C0F98 -/* 0C1B98 800C0F98 0C02FC47 */ jal func_800BF11C -/* 0C1B9C 800C0F9C 02002025 */ move $a0, $s0 -/* 0C1BA0 800C0FA0 8E2A0014 */ lw $t2, 0x14($s1) -/* 0C1BA4 800C0FA4 304BFFFF */ andi $t3, $v0, 0xffff -/* 0C1BA8 800C0FA8 240100D2 */ li $at, 210 -/* 0C1BAC 800C0FAC 16410003 */ bne $s2, $at, .L800C0FBC -/* 0C1BB0 800C0FB0 014B1821 */ addu $v1, $t2, $t3 -/* 0C1BB4 800C0FB4 1000FECC */ b .L800C0AE8 -/* 0C1BB8 800C0FB8 AE23008C */ sw $v1, 0x8c($s1) -.L800C0FBC: -/* 0C1BBC 800C0FBC 1000FECA */ b .L800C0AE8 -/* 0C1BC0 800C0FC0 AE230090 */ sw $v1, 0x90($s1) -glabel L800C0FC4 -/* 0C1BC4 800C0FC4 0C02FC42 */ jal func_800BF108 -/* 0C1BC8 800C0FC8 02002025 */ move $a0, $s0 -/* 0C1BCC 800C0FCC 1000FEC6 */ b .L800C0AE8 -/* 0C1BD0 800C0FD0 A2220002 */ sb $v0, 2($s1) -glabel L800C0FD4 -/* 0C1BD4 800C0FD4 0C02FC42 */ jal func_800BF108 -/* 0C1BD8 800C0FD8 02002025 */ move $a0, $s0 -/* 0C1BDC 800C0FDC 1000FEC2 */ b .L800C0AE8 -/* 0C1BE0 800C0FE0 00409825 */ move $s3, $v0 -glabel L800C0FE4 -/* 0C1BE4 800C0FE4 0C02FC42 */ jal func_800BF108 -/* 0C1BE8 800C0FE8 02002025 */ move $a0, $s0 -/* 0C1BEC 800C0FEC 1000FEBE */ b .L800C0AE8 -/* 0C1BF0 800C0FF0 02629824 */ and $s3, $s3, $v0 -glabel L800C0FF4 -/* 0C1BF4 800C0FF4 0C02FC42 */ jal func_800BF108 -/* 0C1BF8 800C0FF8 02002025 */ move $a0, $s0 -/* 0C1BFC 800C0FFC 1000FEBA */ b .L800C0AE8 -/* 0C1C00 800C1000 02629823 */ subu $s3, $s3, $v0 -.L800C1004: -/* 0C1C04 800C1004 28410011 */ slti $at, $v0, 0x11 -/* 0C1C08 800C1008 14200010 */ bnez $at, .L800C104C -/* 0C1C0C 800C100C 28410021 */ slti $at, $v0, 0x21 -/* 0C1C10 800C1010 14200009 */ bnez $at, .L800C1038 -/* 0C1C14 800C1014 244CFFC0 */ addiu $t4, $v0, -0x40 -/* 0C1C18 800C1018 2D810061 */ sltiu $at, $t4, 0x61 -/* 0C1C1C 800C101C 1020FEB2 */ beqz $at, .L800C0AE8 -/* 0C1C20 800C1020 000C6080 */ sll $t4, $t4, 2 -/* 0C1C24 800C1024 3C01800F */ lui $at, %hi(D_800F3430) -/* 0C1C28 800C1028 002C0821 */ addu $at, $at, $t4 -/* 0C1C2C 800C102C 8C2C3430 */ lw $t4, %lo(D_800F3430)($at) -/* 0C1C30 800C1030 01800008 */ jr $t4 -/* 0C1C34 800C1034 00000000 */ nop -.L800C1038: -/* 0C1C38 800C1038 24010020 */ li $at, 32 -/* 0C1C3C 800C103C 1041FEAA */ beq $v0, $at, .L800C0AE8 -/* 0C1C40 800C1040 00000000 */ nop -/* 0C1C44 800C1044 1000FEA8 */ b .L800C0AE8 -/* 0C1C48 800C1048 00000000 */ nop -.L800C104C: -/* 0C1C4C 800C104C 10400006 */ beqz $v0, .L800C1068 -/* 0C1C50 800C1050 306E000F */ andi $t6, $v1, 0xf -/* 0C1C54 800C1054 24010010 */ li $at, 16 -/* 0C1C58 800C1058 1041FEA3 */ beq $v0, $at, .L800C0AE8 -/* 0C1C5C 800C105C 00000000 */ nop -/* 0C1C60 800C1060 1000FEA1 */ b .L800C0AE8 -/* 0C1C64 800C1064 00000000 */ nop -.L800C1068: -/* 0C1C68 800C1068 000EC080 */ sll $t8, $t6, 2 -/* 0C1C6C 800C106C 0238C821 */ addu $t9, $s1, $t8 -/* 0C1C70 800C1070 8F2F0030 */ lw $t7, 0x30($t9) -/* 0C1C74 800C1074 8DF30000 */ lw $s3, ($t7) -/* 0C1C78 800C1078 00134040 */ sll $t0, $s3, 1 -/* 0C1C7C 800C107C 1000FE9A */ b .L800C0AE8 -/* 0C1C80 800C1080 00089FC2 */ srl $s3, $t0, 0x1f -glabel L800C1084 -/* 0C1C84 800C1084 822A0007 */ lb $t2, 7($s1) -/* 0C1C88 800C1088 1000FE97 */ b .L800C0AE8 -/* 0C1C8C 800C108C 026A9823 */ subu $s3, $s3, $t2 -glabel L800C1090 -/* 0C1C90 800C1090 1000FE95 */ b .L800C0AE8 -/* 0C1C94 800C1094 A2330007 */ sb $s3, 7($s1) -glabel L800C1098 -/* 0C1C98 800C1098 1000FE93 */ b .L800C0AE8 -/* 0C1C9C 800C109C 82330007 */ lb $s3, 7($s1) -glabel L800C10A0 -/* 0C1CA0 800C10A0 0C02FC47 */ jal func_800BF11C -/* 0C1CA4 800C10A4 02002025 */ move $a0, $s0 -/* 0C1CA8 800C10A8 8E2C0014 */ lw $t4, 0x14($s1) -/* 0C1CAC 800C10AC 02402825 */ move $a1, $s2 -/* 0C1CB0 800C10B0 30AB000F */ andi $t3, $a1, 0xf -/* 0C1CB4 800C10B4 304DFFFF */ andi $t5, $v0, 0xffff -/* 0C1CB8 800C10B8 01602825 */ move $a1, $t3 -/* 0C1CBC 800C10BC 02202025 */ move $a0, $s1 -/* 0C1CC0 800C10C0 0C02FBA2 */ jal func_800BEE88 -/* 0C1CC4 800C10C4 018D3021 */ addu $a2, $t4, $t5 -/* 0C1CC8 800C10C8 1000FE87 */ b .L800C0AE8 -/* 0C1CCC 800C10CC 00000000 */ nop -.L800C10D0: -/* 0C1CD0 800C10D0 3C10803B */ lui $s0, %hi(D_803B5EF0) # $s0, 0x803b -/* 0C1CD4 800C10D4 02201825 */ move $v1, $s1 -/* 0C1CD8 800C10D8 24110040 */ li $s1, 64 -/* 0C1CDC 800C10DC 26105EF0 */ addiu $s0, %lo(D_803B5EF0) # addiu $s0, $s0, 0x5ef0 -/* 0C1CE0 800C10E0 00001025 */ move $v0, $zero -.L800C10E4: -/* 0C1CE4 800C10E4 8C640030 */ lw $a0, 0x30($v1) -/* 0C1CE8 800C10E8 24010001 */ li $at, 1 -/* 0C1CEC 800C10EC 02047026 */ xor $t6, $s0, $a0 -/* 0C1CF0 800C10F0 000E702B */ sltu $t6, $zero, $t6 -/* 0C1CF4 800C10F4 55C10007 */ bnel $t6, $at, .L800C1114 -/* 0C1CF8 800C10F8 24420004 */ addiu $v0, $v0, 4 -/* 0C1CFC 800C10FC AFA20034 */ sw $v0, 0x34($sp) -/* 0C1D00 800C1100 0C02FF64 */ jal func_800BFD90 -/* 0C1D04 800C1104 AFA30030 */ sw $v1, 0x30($sp) -/* 0C1D08 800C1108 8FA20034 */ lw $v0, 0x34($sp) -/* 0C1D0C 800C110C 8FA30030 */ lw $v1, 0x30($sp) -/* 0C1D10 800C1110 24420004 */ addiu $v0, $v0, 4 -.L800C1114: -/* 0C1D14 800C1114 1451FFF3 */ bne $v0, $s1, .L800C10E4 -/* 0C1D18 800C1118 24630004 */ addiu $v1, $v1, 4 -.L800C111C: -/* 0C1D1C 800C111C 8FBF002C */ lw $ra, 0x2c($sp) -.L800C1120: -/* 0C1D20 800C1120 8FB0001C */ lw $s0, 0x1c($sp) -/* 0C1D24 800C1124 8FB10020 */ lw $s1, 0x20($sp) -/* 0C1D28 800C1128 8FB20024 */ lw $s2, 0x24($sp) -/* 0C1D2C 800C112C 8FB30028 */ lw $s3, 0x28($sp) -/* 0C1D30 800C1130 03E00008 */ jr $ra -/* 0C1D34 800C1134 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel func_800C1138 -/* 0C1D38 800C1138 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C1D3C 800C113C AFB20020 */ sw $s2, 0x20($sp) -/* 0C1D40 800C1140 AFB00018 */ sw $s0, 0x18($sp) -/* 0C1D44 800C1144 AFB1001C */ sw $s1, 0x1c($sp) -/* 0C1D48 800C1148 3C10803B */ lui $s0, %hi(D_803B1510) # $s0, 0x803b -/* 0C1D4C 800C114C 3C12803B */ lui $s2, %hi(D_803B1A30) # $s2, 0x803b -/* 0C1D50 800C1150 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C1D54 800C1154 AFA40028 */ sw $a0, 0x28($sp) -/* 0C1D58 800C1158 26521A30 */ addiu $s2, %lo(D_803B1A30) # addiu $s2, $s2, 0x1a30 -/* 0C1D5C 800C115C 26101510 */ addiu $s0, %lo(D_803B1510) # addiu $s0, $s0, 0x1510 -/* 0C1D60 800C1160 24110001 */ li $s1, 1 -/* 0C1D64 800C1164 8E0E0000 */ lw $t6, ($s0) -.L800C1168: -/* 0C1D68 800C1168 000E7FC2 */ srl $t7, $t6, 0x1f -/* 0C1D6C 800C116C 562F0006 */ bnel $s1, $t7, .L800C1188 -/* 0C1D70 800C1170 26100148 */ addiu $s0, $s0, 0x148 -/* 0C1D74 800C1174 0C030233 */ jal func_800C08CC -/* 0C1D78 800C1178 02002025 */ move $a0, $s0 -/* 0C1D7C 800C117C 0C02F7FE */ jal func_800BDFF8 -/* 0C1D80 800C1180 02002025 */ move $a0, $s0 -/* 0C1D84 800C1184 26100148 */ addiu $s0, $s0, 0x148 -.L800C1188: -/* 0C1D88 800C1188 5612FFF7 */ bnel $s0, $s2, .L800C1168 -/* 0C1D8C 800C118C 8E0E0000 */ lw $t6, ($s0) -/* 0C1D90 800C1190 0C02F2F1 */ jal func_800BCBC4 -/* 0C1D94 800C1194 00000000 */ nop -/* 0C1D98 800C1198 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C1D9C 800C119C 8FB00018 */ lw $s0, 0x18($sp) -/* 0C1DA0 800C11A0 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C1DA4 800C11A4 8FB20020 */ lw $s2, 0x20($sp) -/* 0C1DA8 800C11A8 03E00008 */ jr $ra -/* 0C1DAC 800C11AC 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_800C11B0 -/* 0C1DB0 800C11B0 00047080 */ sll $t6, $a0, 2 -/* 0C1DB4 800C11B4 01C47021 */ addu $t6, $t6, $a0 -/* 0C1DB8 800C11B8 000E70C0 */ sll $t6, $t6, 3 -/* 0C1DBC 800C11BC 01C47021 */ addu $t6, $t6, $a0 -/* 0C1DC0 800C11C0 3C0F803B */ lui $t7, %hi(D_803B1510) # $t7, 0x803b -/* 0C1DC4 800C11C4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C1DC8 800C11C8 25EF1510 */ addiu $t7, %lo(D_803B1510) # addiu $t7, $t7, 0x1510 -/* 0C1DCC 800C11CC 000E70C0 */ sll $t6, $t6, 3 -/* 0C1DD0 800C11D0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1DD4 800C11D4 01CF2021 */ addu $a0, $t6, $t7 -/* 0C1DD8 800C11D8 0C02FBCB */ jal func_800BEF2C -/* 0C1DDC 800C11DC AFA40018 */ sw $a0, 0x18($sp) -/* 0C1DE0 800C11E0 8FA40018 */ lw $a0, 0x18($sp) -/* 0C1DE4 800C11E4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C1DE8 800C11E8 44810000 */ mtc1 $at, $f0 -/* 0C1DEC 800C11EC 44801000 */ mtc1 $zero, $f2 -/* 0C1DF0 800C11F0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C1DF4 800C11F4 44812000 */ mtc1 $at, $f4 -/* 0C1DF8 800C11F8 3C08800F */ lui $t0, %hi(gDefaultShortNoteVelocityTable) # $t0, 0x800f -/* 0C1DFC 800C11FC 3C09800F */ lui $t1, %hi(gDefaultShortNoteDurationTable) # $t1, 0x800f -/* 0C1E00 800C1200 24180001 */ li $t8, 1 -/* 0C1E04 800C1204 24191680 */ li $t9, 5760 -/* 0C1E08 800C1208 25086220 */ addiu $t0, %lo(gDefaultShortNoteVelocityTable) # addiu $t0, $t0, 0x6220 -/* 0C1E0C 800C120C 25296230 */ addiu $t1, %lo(gDefaultShortNoteDurationTable) # addiu $t1, $t1, 0x6230 -/* 0C1E10 800C1210 A480000E */ sh $zero, 0xe($a0) -/* 0C1E14 800C1214 A0980001 */ sb $t8, 1($a0) -/* 0C1E18 800C1218 A4800010 */ sh $zero, 0x10($a0) -/* 0C1E1C 800C121C A4800012 */ sh $zero, 0x12($a0) -/* 0C1E20 800C1220 A480000A */ sh $zero, 0xa($a0) -/* 0C1E24 800C1224 A4990008 */ sh $t9, 8($a0) -/* 0C1E28 800C1228 A480000C */ sh $zero, 0xc($a0) -/* 0C1E2C 800C122C A0800002 */ sb $zero, 2($a0) -/* 0C1E30 800C1230 AC88008C */ sw $t0, 0x8c($a0) -/* 0C1E34 800C1234 AC890090 */ sw $t1, 0x90($a0) -/* 0C1E38 800C1238 E4800018 */ swc1 $f0, 0x18($a0) -/* 0C1E3C 800C123C E4800028 */ swc1 $f0, 0x28($a0) -/* 0C1E40 800C1240 E482001C */ swc1 $f2, 0x1c($a0) -/* 0C1E44 800C1244 E4820020 */ swc1 $f2, 0x20($a0) -/* 0C1E48 800C1248 E4840024 */ swc1 $f4, 0x24($a0) -/* 0C1E4C 800C124C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C1E50 800C1250 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C1E54 800C1254 03E00008 */ jr $ra -/* 0C1E58 800C1258 00000000 */ nop - -glabel func_800C125C -/* 0C1E5C 800C125C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C1E60 800C1260 3C0E803B */ lui $t6, %hi(D_803B1A30) # 0x803b -/* 0C1E64 800C1264 25C61A30 */ addiu $a2, $t6, %lo(D_803B1A30) # 0x1a30 -/* 0C1E68 800C1268 3C07803B */ lui $a3, %hi(D_803B3EF0) # $a3, 0x803b -/* 0C1E6C 800C126C AFBF003C */ sw $ra, 0x3c($sp) -/* 0C1E70 800C1270 AFBE0038 */ sw $fp, 0x38($sp) -/* 0C1E74 800C1274 AFB70034 */ sw $s7, 0x34($sp) -/* 0C1E78 800C1278 AFB60030 */ sw $s6, 0x30($sp) -/* 0C1E7C 800C127C AFB5002C */ sw $s5, 0x2c($sp) -/* 0C1E80 800C1280 AFB40028 */ sw $s4, 0x28($sp) -/* 0C1E84 800C1284 AFB30024 */ sw $s3, 0x24($sp) -/* 0C1E88 800C1288 AFB20020 */ sw $s2, 0x20($sp) -/* 0C1E8C 800C128C AFB1001C */ sw $s1, 0x1c($sp) -/* 0C1E90 800C1290 AFB00018 */ sw $s0, 0x18($sp) -/* 0C1E94 800C1294 24E73EF0 */ addiu $a3, %lo(D_803B3EF0) # addiu $a3, $a3, 0x3ef0 -/* 0C1E98 800C1298 00C02825 */ move $a1, $a2 -/* 0C1E9C 800C129C 24040040 */ li $a0, 64 -.L800C12A0: -/* 0C1EA0 800C12A0 90AF0000 */ lbu $t7, ($a1) -/* 0C1EA4 800C12A4 ACA00044 */ sw $zero, 0x44($a1) -/* 0C1EA8 800C12A8 00001025 */ move $v0, $zero -/* 0C1EAC 800C12AC 31F8FF7F */ andi $t8, $t7, 0xff7f -/* 0C1EB0 800C12B0 A0B80000 */ sb $t8, ($a1) -/* 0C1EB4 800C12B4 00C01825 */ move $v1, $a2 -.L800C12B8: -/* 0C1EB8 800C12B8 24420004 */ addiu $v0, $v0, 4 -/* 0C1EBC 800C12BC AC60004C */ sw $zero, 0x4c($v1) -/* 0C1EC0 800C12C0 AC600050 */ sw $zero, 0x50($v1) -/* 0C1EC4 800C12C4 AC600054 */ sw $zero, 0x54($v1) -/* 0C1EC8 800C12C8 24630010 */ addiu $v1, $v1, 0x10 -/* 0C1ECC 800C12CC 1444FFFA */ bne $v0, $a0, .L800C12B8 -/* 0C1ED0 800C12D0 AC600038 */ sw $zero, 0x38($v1) -/* 0C1ED4 800C12D4 24C600C4 */ addiu $a2, $a2, 0xc4 -/* 0C1ED8 800C12D8 00C7082B */ sltu $at, $a2, $a3 -/* 0C1EDC 800C12DC 1420FFF0 */ bnez $at, .L800C12A0 -/* 0C1EE0 800C12E0 24A500C4 */ addiu $a1, $a1, 0xc4 -/* 0C1EE4 800C12E4 0C02FC21 */ jal func_800BF084 -/* 0C1EE8 800C12E8 00000000 */ nop -/* 0C1EEC 800C12EC 3C02803B */ lui $v0, %hi(D_803B3EF0) # $v0, 0x803b -/* 0C1EF0 800C12F0 3C03803B */ lui $v1, %hi(D_803B5EF0) # $v1, 0x803b -/* 0C1EF4 800C12F4 24635EF0 */ addiu $v1, %lo(D_803B5EF0) # addiu $v1, $v1, 0x5ef0 -/* 0C1EF8 800C12F8 24423EF0 */ addiu $v0, %lo(D_803B3EF0) # addiu $v0, $v0, 0x3ef0 -.L800C12FC: -/* 0C1EFC 800C12FC 90590000 */ lbu $t9, ($v0) -/* 0C1F00 800C1300 24420080 */ addiu $v0, $v0, 0x80 -/* 0C1F04 800C1304 0043082B */ sltu $at, $v0, $v1 -/* 0C1F08 800C1308 3328FF7F */ andi $t0, $t9, 0xff7f -/* 0C1F0C 800C130C AC40FFCC */ sw $zero, -0x34($v0) -/* 0C1F10 800C1310 1420FFFA */ bnez $at, .L800C12FC -/* 0C1F14 800C1314 A048FF80 */ sb $t0, -0x80($v0) -/* 0C1F18 800C1318 3C09803B */ lui $t1, %hi(D_803B1510) # 0x803b -/* 0C1F1C 800C131C 25311510 */ addiu $s1, $t1, %lo(D_803B1510) # 0x1510 -/* 0C1F20 800C1320 3C15803B */ lui $s5, %hi(D_803B15A4) # $s5, 0x803b -/* 0C1F24 800C1324 3C10803B */ lui $s0, %hi(D_803B5EF0) # $s0, 0x803b -/* 0C1F28 800C1328 26105EF0 */ addiu $s0, %lo(D_803B5EF0) # addiu $s0, $s0, 0x5ef0 -/* 0C1F2C 800C132C 26B515A4 */ addiu $s5, %lo(D_803B15A4) # addiu $s5, $s5, 0x15a4 -/* 0C1F30 800C1330 0220A025 */ move $s4, $s1 -/* 0C1F34 800C1334 00009825 */ move $s3, $zero -/* 0C1F38 800C1338 241E0004 */ li $fp, 4 -/* 0C1F3C 800C133C 241700E0 */ li $s7, 224 -/* 0C1F40 800C1340 2416FFFF */ li $s6, -1 -/* 0C1F44 800C1344 24120010 */ li $s2, 16 -.L800C1348: -/* 0C1F48 800C1348 00001025 */ move $v0, $zero -/* 0C1F4C 800C134C 02801825 */ move $v1, $s4 -.L800C1350: -/* 0C1F50 800C1350 24420004 */ addiu $v0, $v0, 4 -/* 0C1F54 800C1354 AC700034 */ sw $s0, 0x34($v1) -/* 0C1F58 800C1358 AC700038 */ sw $s0, 0x38($v1) -/* 0C1F5C 800C135C AC70003C */ sw $s0, 0x3c($v1) -/* 0C1F60 800C1360 24630010 */ addiu $v1, $v1, 0x10 -/* 0C1F64 800C1364 1452FFFA */ bne $v0, $s2, .L800C1350 -/* 0C1F68 800C1368 AC700020 */ sw $s0, 0x20($v1) -/* 0C1F6C 800C136C 922A0000 */ lbu $t2, ($s1) -/* 0C1F70 800C1370 A2360007 */ sb $s6, 7($s1) -/* 0C1F74 800C1374 A2370003 */ sb $s7, 3($s1) -/* 0C1F78 800C1378 314CFF7F */ andi $t4, $t2, 0xff7f -/* 0C1F7C 800C137C 318E00DF */ andi $t6, $t4, 0xdf -/* 0C1F80 800C1380 A22C0000 */ sb $t4, ($s1) -/* 0C1F84 800C1384 31D800F7 */ andi $t8, $t6, 0xf7 -/* 0C1F88 800C1388 A22E0000 */ sb $t6, ($s1) -/* 0C1F8C 800C138C A2380000 */ sb $t8, ($s1) -/* 0C1F90 800C1390 331900EF */ andi $t9, $t8, 0xef -/* 0C1F94 800C1394 A2390000 */ sb $t9, ($s1) -/* 0C1F98 800C1398 0C02F4C6 */ jal func_800BD318 -/* 0C1F9C 800C139C 02A02025 */ move $a0, $s5 -/* 0C1FA0 800C13A0 0C03046C */ jal func_800C11B0 -/* 0C1FA4 800C13A4 02602025 */ move $a0, $s3 -/* 0C1FA8 800C13A8 26730001 */ addiu $s3, $s3, 1 -/* 0C1FAC 800C13AC 26940148 */ addiu $s4, $s4, 0x148 -/* 0C1FB0 800C13B0 26310148 */ addiu $s1, $s1, 0x148 -/* 0C1FB4 800C13B4 167EFFE4 */ bne $s3, $fp, .L800C1348 -/* 0C1FB8 800C13B8 26B50148 */ addiu $s5, $s5, 0x148 -/* 0C1FBC 800C13BC 8FBF003C */ lw $ra, 0x3c($sp) -/* 0C1FC0 800C13C0 8FB00018 */ lw $s0, 0x18($sp) -/* 0C1FC4 800C13C4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C1FC8 800C13C8 8FB20020 */ lw $s2, 0x20($sp) -/* 0C1FCC 800C13CC 8FB30024 */ lw $s3, 0x24($sp) -/* 0C1FD0 800C13D0 8FB40028 */ lw $s4, 0x28($sp) -/* 0C1FD4 800C13D4 8FB5002C */ lw $s5, 0x2c($sp) -/* 0C1FD8 800C13D8 8FB60030 */ lw $s6, 0x30($sp) -/* 0C1FDC 800C13DC 8FB70034 */ lw $s7, 0x34($sp) -/* 0C1FE0 800C13E0 8FBE0038 */ lw $fp, 0x38($sp) -/* 0C1FE4 800C13E4 03E00008 */ jr $ra -/* 0C1FE8 800C13E8 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 0C1FEC 800C13EC 00000000 */ nop diff --git a/asm/non_matchings/audio/synthesis.s b/asm/non_matchings/audio/synthesis.s deleted file mode 100644 index c897a5294..000000000 --- a/asm/non_matchings/audio/synthesis.s +++ /dev/null @@ -1,2081 +0,0 @@ -glabel synthesis_load_note_subs_eu -/* 0B7BB4 800B6FB4 3C06803B */ lui $a2, %hi(D_803B7088) # $a2, 0x803b -/* 0B7BB8 800B6FB8 24C67088 */ addiu $a2, %lo(D_803B7088) # addiu $a2, $a2, 0x7088 -/* 0B7BBC 800B6FBC 84CE000C */ lh $t6, 0xc($a2) -/* 0B7BC0 800B6FC0 24820001 */ addiu $v0, $a0, 1 -/* 0B7BC4 800B6FC4 00051900 */ sll $v1, $a1, 4 -/* 0B7BC8 800B6FC8 004E082A */ slt $at, $v0, $t6 -/* 0B7BCC 800B6FCC 10200017 */ beqz $at, .L800B702C -/* 0B7BD0 800B6FD0 3C07803B */ lui $a3, %hi(D_803B70B0) # $a3, 0x803b -/* 0B7BD4 800B6FD4 3C05803B */ lui $a1, %hi(gNoteSubsEu) # $a1, 0x803b -/* 0B7BD8 800B6FD8 24A5FBC4 */ addiu $a1, %lo(gNoteSubsEu) # addiu $a1, $a1, -0x43c -/* 0B7BDC 800B6FDC 24E770B0 */ addiu $a3, %lo(D_803B70B0) # addiu $a3, $a3, 0x70b0 -/* 0B7BE0 800B6FE0 8CF80000 */ lw $t8, ($a3) -.L800B6FE4: -/* 0B7BE4 800B6FE4 8CAF0000 */ lw $t7, ($a1) -/* 0B7BE8 800B6FE8 03020019 */ multu $t8, $v0 -/* 0B7BEC 800B6FEC 0000C812 */ mflo $t9 -/* 0B7BF0 800B6FF0 00194100 */ sll $t0, $t9, 4 -/* 0B7BF4 800B6FF4 01E84821 */ addu $t1, $t7, $t0 -/* 0B7BF8 800B6FF8 01232021 */ addu $a0, $t1, $v1 -/* 0B7BFC 800B6FFC 8C8A0000 */ lw $t2, ($a0) -/* 0B7C00 800B7000 000A6040 */ sll $t4, $t2, 1 -/* 0B7C04 800B7004 05800009 */ bltz $t4, .L800B702C -/* 0B7C08 800B7008 00000000 */ nop -/* 0B7C0C 800B700C 908D0000 */ lbu $t5, ($a0) -/* 0B7C10 800B7010 24420001 */ addiu $v0, $v0, 1 -/* 0B7C14 800B7014 31AEFF7F */ andi $t6, $t5, 0xff7f -/* 0B7C18 800B7018 A08E0000 */ sb $t6, ($a0) -/* 0B7C1C 800B701C 84D8000C */ lh $t8, 0xc($a2) -/* 0B7C20 800B7020 0058082A */ slt $at, $v0, $t8 -/* 0B7C24 800B7024 5420FFEF */ bnel $at, $zero, .L800B6FE4 -/* 0B7C28 800B7028 8CF80000 */ lw $t8, ($a3) -.L800B702C: -/* 0B7C2C 800B702C 03E00008 */ jr $ra -/* 0B7C30 800B7030 00000000 */ nop - -glabel func_800B7034 -/* 0B7C34 800B7034 3C08803B */ lui $t0, %hi(D_803B70B0) # $t0, 0x803b -/* 0B7C38 800B7038 250870B0 */ addiu $t0, %lo(D_803B70B0) # addiu $t0, $t0, 0x70b0 -/* 0B7C3C 800B703C 8D030000 */ lw $v1, ($t0) -/* 0B7C40 800B7040 00803825 */ move $a3, $a0 -/* 0B7C44 800B7044 00001025 */ move $v0, $zero -/* 0B7C48 800B7048 18600026 */ blez $v1, .L800B70E4 -/* 0B7C4C 800B704C 00002825 */ move $a1, $zero -/* 0B7C50 800B7050 3C0A803B */ lui $t2, %hi(gNoteSubsEu) # $t2, 0x803b -/* 0B7C54 800B7054 3C09803B */ lui $t1, %hi(D_803B1508) # $t1, 0x803b -/* 0B7C58 800B7058 25291508 */ addiu $t1, %lo(D_803B1508) # addiu $t1, $t1, 0x1508 -/* 0B7C5C 800B705C 254AFBC4 */ addiu $t2, %lo(gNoteSubsEu) # addiu $t2, $t2, -0x43c -.L800B7060: -/* 0B7C60 800B7060 00670019 */ multu $v1, $a3 -/* 0B7C64 800B7064 8D2E0000 */ lw $t6, ($t1) -/* 0B7C68 800B7068 8D4B0000 */ lw $t3, ($t2) -/* 0B7C6C 800B706C 00AE2021 */ addu $a0, $a1, $t6 -/* 0B7C70 800B7070 8C8C00B0 */ lw $t4, 0xb0($a0) -/* 0B7C74 800B7074 248400B0 */ addiu $a0, $a0, 0xb0 -/* 0B7C78 800B7078 000C6FC2 */ srl $t5, $t4, 0x1f -/* 0B7C7C 800B707C 00007812 */ mflo $t7 -/* 0B7C80 800B7080 01E2C021 */ addu $t8, $t7, $v0 -/* 0B7C84 800B7084 0018C900 */ sll $t9, $t8, 4 -/* 0B7C88 800B7088 11A0000D */ beqz $t5, .L800B70C0 -/* 0B7C8C 800B708C 032B3021 */ addu $a2, $t9, $t3 -/* 0B7C90 800B7090 8C810000 */ lw $at, ($a0) -/* 0B7C94 800B7094 ACC10000 */ sw $at, ($a2) -/* 0B7C98 800B7098 8C8F0004 */ lw $t7, 4($a0) -/* 0B7C9C 800B709C ACCF0004 */ sw $t7, 4($a2) -/* 0B7CA0 800B70A0 8C810008 */ lw $at, 8($a0) -/* 0B7CA4 800B70A4 ACC10008 */ sw $at, 8($a2) -/* 0B7CA8 800B70A8 8C8F000C */ lw $t7, 0xc($a0) -/* 0B7CAC 800B70AC ACCF000C */ sw $t7, 0xc($a2) -/* 0B7CB0 800B70B0 90980000 */ lbu $t8, ($a0) -/* 0B7CB4 800B70B4 3319FFBF */ andi $t9, $t8, 0xffbf -/* 0B7CB8 800B70B8 10000004 */ b .L800B70CC -/* 0B7CBC 800B70BC A0990000 */ sb $t9, ($a0) -.L800B70C0: -/* 0B7CC0 800B70C0 90CB0000 */ lbu $t3, ($a2) -/* 0B7CC4 800B70C4 316CFF7F */ andi $t4, $t3, 0xff7f -/* 0B7CC8 800B70C8 A0CC0000 */ sb $t4, ($a2) -.L800B70CC: -/* 0B7CCC 800B70CC 8D030000 */ lw $v1, ($t0) -/* 0B7CD0 800B70D0 24420001 */ addiu $v0, $v0, 1 -/* 0B7CD4 800B70D4 24A500C0 */ addiu $a1, $a1, 0xc0 -/* 0B7CD8 800B70D8 0043082A */ slt $at, $v0, $v1 -/* 0B7CDC 800B70DC 1420FFE0 */ bnez $at, .L800B7060 -/* 0B7CE0 800B70E0 00000000 */ nop -.L800B70E4: -/* 0B7CE4 800B70E4 03E00008 */ jr $ra -/* 0B7CE8 800B70E8 00000000 */ nop - -glabel func_800B70EC -/* 0B7CEC 800B70EC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B7CF0 800B70F0 AFB5002C */ sw $s5, 0x2c($sp) -/* 0B7CF4 800B70F4 3C15803B */ lui $s5, %hi(D_803B7088) # $s5, 0x803b -/* 0B7CF8 800B70F8 26B57088 */ addiu $s5, %lo(D_803B7088) # addiu $s5, $s5, 0x7088 -/* 0B7CFC 800B70FC AFB40028 */ sw $s4, 0x28($sp) -/* 0B7D00 800B7100 86B4000C */ lh $s4, 0xc($s5) -/* 0B7D04 800B7104 AFB60030 */ sw $s6, 0x30($sp) -/* 0B7D08 800B7108 AFB1001C */ sw $s1, 0x1c($sp) -/* 0B7D0C 800B710C 00C08825 */ move $s1, $a2 -/* 0B7D10 800B7110 00E0B025 */ move $s6, $a3 -/* 0B7D14 800B7114 AFBF003C */ sw $ra, 0x3c($sp) -/* 0B7D18 800B7118 AFBE0038 */ sw $fp, 0x38($sp) -/* 0B7D1C 800B711C AFB70034 */ sw $s7, 0x34($sp) -/* 0B7D20 800B7120 AFB30024 */ sw $s3, 0x24($sp) -/* 0B7D24 800B7124 AFB20020 */ sw $s2, 0x20($sp) -/* 0B7D28 800B7128 AFB00018 */ sw $s0, 0x18($sp) -/* 0B7D2C 800B712C AFA40040 */ sw $a0, 0x40($sp) -/* 0B7D30 800B7130 1A800009 */ blez $s4, .L800B7158 -/* 0B7D34 800B7134 AFA50044 */ sw $a1, 0x44($sp) -.L800B7138: -/* 0B7D38 800B7138 2690FFFF */ addiu $s0, $s4, -1 -/* 0B7D3C 800B713C 0C03044E */ jal func_800C1138 -/* 0B7D40 800B7140 02002025 */ move $a0, $s0 -/* 0B7D44 800B7144 86AE000C */ lh $t6, 0xc($s5) -/* 0B7D48 800B7148 0C02DC0D */ jal func_800B7034 -/* 0B7D4C 800B714C 01D42023 */ subu $a0, $t6, $s4 -/* 0B7D50 800B7150 1E00FFF9 */ bgtz $s0, .L800B7138 -/* 0B7D54 800B7154 0200A025 */ move $s4, $s0 -.L800B7158: -/* 0B7D58 800B7158 8FAF0040 */ lw $t7, 0x40($sp) -/* 0B7D5C 800B715C 3C180700 */ lui $t8, 0x700 -/* 0B7D60 800B7160 0220B825 */ move $s7, $s1 -/* 0B7D64 800B7164 ADF80000 */ sw $t8, ($t7) -/* 0B7D68 800B7168 ADE00004 */ sw $zero, 4($t7) -/* 0B7D6C 800B716C 86B4000C */ lh $s4, 0xc($s5) -/* 0B7D70 800B7170 01E01025 */ move $v0, $t7 -/* 0B7D74 800B7174 25FE0008 */ addiu $fp, $t7, 8 -/* 0B7D78 800B7178 1A80003D */ blez $s4, .L800B7270 -.L800B717C: -/* 0B7D7C 800B717C 24010001 */ li $at, 1 -/* 0B7D80 800B7180 86B2000C */ lh $s2, 0xc($s5) -/* 0B7D84 800B7184 16810003 */ bne $s4, $at, .L800B7194 -/* 0B7D88 800B7188 00008825 */ move $s1, $zero -/* 0B7D8C 800B718C 10000019 */ b .L800B71F4 -/* 0B7D90 800B7190 02C09825 */ move $s3, $s6 -.L800B7194: -/* 0B7D94 800B7194 02D4001A */ div $zero, $s6, $s4 -/* 0B7D98 800B7198 16800002 */ bnez $s4, .L800B71A4 -/* 0B7D9C 800B719C 00000000 */ nop -/* 0B7DA0 800B71A0 0007000D */ break 7 -.L800B71A4: -/* 0B7DA4 800B71A4 2401FFFF */ li $at, -1 -/* 0B7DA8 800B71A8 16810004 */ bne $s4, $at, .L800B71BC -/* 0B7DAC 800B71AC 3C018000 */ lui $at, 0x8000 -/* 0B7DB0 800B71B0 16C10002 */ bne $s6, $at, .L800B71BC -/* 0B7DB4 800B71B4 00000000 */ nop -/* 0B7DB8 800B71B8 0006000D */ break 6 -.L800B71BC: -/* 0B7DBC 800B71BC 86A30010 */ lh $v1, 0x10($s5) -/* 0B7DC0 800B71C0 00001012 */ mflo $v0 -/* 0B7DC4 800B71C4 0043082A */ slt $at, $v0, $v1 -/* 0B7DC8 800B71C8 54200004 */ bnel $at, $zero, .L800B71DC -/* 0B7DCC 800B71CC 86A30012 */ lh $v1, 0x12($s5) -/* 0B7DD0 800B71D0 10000008 */ b .L800B71F4 -/* 0B7DD4 800B71D4 00609825 */ move $s3, $v1 -/* 0B7DD8 800B71D8 86A30012 */ lh $v1, 0x12($s5) -.L800B71DC: -/* 0B7DDC 800B71DC 0062082A */ slt $at, $v1, $v0 -/* 0B7DE0 800B71E0 54200004 */ bnel $at, $zero, .L800B71F4 -/* 0B7DE4 800B71E4 86B3000E */ lh $s3, 0xe($s5) -/* 0B7DE8 800B71E8 10000002 */ b .L800B71F4 -/* 0B7DEC 800B71EC 00609825 */ move $s3, $v1 -/* 0B7DF0 800B71F0 86B3000E */ lh $s3, 0xe($s5) -.L800B71F4: -/* 0B7DF4 800B71F4 3C02803B */ lui $v0, %hi(gNumSynthesisReverbs) # $v0, 0x803b -/* 0B7DF8 800B71F8 8042FBC3 */ lb $v0, %lo(gNumSynthesisReverbs)($v0) -/* 0B7DFC 800B71FC 58400012 */ blezl $v0, .L800B7248 -/* 0B7E00 800B7200 02E02025 */ move $a0, $s7 -/* 0B7E04 800B7204 3C10803B */ lui $s0, %hi(gSynthesisReverbs) # $s0, 0x803b -/* 0B7E08 800B7208 2610F790 */ addiu $s0, %lo(gSynthesisReverbs) # addiu $s0, $s0, -0x870 -.L800B720C: -/* 0B7E0C 800B720C 92190001 */ lbu $t9, 1($s0) -/* 0B7E10 800B7210 02602025 */ move $a0, $s3 -/* 0B7E14 800B7214 02542823 */ subu $a1, $s2, $s4 -/* 0B7E18 800B7218 53200007 */ beql $t9, $zero, .L800B7238 -/* 0B7E1C 800B721C 26310001 */ addiu $s1, $s1, 1 -/* 0B7E20 800B7220 0C02DAFC */ jal prepare_reverb_ring_buffer -/* 0B7E24 800B7224 02203025 */ move $a2, $s1 -/* 0B7E28 800B7228 3C02803B */ lui $v0, %hi(gNumSynthesisReverbs) # $v0, 0x803b -/* 0B7E2C 800B722C 8042FBC3 */ lb $v0, %lo(gNumSynthesisReverbs)($v0) -/* 0B7E30 800B7230 86B2000C */ lh $s2, 0xc($s5) -/* 0B7E34 800B7234 26310001 */ addiu $s1, $s1, 1 -.L800B7238: -/* 0B7E38 800B7238 0222082A */ slt $at, $s1, $v0 -/* 0B7E3C 800B723C 1420FFF3 */ bnez $at, .L800B720C -/* 0B7E40 800B7240 26100108 */ addiu $s0, $s0, 0x108 -/* 0B7E44 800B7244 02E02025 */ move $a0, $s7 -.L800B7248: -/* 0B7E48 800B7248 02602825 */ move $a1, $s3 -/* 0B7E4C 800B724C 03C03025 */ move $a2, $fp -/* 0B7E50 800B7250 0C02DDD7 */ jal func_800B775C -/* 0B7E54 800B7254 02543823 */ subu $a3, $s2, $s4 -/* 0B7E58 800B7258 2694FFFF */ addiu $s4, $s4, -1 -/* 0B7E5C 800B725C 00134080 */ sll $t0, $s3, 2 -/* 0B7E60 800B7260 0040F025 */ move $fp, $v0 -/* 0B7E64 800B7264 02D3B023 */ subu $s6, $s6, $s3 -/* 0B7E68 800B7268 1E80FFC4 */ bgtz $s4, .L800B717C -/* 0B7E6C 800B726C 02E8B821 */ addu $s7, $s7, $t0 -.L800B7270: -/* 0B7E70 800B7270 3C02803B */ lui $v0, %hi(gNumSynthesisReverbs) # $v0, 0x803b -/* 0B7E74 800B7274 8042FBC3 */ lb $v0, %lo(gNumSynthesisReverbs)($v0) -/* 0B7E78 800B7278 3C09803B */ lui $t1, %hi(gSynthesisReverbs) # 0x803b -/* 0B7E7C 800B727C 2530F790 */ addiu $s0, $t1, %lo(gSynthesisReverbs) # -0x870 -/* 0B7E80 800B7280 1840000E */ blez $v0, .L800B72BC -/* 0B7E84 800B7284 00025140 */ sll $t2, $v0, 5 -/* 0B7E88 800B7288 01425021 */ addu $t2, $t2, $v0 -/* 0B7E8C 800B728C 000A50C0 */ sll $t2, $t2, 3 -/* 0B7E90 800B7290 01501821 */ addu $v1, $t2, $s0 -.L800B7294: -/* 0B7E94 800B7294 92020002 */ lbu $v0, 2($s0) -/* 0B7E98 800B7298 10400002 */ beqz $v0, .L800B72A4 -/* 0B7E9C 800B729C 244BFFFF */ addiu $t3, $v0, -1 -/* 0B7EA0 800B72A0 A20B0002 */ sb $t3, 2($s0) -.L800B72A4: -/* 0B7EA4 800B72A4 920C0003 */ lbu $t4, 3($s0) -/* 0B7EA8 800B72A8 26100108 */ addiu $s0, $s0, 0x108 -/* 0B7EAC 800B72AC 0203082B */ sltu $at, $s0, $v1 -/* 0B7EB0 800B72B0 398D0001 */ xori $t5, $t4, 1 -/* 0B7EB4 800B72B4 1420FFF7 */ bnez $at, .L800B7294 -/* 0B7EB8 800B72B8 A20DFEFB */ sb $t5, -0x105($s0) -.L800B72BC: -/* 0B7EBC 800B72BC 8FAE0040 */ lw $t6, 0x40($sp) -/* 0B7EC0 800B72C0 8FB90044 */ lw $t9, 0x44($sp) -/* 0B7EC4 800B72C4 03C01025 */ move $v0, $fp -/* 0B7EC8 800B72C8 03CE7823 */ subu $t7, $fp, $t6 -/* 0B7ECC 800B72CC 000FC0C3 */ sra $t8, $t7, 3 -/* 0B7ED0 800B72D0 AF380000 */ sw $t8, ($t9) -/* 0B7ED4 800B72D4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0B7ED8 800B72D8 8FBE0038 */ lw $fp, 0x38($sp) -/* 0B7EDC 800B72DC 8FB70034 */ lw $s7, 0x34($sp) -/* 0B7EE0 800B72E0 8FB60030 */ lw $s6, 0x30($sp) -/* 0B7EE4 800B72E4 8FB5002C */ lw $s5, 0x2c($sp) -/* 0B7EE8 800B72E8 8FB40028 */ lw $s4, 0x28($sp) -/* 0B7EEC 800B72EC 8FB30024 */ lw $s3, 0x24($sp) -/* 0B7EF0 800B72F0 8FB20020 */ lw $s2, 0x20($sp) -/* 0B7EF4 800B72F4 8FB1001C */ lw $s1, 0x1c($sp) -/* 0B7EF8 800B72F8 8FB00018 */ lw $s0, 0x18($sp) -/* 0B7EFC 800B72FC 03E00008 */ jr $ra -/* 0B7F00 800B7300 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_800B7304 -/* 0B7F04 800B7304 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0B7F08 800B7308 AFB10020 */ sw $s1, 0x20($sp) -/* 0B7F0C 800B730C 00068C00 */ sll $s1, $a2, 0x10 -/* 0B7F10 800B7310 00117403 */ sra $t6, $s1, 0x10 -/* 0B7F14 800B7314 000EC940 */ sll $t9, $t6, 5 -/* 0B7F18 800B7318 032EC821 */ addu $t9, $t9, $t6 -/* 0B7F1C 800B731C 3C0D803B */ lui $t5, %hi(gSynthesisReverbs) # $t5, 0x803b -/* 0B7F20 800B7320 25ADF790 */ addiu $t5, %lo(gSynthesisReverbs) # addiu $t5, $t5, -0x870 -/* 0B7F24 800B7324 0019C8C0 */ sll $t9, $t9, 3 -/* 0B7F28 800B7328 01C08825 */ move $s1, $t6 -/* 0B7F2C 800B732C 032D1821 */ addu $v1, $t9, $t5 -/* 0B7F30 800B7330 906E0003 */ lbu $t6, 3($v1) -/* 0B7F34 800B7334 AFA70064 */ sw $a3, 0x64($sp) -/* 0B7F38 800B7338 00077C00 */ sll $t7, $a3, 0x10 -/* 0B7F3C 800B733C 000F3C03 */ sra $a3, $t7, 0x10 -/* 0B7F40 800B7340 000E7880 */ sll $t7, $t6, 2 -/* 0B7F44 800B7344 01EE7823 */ subu $t7, $t7, $t6 -/* 0B7F48 800B7348 000F78C0 */ sll $t7, $t7, 3 -/* 0B7F4C 800B734C 01EE7821 */ addu $t7, $t7, $t6 -/* 0B7F50 800B7350 AFBF0024 */ sw $ra, 0x24($sp) -/* 0B7F54 800B7354 AFB0001C */ sw $s0, 0x1c($sp) -/* 0B7F58 800B7358 AFA5005C */ sw $a1, 0x5c($sp) -/* 0B7F5C 800B735C AFA60060 */ sw $a2, 0x60($sp) -/* 0B7F60 800B7360 3C0D0200 */ lui $t5, (0x02000840 >> 16) # lui $t5, 0x200 -/* 0B7F64 800B7364 000F7880 */ sll $t7, $t7, 2 -/* 0B7F68 800B7368 35AD0840 */ ori $t5, (0x02000840 & 0xFFFF) # ori $t5, $t5, 0x840 -/* 0B7F6C 800B736C 240E0300 */ li $t6, 768 -/* 0B7F70 800B7370 006FC021 */ addu $t8, $v1, $t7 -/* 0B7F74 800B7374 0007C880 */ sll $t9, $a3, 2 -/* 0B7F78 800B7378 AC8E0004 */ sw $t6, 4($a0) -/* 0B7F7C 800B737C AC8D0000 */ sw $t5, ($a0) -/* 0B7F80 800B7380 906F0004 */ lbu $t7, 4($v1) -/* 0B7F84 800B7384 0327C821 */ addu $t9, $t9, $a3 -/* 0B7F88 800B7388 0019C880 */ sll $t9, $t9, 2 -/* 0B7F8C 800B738C 03194021 */ addu $t0, $t8, $t9 -/* 0B7F90 800B7390 24010001 */ li $at, 1 -/* 0B7F94 800B7394 25080030 */ addiu $t0, $t0, 0x30 -/* 0B7F98 800B7398 15E1002D */ bne $t7, $at, .L800B7450 -/* 0B7F9C 800B739C 24900008 */ addiu $s0, $a0, 8 -/* 0B7FA0 800B73A0 9506000E */ lhu $a2, 0xe($t0) -/* 0B7FA4 800B73A4 85070010 */ lh $a3, 0x10($t0) -/* 0B7FA8 800B73A8 AFA80054 */ sw $t0, 0x54($sp) -/* 0B7FAC 800B73AC AFA30028 */ sw $v1, 0x28($sp) -/* 0B7FB0 800B73B0 AFB10010 */ sw $s1, 0x10($sp) -/* 0B7FB4 800B73B4 02002025 */ move $a0, $s0 -/* 0B7FB8 800B73B8 0C02DBA1 */ jal synthesis_load_reverb_ring_buffer -/* 0B7FBC 800B73BC 24050840 */ li $a1, 2112 -/* 0B7FC0 800B73C0 8FA80054 */ lw $t0, 0x54($sp) -/* 0B7FC4 800B73C4 00408025 */ move $s0, $v0 -/* 0B7FC8 800B73C8 8FA30028 */ lw $v1, 0x28($sp) -/* 0B7FCC 800B73CC 85070012 */ lh $a3, 0x12($t0) -/* 0B7FD0 800B73D0 02002025 */ move $a0, $s0 -/* 0B7FD4 800B73D4 00003025 */ move $a2, $zero -/* 0B7FD8 800B73D8 50E0000A */ beql $a3, $zero, .L800B7404 -/* 0B7FDC 800B73DC 3C190C30 */ lui $t9, 0xc30 -/* 0B7FE0 800B73E0 85050010 */ lh $a1, 0x10($t0) -/* 0B7FE4 800B73E4 AFA30028 */ sw $v1, 0x28($sp) -/* 0B7FE8 800B73E8 AFB10010 */ sw $s1, 0x10($sp) -/* 0B7FEC 800B73EC 24A50840 */ addiu $a1, $a1, 0x840 -/* 0B7FF0 800B73F0 30B8FFFF */ andi $t8, $a1, 0xffff -/* 0B7FF4 800B73F4 0C02DBA1 */ jal synthesis_load_reverb_ring_buffer -/* 0B7FF8 800B73F8 03002825 */ move $a1, $t8 -/* 0B7FFC 800B73FC 8FA30028 */ lw $v1, 0x28($sp) -/* 0B8000 800B7400 3C190C30 */ lui $t9, (0x0C307FFF >> 16) # lui $t9, 0xc30 -.L800B7404: -/* 0B8004 800B7404 3C0D0840 */ lui $t5, (0x08400540 >> 16) # lui $t5, 0x840 -/* 0B8008 800B7408 35AD0540 */ ori $t5, (0x08400540 & 0xFFFF) # ori $t5, $t5, 0x540 -/* 0B800C 800B740C 37397FFF */ ori $t9, (0x0C307FFF & 0xFFFF) # ori $t9, $t9, 0x7fff -/* 0B8010 800B7410 AC590000 */ sw $t9, ($v0) -/* 0B8014 800B7414 AC4D0004 */ sw $t5, 4($v0) -/* 0B8018 800B7418 946E0008 */ lhu $t6, 8($v1) -/* 0B801C 800B741C 34018000 */ li $at, 32768 -/* 0B8020 800B7420 24500008 */ addiu $s0, $v0, 8 -/* 0B8024 800B7424 01C17821 */ addu $t7, $t6, $at -/* 0B8028 800B7428 31F8FFFF */ andi $t8, $t7, 0xffff -/* 0B802C 800B742C 3C010C30 */ lui $at, 0xc30 -/* 0B8030 800B7430 02002825 */ move $a1, $s0 -/* 0B8034 800B7434 3C0D0840 */ lui $t5, (0x08400840 >> 16) # lui $t5, 0x840 -/* 0B8038 800B7438 35AD0840 */ ori $t5, (0x08400840 & 0xFFFF) # ori $t5, $t5, 0x840 -/* 0B803C 800B743C 0301C825 */ or $t9, $t8, $at -/* 0B8040 800B7440 ACB90000 */ sw $t9, ($a1) -/* 0B8044 800B7444 ACAD0004 */ sw $t5, 4($a1) -/* 0B8048 800B7448 10000073 */ b .L800B7618 -/* 0B804C 800B744C 26100008 */ addiu $s0, $s0, 8 -.L800B7450: -/* 0B8050 800B7450 8D02000C */ lw $v0, 0xc($t0) -/* 0B8054 800B7454 85190010 */ lh $t9, 0x10($t0) -/* 0B8058 800B7458 2401FFF0 */ li $at, -16 -/* 0B805C 800B745C 304E0007 */ andi $t6, $v0, 7 -/* 0B8060 800B7460 000E7C40 */ sll $t7, $t6, 0x11 -/* 0B8064 800B7464 000FC403 */ sra $t8, $t7, 0x10 -/* 0B8068 800B7468 03195021 */ addu $t2, $t8, $t9 -/* 0B806C 800B746C 254A000F */ addiu $t2, $t2, 0xf -/* 0B8070 800B7470 03004825 */ move $t1, $t8 -/* 0B8074 800B7474 314DFFF0 */ andi $t5, $t2, 0xfff0 -/* 0B8078 800B7478 000D7400 */ sll $t6, $t5, 0x10 -/* 0B807C 800B747C 000E7C03 */ sra $t7, $t6, 0x10 -/* 0B8080 800B7480 01E05025 */ move $t2, $t7 -/* 0B8084 800B7484 A7AA0050 */ sh $t2, 0x50($sp) -/* 0B8088 800B7488 A7A90052 */ sh $t1, 0x52($sp) -/* 0B808C 800B748C AFA80054 */ sw $t0, 0x54($sp) -/* 0B8090 800B7490 AFA30028 */ sw $v1, 0x28($sp) -/* 0B8094 800B7494 AFB10010 */ sw $s1, 0x10($sp) -/* 0B8098 800B7498 02002025 */ move $a0, $s0 -/* 0B809C 800B749C 24050020 */ li $a1, 32 -/* 0B80A0 800B74A0 05210003 */ bgez $t1, .L800B74B0 -/* 0B80A4 800B74A4 0009C043 */ sra $t8, $t1, 1 -/* 0B80A8 800B74A8 25210001 */ addiu $at, $t1, 1 -/* 0B80AC 800B74AC 0001C043 */ sra $t8, $at, 1 -.L800B74B0: -/* 0B80B0 800B74B0 00583023 */ subu $a2, $v0, $t8 -/* 0B80B4 800B74B4 30D9FFFF */ andi $t9, $a2, 0xffff -/* 0B80B8 800B74B8 03203025 */ move $a2, $t9 -/* 0B80BC 800B74BC 0C02DBA1 */ jal synthesis_load_reverb_ring_buffer -/* 0B80C0 800B74C0 24070180 */ li $a3, 384 -/* 0B80C4 800B74C4 8FA80054 */ lw $t0, 0x54($sp) -/* 0B80C8 800B74C8 00408025 */ move $s0, $v0 -/* 0B80CC 800B74CC 8FA30028 */ lw $v1, 0x28($sp) -/* 0B80D0 800B74D0 850D0012 */ lh $t5, 0x12($t0) -/* 0B80D4 800B74D4 87A90052 */ lh $t1, 0x52($sp) -/* 0B80D8 800B74D8 87AA0050 */ lh $t2, 0x50($sp) -/* 0B80DC 800B74DC 11A0000D */ beqz $t5, .L800B7514 -/* 0B80E0 800B74E0 02002025 */ move $a0, $s0 -/* 0B80E4 800B74E4 25450020 */ addiu $a1, $t2, 0x20 -/* 0B80E8 800B74E8 30AEFFFF */ andi $t6, $a1, 0xffff -/* 0B80EC 800B74EC 240F0180 */ li $t7, 384 -/* 0B80F0 800B74F0 01EA3823 */ subu $a3, $t7, $t2 -/* 0B80F4 800B74F4 01C02825 */ move $a1, $t6 -/* 0B80F8 800B74F8 00003025 */ move $a2, $zero -/* 0B80FC 800B74FC AFB10010 */ sw $s1, 0x10($sp) -/* 0B8100 800B7500 AFA30028 */ sw $v1, 0x28($sp) -/* 0B8104 800B7504 0C02DBA1 */ jal synthesis_load_reverb_ring_buffer -/* 0B8108 800B7508 A7A90052 */ sh $t1, 0x52($sp) -/* 0B810C 800B750C 8FA30028 */ lw $v1, 0x28($sp) -/* 0B8110 800B7510 87A90052 */ lh $t1, 0x52($sp) -.L800B7514: -/* 0B8114 800B7514 25380020 */ addiu $t8, $t1, 0x20 -/* 0B8118 800B7518 3C0A0800 */ lui $t2, 0x800 -/* 0B811C 800B751C 3319FFFF */ andi $t9, $t8, 0xffff -/* 0B8120 800B7520 032A6825 */ or $t5, $t9, $t2 -/* 0B8124 800B7524 AC4D0000 */ sw $t5, ($v0) -/* 0B8128 800B7528 8FA5005C */ lw $a1, 0x5c($sp) -/* 0B812C 800B752C 3C010840 */ lui $at, 0x840 -/* 0B8130 800B7530 3C0B0500 */ lui $t3, 0x500 -/* 0B8134 800B7534 00057040 */ sll $t6, $a1, 1 -/* 0B8138 800B7538 31C5FFFF */ andi $a1, $t6, 0xffff -/* 0B813C 800B753C 00A1C025 */ or $t8, $a1, $at -/* 0B8140 800B7540 AC580004 */ sw $t8, 4($v0) -/* 0B8144 800B7544 90780000 */ lbu $t8, ($v1) -/* 0B8148 800B7548 946D000A */ lhu $t5, 0xa($v1) -/* 0B814C 800B754C 24500008 */ addiu $s0, $v0, 8 -/* 0B8150 800B7550 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B8154 800B7554 01AB7025 */ or $t6, $t5, $t3 -/* 0B8158 800B7558 01D96825 */ or $t5, $t6, $t9 -/* 0B815C 800B755C 02003025 */ move $a2, $s0 -/* 0B8160 800B7560 ACCD0000 */ sw $t5, ($a2) -/* 0B8164 800B7564 8C6F0020 */ lw $t7, 0x20($v1) -/* 0B8168 800B7568 3C0C8000 */ lui $t4, 0x8000 -/* 0B816C 800B756C 26100008 */ addiu $s0, $s0, 8 -/* 0B8170 800B7570 252E01A0 */ addiu $t6, $t1, 0x1a0 -/* 0B8174 800B7574 01ECC021 */ addu $t8, $t7, $t4 -/* 0B8178 800B7578 ACD80004 */ sw $t8, 4($a2) -/* 0B817C 800B757C 31D9FFFF */ andi $t9, $t6, 0xffff -/* 0B8180 800B7580 02003825 */ move $a3, $s0 -/* 0B8184 800B7584 3C0109C0 */ lui $at, 0x9c0 -/* 0B8188 800B7588 00A17825 */ or $t7, $a1, $at -/* 0B818C 800B758C 032A6825 */ or $t5, $t9, $t2 -/* 0B8190 800B7590 ACED0000 */ sw $t5, ($a3) -/* 0B8194 800B7594 ACEF0004 */ sw $t7, 4($a3) -/* 0B8198 800B7598 906F0000 */ lbu $t7, ($v1) -/* 0B819C 800B759C 946E000A */ lhu $t6, 0xa($v1) -/* 0B81A0 800B75A0 26100008 */ addiu $s0, $s0, 8 -/* 0B81A4 800B75A4 000FC400 */ sll $t8, $t7, 0x10 -/* 0B81A8 800B75A8 01CBC825 */ or $t9, $t6, $t3 -/* 0B81AC 800B75AC 03387025 */ or $t6, $t9, $t8 -/* 0B81B0 800B75B0 02004025 */ move $t0, $s0 -/* 0B81B4 800B75B4 AD0E0000 */ sw $t6, ($t0) -/* 0B81B8 800B75B8 8C6D0024 */ lw $t5, 0x24($v1) -/* 0B81BC 800B75BC 26100008 */ addiu $s0, $s0, 8 -/* 0B81C0 800B75C0 02001025 */ move $v0, $s0 -/* 0B81C4 800B75C4 01AC7821 */ addu $t7, $t5, $t4 -/* 0B81C8 800B75C8 AD0F0004 */ sw $t7, 4($t0) -/* 0B81CC 800B75CC 3C180840 */ lui $t8, (0x08400540 >> 16) # lui $t8, 0x840 -/* 0B81D0 800B75D0 3C190C30 */ lui $t9, (0x0C307FFF >> 16) # lui $t9, 0xc30 -/* 0B81D4 800B75D4 37397FFF */ ori $t9, (0x0C307FFF & 0xFFFF) # ori $t9, $t9, 0x7fff -/* 0B81D8 800B75D8 37180540 */ ori $t8, (0x08400540 & 0xFFFF) # ori $t8, $t8, 0x540 -/* 0B81DC 800B75DC AC580004 */ sw $t8, 4($v0) -/* 0B81E0 800B75E0 AC590000 */ sw $t9, ($v0) -/* 0B81E4 800B75E4 946E0008 */ lhu $t6, 8($v1) -/* 0B81E8 800B75E8 34018000 */ li $at, 32768 -/* 0B81EC 800B75EC 26100008 */ addiu $s0, $s0, 8 -/* 0B81F0 800B75F0 01C16821 */ addu $t5, $t6, $at -/* 0B81F4 800B75F4 02002025 */ move $a0, $s0 -/* 0B81F8 800B75F8 31AFFFFF */ andi $t7, $t5, 0xffff -/* 0B81FC 800B75FC 3C010C30 */ lui $at, 0xc30 -/* 0B8200 800B7600 3C180840 */ lui $t8, (0x08400840 >> 16) # lui $t8, 0x840 -/* 0B8204 800B7604 37180840 */ ori $t8, (0x08400840 & 0xFFFF) # ori $t8, $t8, 0x840 -/* 0B8208 800B7608 01E1C825 */ or $t9, $t7, $at -/* 0B820C 800B760C AC990000 */ sw $t9, ($a0) -/* 0B8210 800B7610 AC980004 */ sw $t8, 4($a0) -/* 0B8214 800B7614 26100008 */ addiu $s0, $s0, 8 -.L800B7618: -/* 0B8218 800B7618 8FBF0024 */ lw $ra, 0x24($sp) -/* 0B821C 800B761C 02001025 */ move $v0, $s0 -/* 0B8220 800B7620 8FB0001C */ lw $s0, 0x1c($sp) -/* 0B8224 800B7624 8FB10020 */ lw $s1, 0x20($sp) -/* 0B8228 800B7628 03E00008 */ jr $ra -/* 0B822C 800B762C 27BD0058 */ addiu $sp, $sp, 0x58 - -glabel func_800B7630 -/* 0B8230 800B7630 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0B8234 800B7634 AFA5002C */ sw $a1, 0x2c($sp) -/* 0B8238 800B7638 87B8002E */ lh $t8, 0x2e($sp) -/* 0B823C 800B763C 3C08803B */ lui $t0, %hi(gSynthesisReverbs) # $t0, 0x803b -/* 0B8240 800B7640 2508F790 */ addiu $t0, %lo(gSynthesisReverbs) # addiu $t0, $t0, -0x870 -/* 0B8244 800B7644 0018C940 */ sll $t9, $t8, 5 -/* 0B8248 800B7648 0338C821 */ addu $t9, $t9, $t8 -/* 0B824C 800B764C 0019C8C0 */ sll $t9, $t9, 3 -/* 0B8250 800B7650 03281021 */ addu $v0, $t9, $t0 -/* 0B8254 800B7654 90490003 */ lbu $t1, 3($v0) -/* 0B8258 800B7658 00067400 */ sll $t6, $a2, 0x10 -/* 0B825C 800B765C 000E7C03 */ sra $t7, $t6, 0x10 -/* 0B8260 800B7660 00095080 */ sll $t2, $t1, 2 -/* 0B8264 800B7664 01495023 */ subu $t2, $t2, $t1 -/* 0B8268 800B7668 000A50C0 */ sll $t2, $t2, 3 -/* 0B826C 800B766C 000F3880 */ sll $a3, $t7, 2 -/* 0B8270 800B7670 01495021 */ addu $t2, $t2, $t1 -/* 0B8274 800B7674 904C0001 */ lbu $t4, 1($v0) -/* 0B8278 800B7678 000A5080 */ sll $t2, $t2, 2 -/* 0B827C 800B767C 00EF3821 */ addu $a3, $a3, $t7 -/* 0B8280 800B7680 00073880 */ sll $a3, $a3, 2 -/* 0B8284 800B7684 004A5821 */ addu $t3, $v0, $t2 -/* 0B8288 800B7688 01671821 */ addu $v1, $t3, $a3 -/* 0B828C 800B768C AFBF001C */ sw $ra, 0x1c($sp) -/* 0B8290 800B7690 AFA60030 */ sw $a2, 0x30($sp) -/* 0B8294 800B7694 1180002C */ beqz $t4, .L800B7748 -/* 0B8298 800B7698 24630030 */ addiu $v1, $v1, 0x30 -/* 0B829C 800B769C 904D0004 */ lbu $t5, 4($v0) -/* 0B82A0 800B76A0 24010001 */ li $at, 1 -/* 0B82A4 800B76A4 3C191530 */ lui $t9, (0x15300840 >> 16) # lui $t9, 0x1530 -/* 0B82A8 800B76A8 15A10017 */ bne $t5, $at, .L800B7708 -/* 0B82AC 800B76AC 37390840 */ ori $t9, (0x15300840 & 0xFFFF) # ori $t9, $t9, 0x840 -/* 0B82B0 800B76B0 87AE002E */ lh $t6, 0x2e($sp) -/* 0B82B4 800B76B4 9466000E */ lhu $a2, 0xe($v1) -/* 0B82B8 800B76B8 84670010 */ lh $a3, 0x10($v1) -/* 0B82BC 800B76BC AFA30024 */ sw $v1, 0x24($sp) -/* 0B82C0 800B76C0 24050840 */ li $a1, 2112 -/* 0B82C4 800B76C4 0C02DBC7 */ jal func_800B6F1C -/* 0B82C8 800B76C8 AFAE0010 */ sw $t6, 0x10($sp) -/* 0B82CC 800B76CC 8FA30024 */ lw $v1, 0x24($sp) -/* 0B82D0 800B76D0 00402025 */ move $a0, $v0 -/* 0B82D4 800B76D4 87B8002E */ lh $t8, 0x2e($sp) -/* 0B82D8 800B76D8 84670012 */ lh $a3, 0x12($v1) -/* 0B82DC 800B76DC 50E0001B */ beql $a3, $zero, .L800B774C -/* 0B82E0 800B76E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B82E4 800B76E4 84650010 */ lh $a1, 0x10($v1) -/* 0B82E8 800B76E8 AFB80010 */ sw $t8, 0x10($sp) -/* 0B82EC 800B76EC 00003025 */ move $a2, $zero -/* 0B82F0 800B76F0 24A50840 */ addiu $a1, $a1, 0x840 -/* 0B82F4 800B76F4 30AFFFFF */ andi $t7, $a1, 0xffff -/* 0B82F8 800B76F8 0C02DBC7 */ jal func_800B6F1C -/* 0B82FC 800B76FC 01E02825 */ move $a1, $t7 -/* 0B8300 800B7700 10000011 */ b .L800B7748 -/* 0B8304 800B7704 00402025 */ move $a0, $v0 -.L800B7708: -/* 0B8308 800B7708 00801825 */ move $v1, $a0 -/* 0B830C 800B770C AC790000 */ sw $t9, ($v1) -/* 0B8310 800B7710 90480003 */ lbu $t0, 3($v0) -/* 0B8314 800B7714 3C018000 */ lui $at, 0x8000 -/* 0B8318 800B7718 24840008 */ addiu $a0, $a0, 8 -/* 0B831C 800B771C 00084880 */ sll $t1, $t0, 2 -/* 0B8320 800B7720 01284823 */ subu $t1, $t1, $t0 -/* 0B8324 800B7724 000948C0 */ sll $t1, $t1, 3 -/* 0B8328 800B7728 01284821 */ addu $t1, $t1, $t0 -/* 0B832C 800B772C 00094880 */ sll $t1, $t1, 2 -/* 0B8330 800B7730 00495021 */ addu $t2, $v0, $t1 -/* 0B8334 800B7734 01475821 */ addu $t3, $t2, $a3 -/* 0B8338 800B7738 8D6C0034 */ lw $t4, 0x34($t3) -/* 0B833C 800B773C 01816821 */ addu $t5, $t4, $at -/* 0B8340 800B7740 AC6D0004 */ sw $t5, 4($v1) -/* 0B8344 800B7744 A0400000 */ sb $zero, ($v0) -.L800B7748: -/* 0B8348 800B7748 8FBF001C */ lw $ra, 0x1c($sp) -.L800B774C: -/* 0B834C 800B774C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0B8350 800B7750 00801025 */ move $v0, $a0 -/* 0B8354 800B7754 03E00008 */ jr $ra -/* 0B8358 800B7758 00000000 */ nop - -glabel func_800B775C -/* 0B835C 800B775C 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0B8360 800B7760 3C0A803B */ lui $t2, %hi(gNumSynthesisReverbs) # $t2, 0x803b -/* 0B8364 800B7764 254AFBC3 */ addiu $t2, %lo(gNumSynthesisReverbs) # addiu $t2, $t2, -0x43d -/* 0B8368 800B7768 81490000 */ lb $t1, ($t2) -/* 0B836C 800B776C AFB5003C */ sw $s5, 0x3c($sp) -/* 0B8370 800B7770 AFB40038 */ sw $s4, 0x38($sp) -/* 0B8374 800B7774 AFB20030 */ sw $s2, 0x30($sp) -/* 0B8378 800B7778 00C0A025 */ move $s4, $a2 -/* 0B837C 800B777C 00E0A825 */ move $s5, $a3 -/* 0B8380 800B7780 AFBF004C */ sw $ra, 0x4c($sp) -/* 0B8384 800B7784 AFBE0048 */ sw $fp, 0x48($sp) -/* 0B8388 800B7788 AFB70044 */ sw $s7, 0x44($sp) -/* 0B838C 800B778C AFB60040 */ sw $s6, 0x40($sp) -/* 0B8390 800B7790 AFB30034 */ sw $s3, 0x34($sp) -/* 0B8394 800B7794 AFB1002C */ sw $s1, 0x2c($sp) -/* 0B8398 800B7798 AFB00028 */ sw $s0, 0x28($sp) -/* 0B839C 800B779C AFA400C0 */ sw $a0, 0xc0($sp) -/* 0B83A0 800B77A0 AFA500C4 */ sw $a1, 0xc4($sp) -/* 0B83A4 800B77A4 1520001D */ bnez $t1, .L800B781C -/* 0B83A8 800B77A8 00009025 */ move $s2, $zero -/* 0B83AC 800B77AC 3C04803B */ lui $a0, %hi(D_803B70B0) # $a0, 0x803b -/* 0B83B0 800B77B0 8C8470B0 */ lw $a0, %lo(D_803B70B0)($a0) -/* 0B83B4 800B77B4 00008825 */ move $s1, $zero -/* 0B83B8 800B77B8 18800016 */ blez $a0, .L800B7814 -/* 0B83BC 800B77BC 00000000 */ nop -/* 0B83C0 800B77C0 00870019 */ multu $a0, $a3 -/* 0B83C4 800B77C4 3C0E803B */ lui $t6, %hi(gNoteSubsEu) # $t6, 0x803b -/* 0B83C8 800B77C8 8DCEFBC4 */ lw $t6, %lo(gNoteSubsEu)($t6) -/* 0B83CC 800B77CC 27A50084 */ addiu $a1, $sp, 0x84 -/* 0B83D0 800B77D0 00007812 */ mflo $t7 -/* 0B83D4 800B77D4 000FC100 */ sll $t8, $t7, 4 -/* 0B83D8 800B77D8 01D81021 */ addu $v0, $t6, $t8 -.L800B77DC: -/* 0B83DC 800B77DC 8C590000 */ lw $t9, ($v0) -/* 0B83E0 800B77E0 00B26021 */ addu $t4, $a1, $s2 -/* 0B83E4 800B77E4 00195FC2 */ srl $t3, $t9, 0x1f -/* 0B83E8 800B77E8 51600006 */ beql $t3, $zero, .L800B7804 -/* 0B83EC 800B77EC 26310001 */ addiu $s1, $s1, 1 -/* 0B83F0 800B77F0 26520001 */ addiu $s2, $s2, 1 -/* 0B83F4 800B77F4 00126C00 */ sll $t5, $s2, 0x10 -/* 0B83F8 800B77F8 000D9403 */ sra $s2, $t5, 0x10 -/* 0B83FC 800B77FC A1910000 */ sb $s1, ($t4) -/* 0B8400 800B7800 26310001 */ addiu $s1, $s1, 1 -.L800B7804: -/* 0B8404 800B7804 0224082A */ slt $at, $s1, $a0 -/* 0B8408 800B7808 1420FFF4 */ bnez $at, .L800B77DC -/* 0B840C 800B780C 24420010 */ addiu $v0, $v0, 0x10 -/* 0B8410 800B7810 00008825 */ move $s1, $zero -.L800B7814: -/* 0B8414 800B7814 10000049 */ b .L800B793C -/* 0B8418 800B7818 00009825 */ move $s3, $zero -.L800B781C: -/* 0B841C 800B781C 19200026 */ blez $t1, .L800B78B8 -/* 0B8420 800B7820 00009825 */ move $s3, $zero -/* 0B8424 800B7824 3C04803B */ lui $a0, %hi(D_803B70B0) # $a0, 0x803b -/* 0B8428 800B7828 8C8470B0 */ lw $a0, %lo(D_803B70B0)($a0) -/* 0B842C 800B782C 27A50084 */ addiu $a1, $sp, 0x84 -.L800B7830: -/* 0B8430 800B7830 1880001A */ blez $a0, .L800B789C -/* 0B8434 800B7834 00008825 */ move $s1, $zero -/* 0B8438 800B7838 00950019 */ multu $a0, $s5 -/* 0B843C 800B783C 3C08803B */ lui $t0, %hi(gNoteSubsEu) # $t0, 0x803b -/* 0B8440 800B7840 8D08FBC4 */ lw $t0, %lo(gNoteSubsEu)($t0) -/* 0B8444 800B7844 00001812 */ mflo $v1 -/* 0B8448 800B7848 00000000 */ nop -/* 0B844C 800B784C 00000000 */ nop -.L800B7850: -/* 0B8450 800B7850 00037100 */ sll $t6, $v1, 4 -/* 0B8454 800B7854 01C81021 */ addu $v0, $t6, $t0 -/* 0B8458 800B7858 8C580000 */ lw $t8, ($v0) -/* 0B845C 800B785C 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B8460 800B7860 5320000B */ beql $t9, $zero, .L800B7890 -/* 0B8464 800B7864 26310001 */ addiu $s1, $s1, 1 -/* 0B8468 800B7868 904B0001 */ lbu $t3, 1($v0) -/* 0B846C 800B786C 00B26821 */ addu $t5, $a1, $s2 -/* 0B8470 800B7870 000B6142 */ srl $t4, $t3, 5 -/* 0B8474 800B7874 566C0006 */ bnel $s3, $t4, .L800B7890 -/* 0B8478 800B7878 26310001 */ addiu $s1, $s1, 1 -/* 0B847C 800B787C 26520001 */ addiu $s2, $s2, 1 -/* 0B8480 800B7880 00127C00 */ sll $t7, $s2, 0x10 -/* 0B8484 800B7884 000F9403 */ sra $s2, $t7, 0x10 -/* 0B8488 800B7888 A1B10000 */ sb $s1, ($t5) -/* 0B848C 800B788C 26310001 */ addiu $s1, $s1, 1 -.L800B7890: -/* 0B8490 800B7890 0224082A */ slt $at, $s1, $a0 -/* 0B8494 800B7894 1420FFEE */ bnez $at, .L800B7850 -/* 0B8498 800B7898 24630001 */ addiu $v1, $v1, 1 -.L800B789C: -/* 0B849C 800B789C 26730001 */ addiu $s3, $s3, 1 -/* 0B84A0 800B78A0 0013C400 */ sll $t8, $s3, 0x10 -/* 0B84A4 800B78A4 00189C03 */ sra $s3, $t8, 0x10 -/* 0B84A8 800B78A8 0269082A */ slt $at, $s3, $t1 -/* 0B84AC 800B78AC 1420FFE0 */ bnez $at, .L800B7830 -/* 0B84B0 800B78B0 00000000 */ nop -/* 0B84B4 800B78B4 00009825 */ move $s3, $zero -.L800B78B8: -/* 0B84B8 800B78B8 3C04803B */ lui $a0, %hi(D_803B70B0) # $a0, 0x803b -/* 0B84BC 800B78BC 8C8470B0 */ lw $a0, %lo(D_803B70B0)($a0) -/* 0B84C0 800B78C0 27A50084 */ addiu $a1, $sp, 0x84 -/* 0B84C4 800B78C4 00008825 */ move $s1, $zero -/* 0B84C8 800B78C8 5880001D */ blezl $a0, .L800B7940 -/* 0B84CC 800B78CC 02801025 */ move $v0, $s4 -/* 0B84D0 800B78D0 00950019 */ multu $a0, $s5 -/* 0B84D4 800B78D4 3C08803B */ lui $t0, %hi(gNoteSubsEu) # $t0, 0x803b -/* 0B84D8 800B78D8 8D08FBC4 */ lw $t0, %lo(gNoteSubsEu)($t0) -/* 0B84DC 800B78DC 00001812 */ mflo $v1 -/* 0B84E0 800B78E0 00000000 */ nop -/* 0B84E4 800B78E4 00000000 */ nop -.L800B78E8: -/* 0B84E8 800B78E8 00035900 */ sll $t3, $v1, 4 -/* 0B84EC 800B78EC 01681021 */ addu $v0, $t3, $t0 -/* 0B84F0 800B78F0 8C4C0000 */ lw $t4, ($v0) -/* 0B84F4 800B78F4 000C6FC2 */ srl $t5, $t4, 0x1f -/* 0B84F8 800B78F8 51A0000C */ beql $t5, $zero, .L800B792C -/* 0B84FC 800B78FC 26310001 */ addiu $s1, $s1, 1 -/* 0B8500 800B7900 904F0001 */ lbu $t7, 1($v0) -/* 0B8504 800B7904 00B2C021 */ addu $t8, $a1, $s2 -/* 0B8508 800B7908 000F7142 */ srl $t6, $t7, 5 -/* 0B850C 800B790C 01C9082A */ slt $at, $t6, $t1 -/* 0B8510 800B7910 54200006 */ bnel $at, $zero, .L800B792C -/* 0B8514 800B7914 26310001 */ addiu $s1, $s1, 1 -/* 0B8518 800B7918 26520001 */ addiu $s2, $s2, 1 -/* 0B851C 800B791C 0012CC00 */ sll $t9, $s2, 0x10 -/* 0B8520 800B7920 00199403 */ sra $s2, $t9, 0x10 -/* 0B8524 800B7924 A3110000 */ sb $s1, ($t8) -/* 0B8528 800B7928 26310001 */ addiu $s1, $s1, 1 -.L800B792C: -/* 0B852C 800B792C 0224082A */ slt $at, $s1, $a0 -/* 0B8530 800B7930 1420FFED */ bnez $at, .L800B78E8 -/* 0B8534 800B7934 24630001 */ addiu $v1, $v1, 1 -/* 0B8538 800B7938 00008825 */ move $s1, $zero -.L800B793C: -/* 0B853C 800B793C 02801025 */ move $v0, $s4 -.L800B7940: -/* 0B8540 800B7940 3C0C0200 */ lui $t4, (0x02000540 >> 16) # lui $t4, 0x200 -/* 0B8544 800B7944 358C0540 */ ori $t4, (0x02000540 & 0xFFFF) # ori $t4, $t4, 0x540 -/* 0B8548 800B7948 240D0300 */ li $t5, 768 -/* 0B854C 800B794C AC4D0004 */ sw $t5, 4($v0) -/* 0B8550 800B7950 AC4C0000 */ sw $t4, ($v0) -/* 0B8554 800B7954 814F0000 */ lb $t7, ($t2) -/* 0B8558 800B7958 3C1E803B */ lui $fp, %hi(D_803B1508) # $fp, 0x803b -/* 0B855C 800B795C 26940008 */ addiu $s4, $s4, 8 -/* 0B8560 800B7960 19E00055 */ blez $t7, .L800B7AB8 -/* 0B8564 800B7964 27DE1508 */ addiu $fp, %lo(D_803B1508) # addiu $fp, $fp, 0x1508 -/* 0B8568 800B7968 3C16803B */ lui $s6, %hi(gNoteSubsEu) # $s6, 0x803b -/* 0B856C 800B796C 26D6FBC4 */ addiu $s6, %lo(gNoteSubsEu) # addiu $s6, $s6, -0x43c -/* 0B8570 800B7970 241700C0 */ li $s7, 192 -/* 0B8574 800B7974 00137140 */ sll $t6, $s3, 5 -.L800B7978: -/* 0B8578 800B7978 01D37021 */ addu $t6, $t6, $s3 -/* 0B857C 800B797C 3C18803B */ lui $t8, %hi(gSynthesisReverbs) # $t8, 0x803b -/* 0B8580 800B7980 2718F790 */ addiu $t8, %lo(gSynthesisReverbs) # addiu $t8, $t8, -0x870 -/* 0B8584 800B7984 000E70C0 */ sll $t6, $t6, 3 -/* 0B8588 800B7988 01D8C821 */ addu $t9, $t6, $t8 -/* 0B858C 800B798C AFB90064 */ sw $t9, 0x64($sp) -/* 0B8590 800B7990 932B0001 */ lbu $t3, 1($t9) -/* 0B8594 800B7994 3C01803B */ lui $at, %hi(gUseReverb) # $at, 0x803b -/* 0B8598 800B7998 02802025 */ move $a0, $s4 -/* 0B859C 800B799C 000B6600 */ sll $t4, $t3, 0x18 -/* 0B85A0 800B79A0 000C6E03 */ sra $t5, $t4, 0x18 -/* 0B85A4 800B79A4 11A0000A */ beqz $t5, .L800B79D0 -/* 0B85A8 800B79A8 A02BFBC2 */ sb $t3, %lo(gUseReverb)($at) -/* 0B85AC 800B79AC 00133400 */ sll $a2, $s3, 0x10 -/* 0B85B0 800B79B0 00153C00 */ sll $a3, $s5, 0x10 -/* 0B85B4 800B79B4 00077403 */ sra $t6, $a3, 0x10 -/* 0B85B8 800B79B8 00067C03 */ sra $t7, $a2, 0x10 -/* 0B85BC 800B79BC 01E03025 */ move $a2, $t7 -/* 0B85C0 800B79C0 01C03825 */ move $a3, $t6 -/* 0B85C4 800B79C4 0C02DCC1 */ jal func_800B7304 -/* 0B85C8 800B79C8 8FA500C4 */ lw $a1, 0xc4($sp) -/* 0B85CC 800B79CC 0040A025 */ move $s4, $v0 -.L800B79D0: -/* 0B85D0 800B79D0 0232082A */ slt $at, $s1, $s2 -/* 0B85D4 800B79D4 10200024 */ beqz $at, .L800B7A68 -/* 0B85D8 800B79D8 27B80084 */ addiu $t8, $sp, 0x84 -/* 0B85DC 800B79DC 02388021 */ addu $s0, $s1, $t8 -.L800B79E0: -/* 0B85E0 800B79E0 3C19803B */ lui $t9, %hi(D_803B70B0) # $t9, 0x803b -/* 0B85E4 800B79E4 8F3970B0 */ lw $t9, %lo(D_803B70B0)($t9) -/* 0B85E8 800B79E8 92030000 */ lbu $v1, ($s0) -/* 0B85EC 800B79EC 8EC80000 */ lw $t0, ($s6) -/* 0B85F0 800B79F0 02B90019 */ multu $s5, $t9 -/* 0B85F4 800B79F4 00035900 */ sll $t3, $v1, 4 -/* 0B85F8 800B79F8 010B6021 */ addu $t4, $t0, $t3 -/* 0B85FC 800B79FC 00602025 */ move $a0, $v1 -/* 0B8600 800B7A00 00001012 */ mflo $v0 -/* 0B8604 800B7A04 00026900 */ sll $t5, $v0, 4 -/* 0B8608 800B7A08 018D7821 */ addu $t7, $t4, $t5 -/* 0B860C 800B7A0C 91EE0001 */ lbu $t6, 1($t7) -/* 0B8610 800B7A10 000EC142 */ srl $t8, $t6, 5 -/* 0B8614 800B7A14 56780015 */ bnel $s3, $t8, .L800B7A6C -/* 0B8618 800B7A18 8FAE0064 */ lw $t6, 0x64($sp) -/* 0B861C 800B7A1C 00770019 */ multu $v1, $s7 -/* 0B8620 800B7A20 8FCD0000 */ lw $t5, ($fp) -/* 0B8624 800B7A24 8FAF00C4 */ lw $t7, 0xc4($sp) -/* 0B8628 800B7A28 0062C821 */ addu $t9, $v1, $v0 -/* 0B862C 800B7A2C 00195900 */ sll $t3, $t9, 4 -/* 0B8630 800B7A30 01682821 */ addu $a1, $t3, $t0 -/* 0B8634 800B7A34 8FA700C0 */ lw $a3, 0xc0($sp) -/* 0B8638 800B7A38 AFB40014 */ sw $s4, 0x14($sp) -/* 0B863C 800B7A3C AFB50018 */ sw $s5, 0x18($sp) -/* 0B8640 800B7A40 AFAF0010 */ sw $t7, 0x10($sp) -/* 0B8644 800B7A44 00006012 */ mflo $t4 -/* 0B8648 800B7A48 018D3021 */ addu $a2, $t4, $t5 -/* 0B864C 800B7A4C 0C02DF0C */ jal func_800B7C30 -/* 0B8650 800B7A50 24C60010 */ addiu $a2, $a2, 0x10 -/* 0B8654 800B7A54 26310001 */ addiu $s1, $s1, 1 -/* 0B8658 800B7A58 0232082A */ slt $at, $s1, $s2 -/* 0B865C 800B7A5C 0040A025 */ move $s4, $v0 -/* 0B8660 800B7A60 1420FFDF */ bnez $at, .L800B79E0 -/* 0B8664 800B7A64 26100001 */ addiu $s0, $s0, 1 -.L800B7A68: -/* 0B8668 800B7A68 8FAE0064 */ lw $t6, 0x64($sp) -.L800B7A6C: -/* 0B866C 800B7A6C 00132C00 */ sll $a1, $s3, 0x10 -/* 0B8670 800B7A70 0005CC03 */ sra $t9, $a1, 0x10 -/* 0B8674 800B7A74 91D80001 */ lbu $t8, 1($t6) -/* 0B8678 800B7A78 03202825 */ move $a1, $t9 -/* 0B867C 800B7A7C 02802025 */ move $a0, $s4 -/* 0B8680 800B7A80 13000005 */ beqz $t8, .L800B7A98 -/* 0B8684 800B7A84 00153400 */ sll $a2, $s5, 0x10 -/* 0B8688 800B7A88 00065C03 */ sra $t3, $a2, 0x10 -/* 0B868C 800B7A8C 0C02DD8C */ jal func_800B7630 -/* 0B8690 800B7A90 01603025 */ move $a2, $t3 -/* 0B8694 800B7A94 0040A025 */ move $s4, $v0 -.L800B7A98: -/* 0B8698 800B7A98 3C0F803B */ lui $t7, %hi(gNumSynthesisReverbs) # $t7, 0x803b -/* 0B869C 800B7A9C 81EFFBC3 */ lb $t7, %lo(gNumSynthesisReverbs)($t7) -/* 0B86A0 800B7AA0 26730001 */ addiu $s3, $s3, 1 -/* 0B86A4 800B7AA4 00136400 */ sll $t4, $s3, 0x10 -/* 0B86A8 800B7AA8 000C9C03 */ sra $s3, $t4, 0x10 -/* 0B86AC 800B7AAC 026F082A */ slt $at, $s3, $t7 -/* 0B86B0 800B7AB0 5420FFB1 */ bnel $at, $zero, .L800B7978 -/* 0B86B4 800B7AB4 00137140 */ sll $t6, $s3, 5 -.L800B7AB8: -/* 0B86B8 800B7AB8 3C16803B */ lui $s6, %hi(gNoteSubsEu) # $s6, 0x803b -/* 0B86BC 800B7ABC 3C1E803B */ lui $fp, %hi(D_803B1508) # $fp, 0x803b -/* 0B86C0 800B7AC0 0232082A */ slt $at, $s1, $s2 -/* 0B86C4 800B7AC4 27DE1508 */ addiu $fp, %lo(D_803B1508) # addiu $fp, $fp, 0x1508 -/* 0B86C8 800B7AC8 26D6FBC4 */ addiu $s6, %lo(gNoteSubsEu) # addiu $s6, $s6, -0x43c -/* 0B86CC 800B7ACC 10200030 */ beqz $at, .L800B7B90 -/* 0B86D0 800B7AD0 241700C0 */ li $s7, 192 -/* 0B86D4 800B7AD4 27AE0084 */ addiu $t6, $sp, 0x84 -/* 0B86D8 800B7AD8 022E8021 */ addu $s0, $s1, $t6 -/* 0B86DC 800B7ADC 24130001 */ li $s3, 1 -.L800B7AE0: -/* 0B86E0 800B7AE0 3C18803B */ lui $t8, %hi(D_803B70B0) # $t8, 0x803b -/* 0B86E4 800B7AE4 8F1870B0 */ lw $t8, %lo(D_803B70B0)($t8) -/* 0B86E8 800B7AE8 92030000 */ lbu $v1, ($s0) -/* 0B86EC 800B7AEC 8EC80000 */ lw $t0, ($s6) -/* 0B86F0 800B7AF0 02B80019 */ multu $s5, $t8 -/* 0B86F4 800B7AF4 0003C900 */ sll $t9, $v1, 4 -/* 0B86F8 800B7AF8 01195821 */ addu $t3, $t0, $t9 -/* 0B86FC 800B7AFC 3C0F803B */ lui $t7, %hi(D_803B03C0) # 0x803b -/* 0B8700 800B7B00 3C011000 */ lui $at, 0x1000 -/* 0B8704 800B7B04 00602025 */ move $a0, $v1 -/* 0B8708 800B7B08 00001012 */ mflo $v0 -/* 0B870C 800B7B0C 00026100 */ sll $t4, $v0, 4 -/* 0B8710 800B7B10 016C6821 */ addu $t5, $t3, $t4 -/* 0B8714 800B7B14 91A50002 */ lbu $a1, 2($t5) -/* 0B8718 800B7B18 01E57821 */ addu $t7, $t7, $a1 -/* 0B871C 800B7B1C 91EF03C0 */ lbu $t7, %lo(D_803B03C0)($t7) # 0x3c0($t7) -/* 0B8720 800B7B20 29EE0002 */ slti $t6, $t7, 2 -/* 0B8724 800B7B24 39CE0001 */ xori $t6, $t6, 1 -/* 0B8728 800B7B28 166E0011 */ bne $s3, $t6, .L800B7B70 -/* 0B872C 800B7B2C 00117A00 */ sll $t7, $s1, 8 -/* 0B8730 800B7B30 00770019 */ multu $v1, $s7 -/* 0B8734 800B7B34 8FCC0000 */ lw $t4, ($fp) -/* 0B8738 800B7B38 8FAD00C4 */ lw $t5, 0xc4($sp) -/* 0B873C 800B7B3C 0062C021 */ addu $t8, $v1, $v0 -/* 0B8740 800B7B40 0018C900 */ sll $t9, $t8, 4 -/* 0B8744 800B7B44 03282821 */ addu $a1, $t9, $t0 -/* 0B8748 800B7B48 8FA700C0 */ lw $a3, 0xc0($sp) -/* 0B874C 800B7B4C AFB40014 */ sw $s4, 0x14($sp) -/* 0B8750 800B7B50 AFB50018 */ sw $s5, 0x18($sp) -/* 0B8754 800B7B54 AFAD0010 */ sw $t5, 0x10($sp) -/* 0B8758 800B7B58 00005812 */ mflo $t3 -/* 0B875C 800B7B5C 016C3021 */ addu $a2, $t3, $t4 -/* 0B8760 800B7B60 0C02DF0C */ jal func_800B7C30 -/* 0B8764 800B7B64 24C60010 */ addiu $a2, $a2, 0x10 -/* 0B8768 800B7B68 10000005 */ b .L800B7B80 -/* 0B876C 800B7B6C 0040A025 */ move $s4, $v0 -.L800B7B70: -/* 0B8770 800B7B70 00AF7021 */ addu $t6, $a1, $t7 -/* 0B8774 800B7B74 01C1C021 */ addu $t8, $t6, $at -/* 0B8778 800B7B78 3C01803B */ lui $at, %hi(D_803B7198) # $at, 0x803b -/* 0B877C 800B7B7C AC387198 */ sw $t8, %lo(D_803B7198)($at) -.L800B7B80: -/* 0B8780 800B7B80 26310001 */ addiu $s1, $s1, 1 -/* 0B8784 800B7B84 0232082A */ slt $at, $s1, $s2 -/* 0B8788 800B7B88 1420FFD5 */ bnez $at, .L800B7AE0 -/* 0B878C 800B7B8C 26100001 */ addiu $s0, $s0, 1 -.L800B7B90: -/* 0B8790 800B7B90 02802025 */ move $a0, $s4 -/* 0B8794 800B7B94 3C190800 */ lui $t9, 0x800 -/* 0B8798 800B7B98 AC990000 */ sw $t9, ($a0) -/* 0B879C 800B7B9C 8FA300C4 */ lw $v1, 0xc4($sp) -/* 0B87A0 800B7BA0 26940008 */ addiu $s4, $s4, 8 -/* 0B87A4 800B7BA4 02802825 */ move $a1, $s4 -/* 0B87A8 800B7BA8 00035840 */ sll $t3, $v1, 1 -/* 0B87AC 800B7BAC 316CFFFF */ andi $t4, $t3, 0xffff -/* 0B87B0 800B7BB0 000B7040 */ sll $t6, $t3, 1 -/* 0B87B4 800B7BB4 AC8C0004 */ sw $t4, 4($a0) -/* 0B87B8 800B7BB8 000EC103 */ sra $t8, $t6, 4 -/* 0B87BC 800B7BBC 3C0F0540 */ lui $t7, (0x054006C0 >> 16) # lui $t7, 0x540 -/* 0B87C0 800B7BC0 331900FF */ andi $t9, $t8, 0xff -/* 0B87C4 800B7BC4 35EF06C0 */ ori $t7, (0x054006C0 & 0xFFFF) # ori $t7, $t7, 0x6c0 -/* 0B87C8 800B7BC8 26940008 */ addiu $s4, $s4, 8 -/* 0B87CC 800B7BCC 3C0D0D00 */ lui $t5, 0xd00 -/* 0B87D0 800B7BD0 00195C00 */ sll $t3, $t9, 0x10 -/* 0B87D4 800B7BD4 3C011500 */ lui $at, 0x1500 -/* 0B87D8 800B7BD8 ACAD0000 */ sw $t5, ($a1) -/* 0B87DC 800B7BDC ACAF0004 */ sw $t7, 4($a1) -/* 0B87E0 800B7BE0 01616025 */ or $t4, $t3, $at -/* 0B87E4 800B7BE4 02803025 */ move $a2, $s4 -/* 0B87E8 800B7BE8 ACCC0000 */ sw $t4, ($a2) -/* 0B87EC 800B7BEC 8FAD00C0 */ lw $t5, 0xc0($sp) -/* 0B87F0 800B7BF0 3C018000 */ lui $at, 0x8000 -/* 0B87F4 800B7BF4 26820008 */ addiu $v0, $s4, 8 -/* 0B87F8 800B7BF8 01A17821 */ addu $t7, $t5, $at -/* 0B87FC 800B7BFC ACCF0004 */ sw $t7, 4($a2) -/* 0B8800 800B7C00 8FBF004C */ lw $ra, 0x4c($sp) -/* 0B8804 800B7C04 8FBE0048 */ lw $fp, 0x48($sp) -/* 0B8808 800B7C08 8FB70044 */ lw $s7, 0x44($sp) -/* 0B880C 800B7C0C 8FB60040 */ lw $s6, 0x40($sp) -/* 0B8810 800B7C10 8FB5003C */ lw $s5, 0x3c($sp) -/* 0B8814 800B7C14 8FB40038 */ lw $s4, 0x38($sp) -/* 0B8818 800B7C18 8FB30034 */ lw $s3, 0x34($sp) -/* 0B881C 800B7C1C 8FB20030 */ lw $s2, 0x30($sp) -/* 0B8820 800B7C20 8FB1002C */ lw $s1, 0x2c($sp) -/* 0B8824 800B7C24 8FB00028 */ lw $s0, 0x28($sp) -/* 0B8828 800B7C28 03E00008 */ jr $ra -/* 0B882C 800B7C2C 27BD00C0 */ addiu $sp, $sp, 0xc0 - -glabel func_800B7C30 -/* 0B8830 800B7C30 27BDFEC0 */ addiu $sp, $sp, -0x140 -/* 0B8834 800B7C34 3C18803B */ lui $t8, %hi(D_803B1508) # $t8, 0x803b -/* 0B8838 800B7C38 8F181508 */ lw $t8, %lo(D_803B1508)($t8) -/* 0B883C 800B7C3C 00047880 */ sll $t7, $a0, 2 -/* 0B8840 800B7C40 01E47823 */ subu $t7, $t7, $a0 -/* 0B8844 800B7C44 000F7980 */ sll $t7, $t7, 6 -/* 0B8848 800B7C48 01F8C821 */ addu $t9, $t7, $t8 -/* 0B884C 800B7C4C AFBF004C */ sw $ra, 0x4c($sp) -/* 0B8850 800B7C50 AFBE0048 */ sw $fp, 0x48($sp) -/* 0B8854 800B7C54 AFB70044 */ sw $s7, 0x44($sp) -/* 0B8858 800B7C58 AFB60040 */ sw $s6, 0x40($sp) -/* 0B885C 800B7C5C AFB5003C */ sw $s5, 0x3c($sp) -/* 0B8860 800B7C60 AFB40038 */ sw $s4, 0x38($sp) -/* 0B8864 800B7C64 AFB30034 */ sw $s3, 0x34($sp) -/* 0B8868 800B7C68 AFB20030 */ sw $s2, 0x30($sp) -/* 0B886C 800B7C6C AFB1002C */ sw $s1, 0x2c($sp) -/* 0B8870 800B7C70 AFB00028 */ sw $s0, 0x28($sp) -/* 0B8874 800B7C74 AFA40140 */ sw $a0, 0x140($sp) -/* 0B8878 800B7C78 AFA50144 */ sw $a1, 0x144($sp) -/* 0B887C 800B7C7C AFA7014C */ sw $a3, 0x14c($sp) -/* 0B8880 800B7C80 AFA00128 */ sw $zero, 0x128($sp) -/* 0B8884 800B7C84 AFB9008C */ sw $t9, 0x8c($sp) -/* 0B8888 800B7C88 8CAF0000 */ lw $t7, ($a1) -/* 0B888C 800B7C8C 24010001 */ li $at, 1 -/* 0B8890 800B7C90 00C0B825 */ move $s7, $a2 -/* 0B8894 800B7C94 000FC040 */ sll $t8, $t7, 1 -/* 0B8898 800B7C98 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B889C 800B7C9C 17210009 */ bne $t9, $at, .L800B7CC4 -/* 0B88A0 800B7CA0 00001825 */ move $v1, $zero -/* 0B88A4 800B7CA4 24030001 */ li $v1, 1 -/* 0B88A8 800B7CA8 A0C00000 */ sb $zero, ($a2) -/* 0B88AC 800B7CAC ACC00008 */ sw $zero, 8($a2) -/* 0B88B0 800B7CB0 A4C00004 */ sh $zero, 4($a2) -/* 0B88B4 800B7CB4 A4C00010 */ sh $zero, 0x10($a2) -/* 0B88B8 800B7CB8 A4C00012 */ sh $zero, 0x12($a2) -/* 0B88BC 800B7CBC A0C00002 */ sb $zero, 2($a2) -/* 0B88C0 800B7CC0 A0C00003 */ sb $zero, 3($a2) -.L800B7CC4: -/* 0B88C4 800B7CC4 8FAE0144 */ lw $t6, 0x144($sp) -/* 0B88C8 800B7CC8 02E03025 */ move $a2, $s7 -/* 0B88CC 800B7CCC 95CF000A */ lhu $t7, 0xa($t6) -/* 0B88D0 800B7CD0 A7AF0112 */ sh $t7, 0x112($sp) -/* 0B88D4 800B7CD4 95D80000 */ lhu $t8, ($t6) -/* 0B88D8 800B7CD8 33190001 */ andi $t9, $t8, 1 -/* 0B88DC 800B7CDC 8FB80150 */ lw $t8, 0x150($sp) -/* 0B88E0 800B7CE0 272E0001 */ addiu $t6, $t9, 1 -/* 0B88E4 800B7CE4 AFAE00B0 */ sw $t6, 0xb0($sp) -/* 0B88E8 800B7CE8 01F80019 */ multu $t7, $t8 -/* 0B88EC 800B7CEC 96EF0004 */ lhu $t7, 4($s7) -/* 0B88F0 800B7CF0 0000C812 */ mflo $t9 -/* 0B88F4 800B7CF4 00197040 */ sll $t6, $t9, 1 -/* 0B88F8 800B7CF8 01CF1021 */ addu $v0, $t6, $t7 -/* 0B88FC 800B7CFC A6E20004 */ sh $v0, 4($s7) -/* 0B8900 800B7D00 8FB90144 */ lw $t9, 0x144($sp) -/* 0B8904 800B7D04 00028402 */ srl $s0, $v0, 0x10 -/* 0B8908 800B7D08 02003825 */ move $a3, $s0 -/* 0B890C 800B7D0C 8F240000 */ lw $a0, ($t9) -/* 0B8910 800B7D10 8FB80144 */ lw $t8, 0x144($sp) -/* 0B8914 800B7D14 03202825 */ move $a1, $t9 -/* 0B8918 800B7D18 00047B80 */ sll $t7, $a0, 0xe -/* 0B891C 800B7D1C 05E3000E */ bgezl $t7, .L800B7D58 -/* 0B8920 800B7D20 8F0E000C */ lw $t6, 0xc($t8) -/* 0B8924 800B7D24 0C02E16D */ jal func_800B85B4 -/* 0B8928 800B7D28 8FA40154 */ lw $a0, 0x154($sp) -/* 0B892C 800B7D2C 8EE60008 */ lw $a2, 8($s7) -/* 0B8930 800B7D30 0006C040 */ sll $t8, $a2, 1 -/* 0B8934 800B7D34 270E01A0 */ addiu $t6, $t8, 0x1a0 -/* 0B8938 800B7D38 A7AE009E */ sh $t6, 0x9e($sp) -/* 0B893C 800B7D3C 00D07821 */ addu $t7, $a2, $s0 -/* 0B8940 800B7D40 AEEF0008 */ sw $t7, 8($s7) -/* 0B8944 800B7D44 8FB90144 */ lw $t9, 0x144($sp) -/* 0B8948 800B7D48 8F240000 */ lw $a0, ($t9) -/* 0B894C 800B7D4C 100001CF */ b .L800B848C -/* 0B8950 800B7D50 AFA20154 */ sw $v0, 0x154($sp) -/* 0B8954 800B7D54 8F0E000C */ lw $t6, 0xc($t8) -.L800B7D58: -/* 0B8958 800B7D58 8DCF0000 */ lw $t7, ($t6) -/* 0B895C 800B7D5C AFAF0130 */ sw $t7, 0x130($sp) -/* 0B8960 800B7D60 8DF90008 */ lw $t9, 8($t7) -/* 0B8964 800B7D64 AFB9012C */ sw $t9, 0x12c($sp) -/* 0B8968 800B7D68 8F380004 */ lw $t8, 4($t9) -/* 0B896C 800B7D6C 8FB900B0 */ lw $t9, 0xb0($sp) -/* 0B8970 800B7D70 AFB800DC */ sw $t8, 0xdc($sp) -/* 0B8974 800B7D74 8DEE0004 */ lw $t6, 4($t7) -/* 0B8978 800B7D78 AFA000A0 */ sw $zero, 0xa0($sp) -/* 0B897C 800B7D7C AFA000AC */ sw $zero, 0xac($sp) -/* 0B8980 800B7D80 1B2001C2 */ blez $t9, .L800B848C -/* 0B8984 800B7D84 AFAE00EC */ sw $t6, 0xec($sp) -/* 0B8988 800B7D88 0002C402 */ srl $t8, $v0, 0x10 -/* 0B898C 800B7D8C AFB80050 */ sw $t8, 0x50($sp) -/* 0B8990 800B7D90 AFA30114 */ sw $v1, 0x114($sp) -/* 0B8994 800B7D94 8FB20154 */ lw $s2, 0x154($sp) -/* 0B8998 800B7D98 8FAF0130 */ lw $t7, 0x130($sp) -.L800B7D9C: -/* 0B899C 800B7D9C 8FAE00B0 */ lw $t6, 0xb0($sp) -/* 0B89A0 800B7DA0 24010001 */ li $at, 1 -/* 0B89A4 800B7DA4 8DE5000C */ lw $a1, 0xc($t7) -/* 0B89A8 800B7DA8 0000F025 */ move $fp, $zero -/* 0B89AC 800B7DAC 0000A025 */ move $s4, $zero -/* 0B89B0 800B7DB0 15C10003 */ bne $t6, $at, .L800B7DC0 -/* 0B89B4 800B7DB4 24A60008 */ addiu $a2, $a1, 8 -/* 0B89B8 800B7DB8 1000000B */ b .L800B7DE8 -/* 0B89BC 800B7DBC 8FAD0050 */ lw $t5, 0x50($sp) -.L800B7DC0: -/* 0B89C0 800B7DC0 8FB90050 */ lw $t9, 0x50($sp) -/* 0B89C4 800B7DC4 8FAE00AC */ lw $t6, 0xac($sp) -/* 0B89C8 800B7DC8 8FAD0050 */ lw $t5, 0x50($sp) -/* 0B89CC 800B7DCC 33380001 */ andi $t8, $t9, 1 -/* 0B89D0 800B7DD0 13000005 */ beqz $t8, .L800B7DE8 -/* 0B89D4 800B7DD4 2401FFFE */ li $at, -2 -/* 0B89D8 800B7DD8 03217824 */ and $t7, $t9, $at -/* 0B89DC 800B7DDC 000EC040 */ sll $t8, $t6, 1 -/* 0B89E0 800B7DE0 10000001 */ b .L800B7DE8 -/* 0B89E4 800B7DE4 01F86821 */ addu $t5, $t7, $t8 -.L800B7DE8: -/* 0B89E8 800B7DE8 8FB90128 */ lw $t9, 0x128($sp) -/* 0B89EC 800B7DEC 5326001B */ beql $t9, $a2, .L800B7E5C -/* 0B89F0 800B7DF0 00047AC0 */ sll $t7, $a0, 0xb -/* 0B89F4 800B7DF4 8CAE0000 */ lw $t6, ($a1) -/* 0B89F8 800B7DF8 8CB80004 */ lw $t8, 4($a1) -/* 0B89FC 800B7DFC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0B8A00 800B7E00 000E7900 */ sll $t7, $t6, 4 -/* 0B8A04 800B7E04 01F80019 */ multu $t7, $t8 -/* 0B8A08 800B7E08 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B8A0C 800B7E0C 02401025 */ move $v0, $s2 -/* 0B8A10 800B7E10 26520008 */ addiu $s2, $s2, 8 -/* 0B8A14 800B7E14 00001812 */ mflo $v1 -/* 0B8A18 800B7E18 0061C824 */ and $t9, $v1, $at -/* 0B8A1C 800B7E1C 3C010B00 */ lui $at, 0xb00 -/* 0B8A20 800B7E20 03217025 */ or $t6, $t9, $at -/* 0B8A24 800B7E24 AC4E0000 */ sw $t6, ($v0) -/* 0B8A28 800B7E28 8FAF0144 */ lw $t7, 0x144($sp) -/* 0B8A2C 800B7E2C 3C018000 */ lui $at, 0x8000 -/* 0B8A30 800B7E30 8DF80000 */ lw $t8, ($t7) -/* 0B8A34 800B7E34 0018CAC0 */ sll $t9, $t8, 0xb -/* 0B8A38 800B7E38 00197742 */ srl $t6, $t9, 0x1d -/* 0B8A3C 800B7E3C 000E7840 */ sll $t7, $t6, 1 -/* 0B8A40 800B7E40 01E6C021 */ addu $t8, $t7, $a2 -/* 0B8A44 800B7E44 0301C821 */ addu $t9, $t8, $at -/* 0B8A48 800B7E48 AC590004 */ sw $t9, 4($v0) -/* 0B8A4C 800B7E4C 8FAE0144 */ lw $t6, 0x144($sp) -/* 0B8A50 800B7E50 8DC40000 */ lw $a0, ($t6) -/* 0B8A54 800B7E54 AFA60128 */ sw $a2, 0x128($sp) -/* 0B8A58 800B7E58 00047AC0 */ sll $t7, $a0, 0xb -.L800B7E5C: -/* 0B8A5C 800B7E5C 000FC742 */ srl $t8, $t7, 0x1d -/* 0B8A60 800B7E60 13000003 */ beqz $t8, .L800B7E70 -/* 0B8A64 800B7E64 3C19800F */ lui $t9, %hi(gUnknownData_800F6290) # $t9, 0x800f -/* 0B8A68 800B7E68 27396290 */ addiu $t9, %lo(gUnknownData_800F6290) # addiu $t9, $t9, 0x6290 -/* 0B8A6C 800B7E6C AFB90128 */ sw $t9, 0x128($sp) -.L800B7E70: -/* 0B8A70 800B7E70 51A0011F */ beql $t5, $zero, .L800B82F0 -/* 0B8A74 800B7E74 8FB900B0 */ lw $t9, 0xb0($sp) -/* 0B8A78 800B7E78 8EE60008 */ lw $a2, 8($s7) -.L800B7E7C: -/* 0B8A7C 800B7E7C 8FAE00DC */ lw $t6, 0xdc($sp) -/* 0B8A80 800B7E80 01BE2023 */ subu $a0, $t5, $fp -/* 0B8A84 800B7E84 30D3000F */ andi $s3, $a2, 0xf -/* 0B8A88 800B7E88 00005825 */ move $t3, $zero -/* 0B8A8C 800B7E8C 00006025 */ move $t4, $zero -/* 0B8A90 800B7E90 0080F825 */ move $ra, $a0 -/* 0B8A94 800B7E94 16600005 */ bnez $s3, .L800B7EAC -/* 0B8A98 800B7E98 01C61823 */ subu $v1, $t6, $a2 -/* 0B8A9C 800B7E9C 92EF0000 */ lbu $t7, ($s7) -/* 0B8AA0 800B7EA0 55E00003 */ bnel $t7, $zero, .L800B7EB0 -/* 0B8AA4 800B7EA4 24180010 */ li $t8, 16 -/* 0B8AA8 800B7EA8 24130010 */ li $s3, 16 -.L800B7EAC: -/* 0B8AAC 800B7EAC 24180010 */ li $t8, 16 -.L800B7EB0: -/* 0B8AB0 800B7EB0 03132823 */ subu $a1, $t8, $s3 -/* 0B8AB4 800B7EB4 0083082A */ slt $at, $a0, $v1 -/* 0B8AB8 800B7EB8 1020000C */ beqz $at, .L800B7EEC -/* 0B8ABC 800B7EBC 00A0A825 */ move $s5, $a1 -/* 0B8AC0 800B7EC0 00851023 */ subu $v0, $a0, $a1 -/* 0B8AC4 800B7EC4 2442000F */ addiu $v0, $v0, 0xf -/* 0B8AC8 800B7EC8 04410003 */ bgez $v0, .L800B7ED8 -/* 0B8ACC 800B7ECC 0002C903 */ sra $t9, $v0, 4 -/* 0B8AD0 800B7ED0 2441000F */ addiu $at, $v0, 0xf -/* 0B8AD4 800B7ED4 0001C903 */ sra $t9, $at, 4 -.L800B7ED8: -/* 0B8AD8 800B7ED8 00198900 */ sll $s1, $t9, 4 -/* 0B8ADC 800B7EDC 00B17021 */ addu $t6, $a1, $s1 -/* 0B8AE0 800B7EE0 03204025 */ move $t0, $t9 -/* 0B8AE4 800B7EE4 10000013 */ b .L800B7F34 -/* 0B8AE8 800B7EE8 01C4B023 */ subu $s6, $t6, $a0 -.L800B7EEC: -/* 0B8AEC 800B7EEC 00658823 */ subu $s1, $v1, $a1 -/* 0B8AF0 800B7EF0 1E200003 */ bgtz $s1, .L800B7F00 -/* 0B8AF4 800B7EF4 0000B025 */ move $s6, $zero -/* 0B8AF8 800B7EF8 00008825 */ move $s1, $zero -/* 0B8AFC 800B7EFC 0060A825 */ move $s5, $v1 -.L800B7F00: -/* 0B8B00 800B7F00 8FB8012C */ lw $t8, 0x12c($sp) -/* 0B8B04 800B7F04 2628000F */ addiu $t0, $s1, 0xf -/* 0B8B08 800B7F08 05010003 */ bgez $t0, .L800B7F18 -/* 0B8B0C 800B7F0C 00087903 */ sra $t7, $t0, 4 -/* 0B8B10 800B7F10 2501000F */ addiu $at, $t0, 0xf -/* 0B8B14 800B7F14 00017903 */ sra $t7, $at, 4 -.L800B7F18: -/* 0B8B18 800B7F18 8F190008 */ lw $t9, 8($t8) -/* 0B8B1C 800B7F1C 01E04025 */ move $t0, $t7 -/* 0B8B20 800B7F20 53200004 */ beql $t9, $zero, .L800B7F34 -/* 0B8B24 800B7F24 240B0001 */ li $t3, 1 -/* 0B8B28 800B7F28 10000002 */ b .L800B7F34 -/* 0B8B2C 800B7F2C 240C0001 */ li $t4, 1 -/* 0B8B30 800B7F30 240B0001 */ li $t3, 1 -.L800B7F34: -/* 0B8B34 800B7F34 11000044 */ beqz $t0, .L800B8048 -/* 0B8B38 800B7F38 00005025 */ move $t2, $zero -/* 0B8B3C 800B7F3C 8FAF0130 */ lw $t7, 0x130($sp) -/* 0B8B40 800B7F40 00D31023 */ subu $v0, $a2, $s3 -/* 0B8B44 800B7F44 24420010 */ addiu $v0, $v0, 0x10 -/* 0B8B48 800B7F48 91F80001 */ lbu $t8, 1($t7) -/* 0B8B4C 800B7F4C 04410003 */ bgez $v0, .L800B7F5C -/* 0B8B50 800B7F50 00027103 */ sra $t6, $v0, 4 -/* 0B8B54 800B7F54 2441000F */ addiu $at, $v0, 0xf -/* 0B8B58 800B7F58 00017103 */ sra $t6, $at, 4 -.L800B7F5C: -/* 0B8B5C 800B7F5C 24010081 */ li $at, 129 -/* 0B8B60 800B7F60 1701000C */ bne $t8, $at, .L800B7F94 -/* 0B8B64 800B7F64 01C01025 */ move $v0, $t6 -/* 0B8B68 800B7F68 000EC8C0 */ sll $t9, $t6, 3 -/* 0B8B6C 800B7F6C 000880C0 */ sll $s0, $t0, 3 -/* 0B8B70 800B7F70 02088021 */ addu $s0, $s0, $t0 -/* 0B8B74 800B7F74 032EC821 */ addu $t9, $t9, $t6 -/* 0B8B78 800B7F78 8FAE00EC */ lw $t6, 0xec($sp) -/* 0B8B7C 800B7F7C 2610001F */ addiu $s0, $s0, 0x1f -/* 0B8B80 800B7F80 2401FFF0 */ li $at, -16 -/* 0B8B84 800B7F84 02017824 */ and $t7, $s0, $at -/* 0B8B88 800B7F88 01E08025 */ move $s0, $t7 -/* 0B8B8C 800B7F8C 10000019 */ b .L800B7FF4 -/* 0B8B90 800B7F90 032E2021 */ addu $a0, $t9, $t6 -.L800B7F94: -/* 0B8B94 800B7F94 24030009 */ li $v1, 9 -/* 0B8B98 800B7F98 00430019 */ multu $v0, $v1 -/* 0B8B9C 800B7F9C 8FB900EC */ lw $t9, 0xec($sp) -/* 0B8BA0 800B7FA0 2401FFF0 */ li $at, -16 -/* 0B8BA4 800B7FA4 AFBF00D8 */ sw $ra, 0xd8($sp) -/* 0B8BA8 800B7FA8 8FA60114 */ lw $a2, 0x114($sp) -/* 0B8BAC 800B7FAC 26E70001 */ addiu $a3, $s7, 1 -/* 0B8BB0 800B7FB0 AFAB011C */ sw $t3, 0x11c($sp) -/* 0B8BB4 800B7FB4 AFAC0118 */ sw $t4, 0x118($sp) -/* 0B8BB8 800B7FB8 AFAD00E4 */ sw $t5, 0xe4($sp) -/* 0B8BBC 800B7FBC 0000C012 */ mflo $t8 -/* 0B8BC0 800B7FC0 03192021 */ addu $a0, $t8, $t9 -/* 0B8BC4 800B7FC4 00000000 */ nop -/* 0B8BC8 800B7FC8 01030019 */ multu $t0, $v1 -/* 0B8BCC 800B7FCC 00008012 */ mflo $s0 -/* 0B8BD0 800B7FD0 2610001F */ addiu $s0, $s0, 0x1f -/* 0B8BD4 800B7FD4 02012824 */ and $a1, $s0, $at -/* 0B8BD8 800B7FD8 0C02EB43 */ jal func_800BAD0C -/* 0B8BDC 800B7FDC 00A08025 */ move $s0, $a1 -/* 0B8BE0 800B7FE0 8FAB011C */ lw $t3, 0x11c($sp) -/* 0B8BE4 800B7FE4 8FAC0118 */ lw $t4, 0x118($sp) -/* 0B8BE8 800B7FE8 8FAD00E4 */ lw $t5, 0xe4($sp) -/* 0B8BEC 800B7FEC 8FBF00D8 */ lw $ra, 0xd8($sp) -/* 0B8BF0 800B7FF0 00402025 */ move $a0, $v0 -.L800B7FF4: -/* 0B8BF4 800B7FF4 240F0540 */ li $t7, 1344 -/* 0B8BF8 800B7FF8 01F04823 */ subu $t1, $t7, $s0 -/* 0B8BFC 800B7FFC 0009C400 */ sll $t8, $t1, 0x10 -/* 0B8C00 800B8000 00107103 */ sra $t6, $s0, 4 -/* 0B8C04 800B8004 31CF00FF */ andi $t7, $t6, 0xff -/* 0B8C08 800B8008 00184C03 */ sra $t1, $t8, 0x10 -/* 0B8C0C 800B800C 000FC400 */ sll $t8, $t7, 0x10 -/* 0B8C10 800B8010 3C011400 */ lui $at, 0x1400 -/* 0B8C14 800B8014 0301C825 */ or $t9, $t8, $at -/* 0B8C18 800B8018 308A000F */ andi $t2, $a0, 0xf -/* 0B8C1C 800B801C 312EFFFF */ andi $t6, $t1, 0xffff -/* 0B8C20 800B8020 032E7825 */ or $t7, $t9, $t6 -/* 0B8C24 800B8024 008AC023 */ subu $t8, $a0, $t2 -/* 0B8C28 800B8028 3C018000 */ lui $at, 0x8000 -/* 0B8C2C 800B802C 02401825 */ move $v1, $s2 -/* 0B8C30 800B8030 0301C821 */ addu $t9, $t8, $at -/* 0B8C34 800B8034 AC790004 */ sw $t9, 4($v1) -/* 0B8C38 800B8038 AC6F0000 */ sw $t7, ($v1) -/* 0B8C3C 800B803C 92E50000 */ lbu $a1, ($s7) -/* 0B8C40 800B8040 1000000B */ b .L800B8070 -/* 0B8C44 800B8044 26520008 */ addiu $s2, $s2, 8 -.L800B8048: -/* 0B8C48 800B8048 000870C0 */ sll $t6, $t0, 3 -/* 0B8C4C 800B804C 01C87021 */ addu $t6, $t6, $t0 -/* 0B8C50 800B8050 25CF001F */ addiu $t7, $t6, 0x1f -/* 0B8C54 800B8054 31F8FFF0 */ andi $t8, $t7, 0xfff0 -/* 0B8C58 800B8058 24190540 */ li $t9, 1344 -/* 0B8C5C 800B805C 03384823 */ subu $t1, $t9, $t8 -/* 0B8C60 800B8060 00097400 */ sll $t6, $t1, 0x10 -/* 0B8C64 800B8064 00008825 */ move $s1, $zero -/* 0B8C68 800B8068 000E4C03 */ sra $t1, $t6, 0x10 -/* 0B8C6C 800B806C 92E50000 */ lbu $a1, ($s7) -.L800B8070: -/* 0B8C70 800B8070 10A0000D */ beqz $a1, .L800B80A8 -/* 0B8C74 800B8074 02401025 */ move $v0, $s2 -/* 0B8C78 800B8078 3C190F00 */ lui $t9, 0xf00 -/* 0B8C7C 800B807C AC590000 */ sw $t9, ($v0) -/* 0B8C80 800B8080 8FB80130 */ lw $t8, 0x130($sp) -/* 0B8C84 800B8084 3C018000 */ lui $at, (0x80000010 >> 16) # lui $at, 0x8000 -/* 0B8C88 800B8088 34210010 */ ori $at, (0x80000010 & 0xFFFF) # ori $at, $at, 0x10 -/* 0B8C8C 800B808C 8F0E0008 */ lw $t6, 8($t8) -/* 0B8C90 800B8090 24190002 */ li $t9, 2 -/* 0B8C94 800B8094 26520008 */ addiu $s2, $s2, 8 -/* 0B8C98 800B8098 01C17821 */ addu $t7, $t6, $at -/* 0B8C9C 800B809C AC4F0004 */ sw $t7, 4($v0) -/* 0B8CA0 800B80A0 AFB90114 */ sw $t9, 0x114($sp) -/* 0B8CA4 800B80A4 A2E00000 */ sb $zero, ($s7) -.L800B80A8: -/* 0B8CA8 800B80A8 17C0001E */ bnez $fp, .L800B8124 -/* 0B8CAC 800B80AC 02401825 */ move $v1, $s2 -/* 0B8CB0 800B80B0 012AC021 */ addu $t8, $t1, $t2 -/* 0B8CB4 800B80B4 330EFFFF */ andi $t6, $t8, 0xffff -/* 0B8CB8 800B80B8 3C010800 */ lui $at, 0x800 -/* 0B8CBC 800B80BC 01C17825 */ or $t7, $t6, $at -/* 0B8CC0 800B80C0 00113040 */ sll $a2, $s1, 1 -/* 0B8CC4 800B80C4 30D9FFFF */ andi $t9, $a2, 0xffff -/* 0B8CC8 800B80C8 3C0101A0 */ lui $at, 0x1a0 -/* 0B8CCC 800B80CC 02401025 */ move $v0, $s2 -/* 0B8CD0 800B80D0 0321C025 */ or $t8, $t9, $at -/* 0B8CD4 800B80D4 AC580004 */ sw $t8, 4($v0) -/* 0B8CD8 800B80D8 AC4F0000 */ sw $t7, ($v0) -/* 0B8CDC 800B80DC 8FAE0114 */ lw $t6, 0x114($sp) -/* 0B8CE0 800B80E0 26520008 */ addiu $s2, $s2, 8 -/* 0B8CE4 800B80E4 3C010100 */ lui $at, 0x100 -/* 0B8CE8 800B80E8 31CF00FF */ andi $t7, $t6, 0xff -/* 0B8CEC 800B80EC 000FCC00 */ sll $t9, $t7, 0x10 -/* 0B8CF0 800B80F0 0321C025 */ or $t8, $t9, $at -/* 0B8CF4 800B80F4 02401825 */ move $v1, $s2 -/* 0B8CF8 800B80F8 AC780000 */ sw $t8, ($v1) -/* 0B8CFC 800B80FC 8EEE000C */ lw $t6, 0xc($s7) -/* 0B8D00 800B8100 3C018000 */ lui $at, 0x8000 -/* 0B8D04 800B8104 0235C021 */ addu $t8, $s1, $s5 -/* 0B8D08 800B8108 01C17821 */ addu $t7, $t6, $at -/* 0B8D0C 800B810C AC6F0004 */ sw $t7, 4($v1) -/* 0B8D10 800B8110 0013C840 */ sll $t9, $s3, 1 -/* 0B8D14 800B8114 26520008 */ addiu $s2, $s2, 8 -/* 0B8D18 800B8118 AFB900FC */ sw $t9, 0xfc($sp) -/* 0B8D1C 800B811C 10000030 */ b .L800B81E0 -/* 0B8D20 800B8120 03163823 */ subu $a3, $t8, $s6 -.L800B8124: -/* 0B8D24 800B8124 012A7021 */ addu $t6, $t1, $t2 -/* 0B8D28 800B8128 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0B8D2C 800B812C 3C010800 */ lui $at, 0x800 -/* 0B8D30 800B8130 01E1C825 */ or $t9, $t7, $at -/* 0B8D34 800B8134 2401FFF0 */ li $at, -16 -/* 0B8D38 800B8138 2682001F */ addiu $v0, $s4, 0x1f -/* 0B8D3C 800B813C 0041C024 */ and $t8, $v0, $at -/* 0B8D40 800B8140 270F01A0 */ addiu $t7, $t8, 0x1a0 -/* 0B8D44 800B8144 03001025 */ move $v0, $t8 -/* 0B8D48 800B8148 AC790000 */ sw $t9, ($v1) -/* 0B8D4C 800B814C 00113040 */ sll $a2, $s1, 1 -/* 0B8D50 800B8150 30D8FFFF */ andi $t8, $a2, 0xffff -/* 0B8D54 800B8154 000FCC00 */ sll $t9, $t7, 0x10 -/* 0B8D58 800B8158 03387025 */ or $t6, $t9, $t8 -/* 0B8D5C 800B815C AC6E0004 */ sw $t6, 4($v1) -/* 0B8D60 800B8160 8FAF0114 */ lw $t7, 0x114($sp) -/* 0B8D64 800B8164 26520008 */ addiu $s2, $s2, 8 -/* 0B8D68 800B8168 3C010100 */ lui $at, 0x100 -/* 0B8D6C 800B816C 31F900FF */ andi $t9, $t7, 0xff -/* 0B8D70 800B8170 0019C400 */ sll $t8, $t9, 0x10 -/* 0B8D74 800B8174 03017025 */ or $t6, $t8, $at -/* 0B8D78 800B8178 02402025 */ move $a0, $s2 -/* 0B8D7C 800B817C AC8E0000 */ sw $t6, ($a0) -/* 0B8D80 800B8180 8EEF000C */ lw $t7, 0xc($s7) -/* 0B8D84 800B8184 3C018000 */ lui $at, 0x8000 -/* 0B8D88 800B8188 0013C040 */ sll $t8, $s3, 1 -/* 0B8D8C 800B818C 01E1C821 */ addu $t9, $t7, $at -/* 0B8D90 800B8190 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0B8D94 800B8194 00587021 */ addu $t6, $v0, $t8 -/* 0B8D98 800B8198 AC990004 */ sw $t9, 4($a0) -/* 0B8D9C 800B819C 25CF01A0 */ addiu $t7, $t6, 0x1a0 -/* 0B8DA0 800B81A0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B8DA4 800B81A4 01E1C824 */ and $t9, $t7, $at -/* 0B8DA8 800B81A8 3C010A00 */ lui $at, 0xa00 -/* 0B8DAC 800B81AC 26520008 */ addiu $s2, $s2, 8 -/* 0B8DB0 800B81B0 0321C025 */ or $t8, $t9, $at -/* 0B8DB4 800B81B4 02357021 */ addu $t6, $s1, $s5 -/* 0B8DB8 800B81B8 01D63823 */ subu $a3, $t6, $s6 -/* 0B8DBC 800B81BC 02402825 */ move $a1, $s2 -/* 0B8DC0 800B81C0 ACB80000 */ sw $t8, ($a1) -/* 0B8DC4 800B81C4 00077040 */ sll $t6, $a3, 1 -/* 0B8DC8 800B81C8 269901A0 */ addiu $t9, $s4, 0x1a0 -/* 0B8DCC 800B81CC 0019C400 */ sll $t8, $t9, 0x10 -/* 0B8DD0 800B81D0 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0B8DD4 800B81D4 030FC825 */ or $t9, $t8, $t7 -/* 0B8DD8 800B81D8 ACB90004 */ sw $t9, 4($a1) -/* 0B8DDC 800B81DC 26520008 */ addiu $s2, $s2, 8 -.L800B81E0: -/* 0B8DE0 800B81E0 8FAE0114 */ lw $t6, 0x114($sp) -/* 0B8DE4 800B81E4 24010001 */ li $at, 1 -/* 0B8DE8 800B81E8 03C7F021 */ addu $fp, $fp, $a3 -/* 0B8DEC 800B81EC 11C10006 */ beq $t6, $at, .L800B8208 -/* 0B8DF0 800B81F0 24180020 */ li $t8, 32 -/* 0B8DF4 800B81F4 39C20002 */ xori $v0, $t6, 2 -/* 0B8DF8 800B81F8 10400007 */ beqz $v0, .L800B8218 -/* 0B8DFC 800B81FC AFA00114 */ sw $zero, 0x114($sp) -/* 0B8E00 800B8200 10000008 */ b .L800B8224 -/* 0B8E04 800B8204 0007C840 */ sll $t9, $a3, 1 -.L800B8208: -/* 0B8E08 800B8208 AFB800FC */ sw $t8, 0xfc($sp) -/* 0B8E0C 800B820C 24D40020 */ addiu $s4, $a2, 0x20 -/* 0B8E10 800B8210 1000000B */ b .L800B8240 -/* 0B8E14 800B8214 AFA00114 */ sw $zero, 0x114($sp) -.L800B8218: -/* 0B8E18 800B8218 00077840 */ sll $t7, $a3, 1 -/* 0B8E1C 800B821C 10000008 */ b .L800B8240 -/* 0B8E20 800B8220 01F4A021 */ addu $s4, $t7, $s4 -.L800B8224: -/* 0B8E24 800B8224 52800004 */ beql $s4, $zero, .L800B8238 -/* 0B8E28 800B8228 0267A021 */ addu $s4, $s3, $a3 -/* 0B8E2C 800B822C 10000004 */ b .L800B8240 -/* 0B8E30 800B8230 0334A021 */ addu $s4, $t9, $s4 -/* 0B8E34 800B8234 0267A021 */ addu $s4, $s3, $a3 -.L800B8238: -/* 0B8E38 800B8238 00147040 */ sll $t6, $s4, 1 -/* 0B8E3C 800B823C 01C0A025 */ move $s4, $t6 -.L800B8240: -/* 0B8E40 800B8240 1160001E */ beqz $t3, .L800B82BC -/* 0B8E44 800B8244 240F0001 */ li $t7, 1 -/* 0B8E48 800B8248 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0B8E4C 800B824C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B8E50 800B8250 269801A0 */ addiu $t8, $s4, 0x1a0 -/* 0B8E54 800B8254 03017824 */ and $t7, $t8, $at -/* 0B8E58 800B8258 8FB00144 */ lw $s0, 0x144($sp) -/* 0B8E5C 800B825C 8FB1008C */ lw $s1, 0x8c($sp) -/* 0B8E60 800B8260 3C010200 */ lui $at, 0x200 -/* 0B8E64 800B8264 02401025 */ move $v0, $s2 -/* 0B8E68 800B8268 01BE7023 */ subu $t6, $t5, $fp -/* 0B8E6C 800B826C 000EC040 */ sll $t8, $t6, 1 -/* 0B8E70 800B8270 01E1C825 */ or $t9, $t7, $at -/* 0B8E74 800B8274 AC590000 */ sw $t9, ($v0) -/* 0B8E78 800B8278 AC580004 */ sw $t8, 4($v0) -/* 0B8E7C 800B827C 92190000 */ lbu $t9, ($s0) -/* 0B8E80 800B8280 26520008 */ addiu $s2, $s2, 8 -/* 0B8E84 800B8284 372E0020 */ ori $t6, $t9, 0x20 -/* 0B8E88 800B8288 A20E0000 */ sb $t6, ($s0) -/* 0B8E8C 800B828C 922F00B0 */ lbu $t7, 0xb0($s1) -/* 0B8E90 800B8290 35F90020 */ ori $t9, $t7, 0x20 -/* 0B8E94 800B8294 A23900B0 */ sb $t9, 0xb0($s1) -/* 0B8E98 800B8298 922E00B0 */ lbu $t6, 0xb0($s1) -/* 0B8E9C 800B829C 31D8FF7F */ andi $t8, $t6, 0xff7f -/* 0B8EA0 800B82A0 A23800B0 */ sb $t8, 0xb0($s1) -/* 0B8EA4 800B82A4 AFAD00E4 */ sw $t5, 0xe4($sp) -/* 0B8EA8 800B82A8 8FA50140 */ lw $a1, 0x140($sp) -/* 0B8EAC 800B82AC 0C02DBED */ jal synthesis_load_note_subs_eu -/* 0B8EB0 800B82B0 8FA40158 */ lw $a0, 0x158($sp) -/* 0B8EB4 800B82B4 1000000D */ b .L800B82EC -/* 0B8EB8 800B82B8 8FAD00E4 */ lw $t5, 0xe4($sp) -.L800B82BC: -/* 0B8EBC 800B82BC 51800007 */ beql $t4, $zero, .L800B82DC -/* 0B8EC0 800B82C0 8EF80008 */ lw $t8, 8($s7) -/* 0B8EC4 800B82C4 A2EF0000 */ sb $t7, ($s7) -/* 0B8EC8 800B82C8 8FB9012C */ lw $t9, 0x12c($sp) -/* 0B8ECC 800B82CC 8F2E0000 */ lw $t6, ($t9) -/* 0B8ED0 800B82D0 10000004 */ b .L800B82E4 -/* 0B8ED4 800B82D4 AEEE0008 */ sw $t6, 8($s7) -/* 0B8ED8 800B82D8 8EF80008 */ lw $t8, 8($s7) -.L800B82DC: -/* 0B8EDC 800B82DC 031F7821 */ addu $t7, $t8, $ra -/* 0B8EE0 800B82E0 AEEF0008 */ sw $t7, 8($s7) -.L800B82E4: -/* 0B8EE4 800B82E4 57CDFEE5 */ bnel $fp, $t5, .L800B7E7C -/* 0B8EE8 800B82E8 8EE60008 */ lw $a2, 8($s7) -.L800B82EC: -/* 0B8EEC 800B82EC 8FB900B0 */ lw $t9, 0xb0($sp) -.L800B82F0: -/* 0B8EF0 800B82F0 24010001 */ li $at, 1 -/* 0B8EF4 800B82F4 8FB00144 */ lw $s0, 0x144($sp) -/* 0B8EF8 800B82F8 13210009 */ beq $t9, $at, .L800B8320 -/* 0B8EFC 800B82FC 8FB800FC */ lw $t8, 0xfc($sp) -/* 0B8F00 800B8300 24010002 */ li $at, 2 -/* 0B8F04 800B8304 1321000E */ beq $t9, $at, .L800B8340 -/* 0B8F08 800B8308 8FB800AC */ lw $t8, 0xac($sp) -/* 0B8F0C 800B830C 8E040000 */ lw $a0, ($s0) -/* 0B8F10 800B8310 00041880 */ sll $v1, $a0, 2 -/* 0B8F14 800B8314 000377C2 */ srl $t6, $v1, 0x1f -/* 0B8F18 800B8318 10000052 */ b .L800B8464 -/* 0B8F1C 800B831C 01C01825 */ move $v1, $t6 -.L800B8320: -/* 0B8F20 800B8320 8FB90144 */ lw $t9, 0x144($sp) -/* 0B8F24 800B8324 270F01A0 */ addiu $t7, $t8, 0x1a0 -/* 0B8F28 800B8328 A7AF009E */ sh $t7, 0x9e($sp) -/* 0B8F2C 800B832C 8F240000 */ lw $a0, ($t9) -/* 0B8F30 800B8330 00041880 */ sll $v1, $a0, 2 -/* 0B8F34 800B8334 000377C2 */ srl $t6, $v1, 0x1f -/* 0B8F38 800B8338 1000004A */ b .L800B8464 -/* 0B8F3C 800B833C 01C01825 */ move $v1, $t6 -.L800B8340: -/* 0B8F40 800B8340 13000009 */ beqz $t8, .L800B8368 -/* 0B8F44 800B8344 8FA50144 */ lw $a1, 0x144($sp) -/* 0B8F48 800B8348 24010001 */ li $at, 1 -/* 0B8F4C 800B834C 1301002E */ beq $t8, $at, .L800B8408 -/* 0B8F50 800B8350 02401025 */ move $v0, $s2 -/* 0B8F54 800B8354 8E040000 */ lw $a0, ($s0) -/* 0B8F58 800B8358 00041880 */ sll $v1, $a0, 2 -/* 0B8F5C 800B835C 00037FC2 */ srl $t7, $v1, 0x1f -/* 0B8F60 800B8360 10000040 */ b .L800B8464 -/* 0B8F64 800B8364 01E01825 */ move $v1, $t7 -.L800B8368: -/* 0B8F68 800B8368 02401025 */ move $v0, $s2 -/* 0B8F6C 800B836C 26520008 */ addiu $s2, $s2, 8 -/* 0B8F70 800B8370 05A10003 */ bgez $t5, .L800B8380 -/* 0B8F74 800B8374 000DC843 */ sra $t9, $t5, 1 -/* 0B8F78 800B8378 25A10001 */ addiu $at, $t5, 1 -/* 0B8F7C 800B837C 0001C843 */ sra $t9, $at, 1 -.L800B8380: -/* 0B8F80 800B8380 27380007 */ addiu $t8, $t9, 7 -/* 0B8F84 800B8384 330FFFF8 */ andi $t7, $t8, 0xfff8 -/* 0B8F88 800B8388 3C011100 */ lui $at, 0x1100 -/* 0B8F8C 800B838C 01E1C825 */ or $t9, $t7, $at -/* 0B8F90 800B8390 AC590000 */ sw $t9, ($v0) -/* 0B8F94 800B8394 8FAE00FC */ lw $t6, 0xfc($sp) -/* 0B8F98 800B8398 24180020 */ li $t8, 32 -/* 0B8F9C 800B839C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0B8FA0 800B83A0 25CF01A0 */ addiu $t7, $t6, 0x1a0 -/* 0B8FA4 800B83A4 000FCC00 */ sll $t9, $t7, 0x10 -/* 0B8FA8 800B83A8 372E0020 */ ori $t6, $t9, 0x20 -/* 0B8FAC 800B83AC AC4E0004 */ sw $t6, 4($v0) -/* 0B8FB0 800B83B0 AFAD00A0 */ sw $t5, 0xa0($sp) -/* 0B8FB4 800B83B4 A7B8009E */ sh $t8, 0x9e($sp) -/* 0B8FB8 800B83B8 8CA40000 */ lw $a0, ($a1) -/* 0B8FBC 800B83BC 02401025 */ move $v0, $s2 -/* 0B8FC0 800B83C0 25B90020 */ addiu $t9, $t5, 0x20 -/* 0B8FC4 800B83C4 00041880 */ sll $v1, $a0, 2 -/* 0B8FC8 800B83C8 00037FC2 */ srl $t7, $v1, 0x1f -/* 0B8FCC 800B83CC 11E00025 */ beqz $t7, .L800B8464 -/* 0B8FD0 800B83D0 01E01825 */ move $v1, $t7 -/* 0B8FD4 800B83D4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B8FD8 800B83D8 03217024 */ and $t6, $t9, $at -/* 0B8FDC 800B83DC 3C010200 */ lui $at, 0x200 -/* 0B8FE0 800B83E0 01C1C025 */ or $t8, $t6, $at -/* 0B8FE4 800B83E4 25AF0010 */ addiu $t7, $t5, 0x10 -/* 0B8FE8 800B83E8 AC4F0004 */ sw $t7, 4($v0) -/* 0B8FEC 800B83EC AC580000 */ sw $t8, ($v0) -/* 0B8FF0 800B83F0 8CA40000 */ lw $a0, ($a1) -/* 0B8FF4 800B83F4 26520008 */ addiu $s2, $s2, 8 -/* 0B8FF8 800B83F8 00041880 */ sll $v1, $a0, 2 -/* 0B8FFC 800B83FC 0003CFC2 */ srl $t9, $v1, 0x1f -/* 0B9000 800B8400 10000018 */ b .L800B8464 -/* 0B9004 800B8404 03201825 */ move $v1, $t9 -.L800B8408: -/* 0B9008 800B8408 26520008 */ addiu $s2, $s2, 8 -/* 0B900C 800B840C 05A10003 */ bgez $t5, .L800B841C -/* 0B9010 800B8410 000D7043 */ sra $t6, $t5, 1 -/* 0B9014 800B8414 25A10001 */ addiu $at, $t5, 1 -/* 0B9018 800B8418 00017043 */ sra $t6, $at, 1 -.L800B841C: -/* 0B901C 800B841C 25CF0007 */ addiu $t7, $t6, 7 -/* 0B9020 800B8420 31F9FFF8 */ andi $t9, $t7, 0xfff8 -/* 0B9024 800B8424 3C011100 */ lui $at, 0x1100 -/* 0B9028 800B8428 03217025 */ or $t6, $t9, $at -/* 0B902C 800B842C AC4E0000 */ sw $t6, ($v0) -/* 0B9030 800B8430 8FB800FC */ lw $t8, 0xfc($sp) -/* 0B9034 800B8434 271901A0 */ addiu $t9, $t8, 0x1a0 -/* 0B9038 800B8438 8FB800A0 */ lw $t8, 0xa0($sp) -/* 0B903C 800B843C 00197400 */ sll $t6, $t9, 0x10 -/* 0B9040 800B8440 270F0020 */ addiu $t7, $t8, 0x20 -/* 0B9044 800B8444 31F9FFFF */ andi $t9, $t7, 0xffff -/* 0B9048 800B8448 01D9C025 */ or $t8, $t6, $t9 -/* 0B904C 800B844C AC580004 */ sw $t8, 4($v0) -/* 0B9050 800B8450 8FAF0144 */ lw $t7, 0x144($sp) -/* 0B9054 800B8454 8DE40000 */ lw $a0, ($t7) -/* 0B9058 800B8458 00041880 */ sll $v1, $a0, 2 -/* 0B905C 800B845C 000377C2 */ srl $t6, $v1, 0x1f -/* 0B9060 800B8460 01C01825 */ move $v1, $t6 -.L800B8464: -/* 0B9064 800B8464 10600003 */ beqz $v1, .L800B8474 -/* 0B9068 800B8468 8FA200AC */ lw $v0, 0xac($sp) -/* 0B906C 800B846C 10000007 */ b .L800B848C -/* 0B9070 800B8470 AFB20154 */ sw $s2, 0x154($sp) -.L800B8474: -/* 0B9074 800B8474 8FB900B0 */ lw $t9, 0xb0($sp) -/* 0B9078 800B8478 24420001 */ addiu $v0, $v0, 1 -/* 0B907C 800B847C AFA200AC */ sw $v0, 0xac($sp) -/* 0B9080 800B8480 5459FE46 */ bnel $v0, $t9, .L800B7D9C -/* 0B9084 800B8484 8FAF0130 */ lw $t7, 0x130($sp) -/* 0B9088 800B8488 AFB20154 */ sw $s2, 0x154($sp) -.L800B848C: -/* 0B908C 800B848C 0004C040 */ sll $t8, $a0, 1 -/* 0B9090 800B8490 00187FC2 */ srl $t7, $t8, 0x1f -/* 0B9094 800B8494 24010001 */ li $at, 1 -/* 0B9098 800B8498 8FB20154 */ lw $s2, 0x154($sp) -/* 0B909C 800B849C 15E10006 */ bne $t7, $at, .L800B84B8 -/* 0B90A0 800B84A0 00001825 */ move $v1, $zero -/* 0B90A4 800B84A4 8FAE0144 */ lw $t6, 0x144($sp) -/* 0B90A8 800B84A8 24030001 */ li $v1, 1 -/* 0B90AC 800B84AC 91D90000 */ lbu $t9, ($t6) -/* 0B90B0 800B84B0 3338FFBF */ andi $t8, $t9, 0xffbf -/* 0B90B4 800B84B4 A1D80000 */ sb $t8, ($t6) -.L800B84B8: -/* 0B90B8 800B84B8 8FB30150 */ lw $s3, 0x150($sp) -/* 0B90BC 800B84BC 97B9009E */ lhu $t9, 0x9e($sp) -/* 0B90C0 800B84C0 02402025 */ move $a0, $s2 -/* 0B90C4 800B84C4 00133040 */ sll $a2, $s3, 1 -/* 0B90C8 800B84C8 00C09825 */ move $s3, $a2 -/* 0B90CC 800B84CC 02E02825 */ move $a1, $s7 -/* 0B90D0 800B84D0 97A70112 */ lhu $a3, 0x112($sp) -/* 0B90D4 800B84D4 AFA30014 */ sw $v1, 0x14($sp) -/* 0B90D8 800B84D8 AFA30114 */ sw $v1, 0x114($sp) -/* 0B90DC 800B84DC 0C02E191 */ jal func_800B8644 -/* 0B90E0 800B84E0 AFB90010 */ sw $t9, 0x10($sp) -/* 0B90E4 800B84E4 8FB10144 */ lw $s1, 0x144($sp) -/* 0B90E8 800B84E8 00409025 */ move $s2, $v0 -/* 0B90EC 800B84EC 8FB40114 */ lw $s4, 0x114($sp) -/* 0B90F0 800B84F0 92380003 */ lbu $t8, 3($s1) -/* 0B90F4 800B84F4 02402025 */ move $a0, $s2 -/* 0B90F8 800B84F8 02E03025 */ move $a2, $s7 -/* 0B90FC 800B84FC 17000004 */ bnez $t8, .L800B8510 -/* 0B9100 800B8500 02202825 */ move $a1, $s1 -/* 0B9104 800B8504 92EE0002 */ lbu $t6, 2($s7) -/* 0B9108 800B8508 51C00004 */ beql $t6, $zero, .L800B851C -/* 0B910C 800B850C 922F0004 */ lbu $t7, 4($s1) -.L800B8510: -/* 0B9110 800B8510 1000000A */ b .L800B853C -/* 0B9114 800B8514 24100001 */ li $s0, 1 -/* 0B9118 800B8518 922F0004 */ lbu $t7, 4($s1) -.L800B851C: -/* 0B911C 800B851C 15E00005 */ bnez $t7, .L800B8534 -/* 0B9120 800B8520 00000000 */ nop -/* 0B9124 800B8524 92F90003 */ lbu $t9, 3($s7) -/* 0B9128 800B8528 00008025 */ move $s0, $zero -/* 0B912C 800B852C 13200003 */ beqz $t9, .L800B853C -/* 0B9130 800B8530 00000000 */ nop -.L800B8534: -/* 0B9134 800B8534 10000001 */ b .L800B853C -/* 0B9138 800B8538 24100002 */ li $s0, 2 -.L800B853C: -/* 0B913C 800B853C 8FA70150 */ lw $a3, 0x150($sp) -/* 0B9140 800B8540 AFA00010 */ sw $zero, 0x10($sp) -/* 0B9144 800B8544 AFB00014 */ sw $s0, 0x14($sp) -/* 0B9148 800B8548 0C02E1A8 */ jal func_800B86A0 -/* 0B914C 800B854C AFB40018 */ sw $s4, 0x18($sp) -/* 0B9150 800B8550 92380000 */ lbu $t8, ($s1) -/* 0B9154 800B8554 00409025 */ move $s2, $v0 -/* 0B9158 800B8558 00402025 */ move $a0, $v0 -/* 0B915C 800B855C 330E0001 */ andi $t6, $t8, 1 -/* 0B9160 800B8560 11C00007 */ beqz $t6, .L800B8580 -/* 0B9164 800B8564 02202825 */ move $a1, $s1 -/* 0B9168 800B8568 02E03025 */ move $a2, $s7 -/* 0B916C 800B856C 02603825 */ move $a3, $s3 -/* 0B9170 800B8570 AFB40010 */ sw $s4, 0x10($sp) -/* 0B9174 800B8574 0C02E28B */ jal func_800B8A2C -/* 0B9178 800B8578 AFB00014 */ sw $s0, 0x14($sp) -/* 0B917C 800B857C 00409025 */ move $s2, $v0 -.L800B8580: -/* 0B9180 800B8580 8FBF004C */ lw $ra, 0x4c($sp) -/* 0B9184 800B8584 02401025 */ move $v0, $s2 -/* 0B9188 800B8588 8FB20030 */ lw $s2, 0x30($sp) -/* 0B918C 800B858C 8FB00028 */ lw $s0, 0x28($sp) -/* 0B9190 800B8590 8FB1002C */ lw $s1, 0x2c($sp) -/* 0B9194 800B8594 8FB30034 */ lw $s3, 0x34($sp) -/* 0B9198 800B8598 8FB40038 */ lw $s4, 0x38($sp) -/* 0B919C 800B859C 8FB5003C */ lw $s5, 0x3c($sp) -/* 0B91A0 800B85A0 8FB60040 */ lw $s6, 0x40($sp) -/* 0B91A4 800B85A4 8FB70044 */ lw $s7, 0x44($sp) -/* 0B91A8 800B85A8 8FBE0048 */ lw $fp, 0x48($sp) -/* 0B91AC 800B85AC 03E00008 */ jr $ra -/* 0B91B0 800B85B0 27BD0140 */ addiu $sp, $sp, 0x140 - -glabel func_800B85B4 -/* 0B91B4 800B85B4 3C0E1408 */ lui $t6, (0x140801A0 >> 16) # lui $t6, 0x1408 -/* 0B91B8 800B85B8 35CE01A0 */ ori $t6, (0x140801A0 & 0xFFFF) # ori $t6, $t6, 0x1a0 -/* 0B91BC 800B85BC 00801025 */ move $v0, $a0 -/* 0B91C0 800B85C0 AC4E0000 */ sw $t6, ($v0) -/* 0B91C4 800B85C4 8CAF000C */ lw $t7, 0xc($a1) -/* 0B91C8 800B85C8 3C018000 */ lui $at, 0x8000 -/* 0B91CC 800B85CC 240A0040 */ li $t2, 64 -/* 0B91D0 800B85D0 01E1C021 */ addu $t8, $t7, $at -/* 0B91D4 800B85D4 AC580004 */ sw $t8, 4($v0) -/* 0B91D8 800B85D8 8CD90008 */ lw $t9, 8($a2) -/* 0B91DC 800B85DC 24840008 */ addiu $a0, $a0, 8 -/* 0B91E0 800B85E0 3328003F */ andi $t0, $t9, 0x3f -/* 0B91E4 800B85E4 01481823 */ subu $v1, $t2, $t0 -/* 0B91E8 800B85E8 0067082A */ slt $at, $v1, $a3 -/* 0B91EC 800B85EC 10200013 */ beqz $at, .L800B863C -/* 0B91F0 800B85F0 ACC80008 */ sw $t0, 8($a2) -/* 0B91F4 800B85F4 00E31023 */ subu $v0, $a3, $v1 -/* 0B91F8 800B85F8 2442003F */ addiu $v0, $v0, 0x3f -/* 0B91FC 800B85FC 04410003 */ bgez $v0, .L800B860C -/* 0B9200 800B8600 00025983 */ sra $t3, $v0, 6 -/* 0B9204 800B8604 2441003F */ addiu $at, $v0, 0x3f -/* 0B9208 800B8608 00015983 */ sra $t3, $at, 6 -.L800B860C: -/* 0B920C 800B860C 1160000B */ beqz $t3, .L800B863C -/* 0B9210 800B8610 00801825 */ move $v1, $a0 -/* 0B9214 800B8614 316C00FF */ andi $t4, $t3, 0xff -/* 0B9218 800B8618 000C6C00 */ sll $t5, $t4, 0x10 -/* 0B921C 800B861C 3C011000 */ lui $at, 0x1000 -/* 0B9220 800B8620 01A17025 */ or $t6, $t5, $at -/* 0B9224 800B8624 3C180220 */ lui $t8, (0x02200080 >> 16) # lui $t8, 0x220 -/* 0B9228 800B8628 37180080 */ ori $t8, (0x02200080 & 0xFFFF) # ori $t8, $t8, 0x80 -/* 0B922C 800B862C 35CF01A0 */ ori $t7, $t6, 0x1a0 -/* 0B9230 800B8630 AC6F0000 */ sw $t7, ($v1) -/* 0B9234 800B8634 AC780004 */ sw $t8, 4($v1) -/* 0B9238 800B8638 24840008 */ addiu $a0, $a0, 8 -.L800B863C: -/* 0B923C 800B863C 03E00008 */ jr $ra -/* 0B9240 800B8640 00801025 */ move $v0, $a0 - -glabel func_800B8644 -/* 0B9244 800B8644 97B80012 */ lhu $t8, 0x12($sp) -/* 0B9248 800B8648 AFA7000C */ sw $a3, 0xc($sp) -/* 0B924C 800B864C 3C010800 */ lui $at, 0x800 -/* 0B9250 800B8650 30C9FFFF */ andi $t1, $a2, 0xffff -/* 0B9254 800B8654 0301C825 */ or $t9, $t8, $at -/* 0B9258 800B8658 AC990000 */ sw $t9, ($a0) -/* 0B925C 800B865C AC890004 */ sw $t1, 4($a0) -/* 0B9260 800B8660 8FAA0014 */ lw $t2, 0x14($sp) -/* 0B9264 800B8664 3C010500 */ lui $at, 0x500 -/* 0B9268 800B8668 30EEFFFF */ andi $t6, $a3, 0xffff -/* 0B926C 800B866C 314B00FF */ andi $t3, $t2, 0xff -/* 0B9270 800B8670 000B6400 */ sll $t4, $t3, 0x10 -/* 0B9274 800B8674 01816825 */ or $t5, $t4, $at -/* 0B9278 800B8678 24880008 */ addiu $t0, $a0, 8 -/* 0B927C 800B867C 01AE7825 */ or $t7, $t5, $t6 -/* 0B9280 800B8680 AD0F0000 */ sw $t7, ($t0) -/* 0B9284 800B8684 8CB8000C */ lw $t8, 0xc($a1) -/* 0B9288 800B8688 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 -/* 0B928C 800B868C 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 -/* 0B9290 800B8690 0301C821 */ addu $t9, $t8, $at -/* 0B9294 800B8694 AD190004 */ sw $t9, 4($t0) -/* 0B9298 800B8698 03E00008 */ jr $ra -/* 0B929C 800B869C 25020008 */ addiu $v0, $t0, 8 - -glabel func_800B86A0 -/* 0B92A0 800B86A0 94AA0006 */ lhu $t2, 6($a1) -/* 0B92A4 800B86A4 94C20010 */ lhu $v0, 0x10($a2) -/* 0B92A8 800B86A8 000768C3 */ sra $t5, $a3, 3 -/* 0B92AC 800B86AC 000A7100 */ sll $t6, $t2, 4 -/* 0B92B0 800B86B0 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0B92B4 800B86B4 01E27023 */ subu $t6, $t7, $v0 -/* 0B92B8 800B86B8 01CD001A */ div $zero, $t6, $t5 -/* 0B92BC 800B86BC 94AB0008 */ lhu $t3, 8($a1) -/* 0B92C0 800B86C0 94C30012 */ lhu $v1, 0x12($a2) -/* 0B92C4 800B86C4 01E05025 */ move $t2, $t7 -/* 0B92C8 800B86C8 000BC100 */ sll $t8, $t3, 4 -/* 0B92CC 800B86CC 00007812 */ mflo $t7 -/* 0B92D0 800B86D0 3319FFFF */ andi $t9, $t8, 0xffff -/* 0B92D4 800B86D4 03205825 */ move $t3, $t9 -/* 0B92D8 800B86D8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0B92DC 800B86DC AFAF0008 */ sw $t7, 8($sp) -/* 0B92E0 800B86E0 87B8000A */ lh $t8, 0xa($sp) -/* 0B92E4 800B86E4 00406025 */ move $t4, $v0 -/* 0B92E8 800B86E8 15A00002 */ bnez $t5, .L800B86F4 -/* 0B92EC 800B86EC 00000000 */ nop -/* 0B92F0 800B86F0 0007000D */ break 7 -.L800B86F4: -/* 0B92F4 800B86F4 2401FFFF */ li $at, -1 -/* 0B92F8 800B86F8 15A10004 */ bne $t5, $at, .L800B870C -/* 0B92FC 800B86FC 3C018000 */ lui $at, 0x8000 -/* 0B9300 800B8700 15C10002 */ bne $t6, $at, .L800B870C -/* 0B9304 800B8704 00000000 */ nop -/* 0B9308 800B8708 0006000D */ break 6 -.L800B870C: -/* 0B930C 800B870C 01637023 */ subu $t6, $t3, $v1 -/* 0B9310 800B8710 01CD001A */ div $zero, $t6, $t5 -/* 0B9314 800B8714 00007812 */ mflo $t7 -/* 0B9318 800B8718 AFAF0000 */ sw $t7, ($sp) -/* 0B931C 800B871C 03004025 */ move $t0, $t8 -/* 0B9320 800B8720 030D0019 */ multu $t8, $t5 -/* 0B9324 800B8724 0060C825 */ move $t9, $v1 -/* 0B9328 800B8728 AFA30004 */ sw $v1, 4($sp) -/* 0B932C 800B872C 15A00002 */ bnez $t5, .L800B8738 -/* 0B9330 800B8730 00000000 */ nop -/* 0B9334 800B8734 0007000D */ break 7 -.L800B8738: -/* 0B9338 800B8738 2401FFFF */ li $at, -1 -/* 0B933C 800B873C 15A10004 */ bne $t5, $at, .L800B8750 -/* 0B9340 800B8740 3C018000 */ lui $at, 0x8000 -/* 0B9344 800B8744 15C10002 */ bne $t6, $at, .L800B8750 -/* 0B9348 800B8748 00000000 */ nop -/* 0B934C 800B874C 0006000D */ break 6 -.L800B8750: -/* 0B9350 800B8750 87AE0002 */ lh $t6, 2($sp) -/* 0B9354 800B8754 00007812 */ mflo $t7 -/* 0B9358 800B8758 018F5021 */ addu $t2, $t4, $t7 -/* 0B935C 800B875C 3158FFFF */ andi $t8, $t2, 0xffff -/* 0B9360 800B8760 01CD0019 */ multu $t6, $t5 -/* 0B9364 800B8764 03005025 */ move $t2, $t8 -/* 0B9368 800B8768 A4CA0010 */ sh $t2, 0x10($a2) -/* 0B936C 800B876C 01C04825 */ move $t1, $t6 -/* 0B9370 800B8770 00805025 */ move $t2, $a0 -/* 0B9374 800B8774 3C011200 */ lui $at, 0x1200 -/* 0B9378 800B8778 00007812 */ mflo $t7 -/* 0B937C 800B877C 032F5821 */ addu $t3, $t9, $t7 -/* 0B9380 800B8780 3178FFFF */ andi $t8, $t3, 0xffff -/* 0B9384 800B8784 A4D80012 */ sh $t8, 0x12($a2) -/* 0B9388 800B8788 90AE0000 */ lbu $t6, ($a1) -/* 0B938C 800B878C 03005825 */ move $t3, $t8 -/* 0B9390 800B8790 00803025 */ move $a2, $a0 -/* 0B9394 800B8794 31D90001 */ andi $t9, $t6, 1 -/* 0B9398 800B8798 13200073 */ beqz $t9, .L800B8968 -/* 0B939C 800B879C 304F00FF */ andi $t7, $v0, 0xff -/* 0B93A0 800B87A0 3C0F0200 */ lui $t7, (0x02000200 >> 16) # lui $t7, 0x200 -/* 0B93A4 800B87A4 35EF0200 */ ori $t7, (0x02000200 & 0xFFFF) # ori $t7, $t7, 0x200 -/* 0B93A8 800B87A8 24180180 */ li $t8, 384 -/* 0B93AC 800B87AC ACD80004 */ sw $t8, 4($a2) -/* 0B93B0 800B87B0 ACCF0000 */ sw $t7, ($a2) -/* 0B93B4 800B87B4 90B90005 */ lbu $t9, 5($a1) -/* 0B93B8 800B87B8 304E00FF */ andi $t6, $v0, 0xff -/* 0B93BC 800B87BC 3C011200 */ lui $at, 0x1200 -/* 0B93C0 800B87C0 00197C00 */ sll $t7, $t9, 0x10 -/* 0B93C4 800B87C4 000ECA00 */ sll $t9, $t6, 8 -/* 0B93C8 800B87C8 01E1C025 */ or $t8, $t7, $at -/* 0B93CC 800B87CC 03197825 */ or $t7, $t8, $t9 -/* 0B93D0 800B87D0 306E00FF */ andi $t6, $v1, 0xff -/* 0B93D4 800B87D4 01EEC025 */ or $t8, $t7, $t6 -/* 0B93D8 800B87D8 24840008 */ addiu $a0, $a0, 8 -/* 0B93DC 800B87DC 00805025 */ move $t2, $a0 -/* 0B93E0 800B87E0 AD580000 */ sw $t8, ($t2) -/* 0B93E4 800B87E4 312EFFFF */ andi $t6, $t1, 0xffff -/* 0B93E8 800B87E8 00087C00 */ sll $t7, $t0, 0x10 -/* 0B93EC 800B87EC 01EEC025 */ or $t8, $t7, $t6 -/* 0B93F0 800B87F0 AD580004 */ sw $t8, 4($t2) -/* 0B93F4 800B87F4 24840008 */ addiu $a0, $a0, 8 -/* 0B93F8 800B87F8 00805825 */ move $t3, $a0 -/* 0B93FC 800B87FC 00407825 */ move $t7, $v0 -/* 0B9400 800B8800 3C191600 */ lui $t9, 0x1600 -/* 0B9404 800B8804 AD790000 */ sw $t9, ($t3) -/* 0B9408 800B8808 000F7400 */ sll $t6, $t7, 0x10 -/* 0B940C 800B880C 3078FFFF */ andi $t8, $v1, 0xffff -/* 0B9410 800B8810 01D8C825 */ or $t9, $t6, $t8 -/* 0B9414 800B8814 AD790004 */ sw $t9, 4($t3) -/* 0B9418 800B8818 8FA20064 */ lw $v0, 0x64($sp) -/* 0B941C 800B881C 24010001 */ li $at, 1 -/* 0B9420 800B8820 24840008 */ addiu $a0, $a0, 8 -/* 0B9424 800B8824 1041001E */ beq $v0, $at, .L800B88A0 -/* 0B9428 800B8828 97AF0062 */ lhu $t7, 0x62($sp) -/* 0B942C 800B882C 24010002 */ li $at, 2 -/* 0B9430 800B8830 10410034 */ beq $v0, $at, .L800B8904 -/* 0B9434 800B8834 97AF0062 */ lhu $t7, 0x62($sp) -/* 0B9438 800B8838 97AF0062 */ lhu $t7, 0x62($sp) -/* 0B943C 800B883C 8CA60000 */ lw $a2, ($a1) -/* 0B9440 800B8840 3C011300 */ lui $at, 0x1300 -/* 0B9444 800B8844 000F7103 */ sra $t6, $t7, 4 -/* 0B9448 800B8848 31D800FF */ andi $t8, $t6, 0xff -/* 0B944C 800B884C 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B9450 800B8850 30EE00FF */ andi $t6, $a3, 0xff -/* 0B9454 800B8854 000EC200 */ sll $t8, $t6, 8 -/* 0B9458 800B8858 03217825 */ or $t7, $t9, $at -/* 0B945C 800B885C 01F8C825 */ or $t9, $t7, $t8 -/* 0B9460 800B8860 00067100 */ sll $t6, $a2, 4 -/* 0B9464 800B8864 000E7FC2 */ srl $t7, $t6, 0x1f -/* 0B9468 800B8868 31F80001 */ andi $t8, $t7, 1 -/* 0B946C 800B886C 00187040 */ sll $t6, $t8, 1 -/* 0B9470 800B8870 032E7825 */ or $t7, $t9, $t6 -/* 0B9474 800B8874 0006C140 */ sll $t8, $a2, 5 -/* 0B9478 800B8878 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B947C 800B887C 332E0001 */ andi $t6, $t9, 1 -/* 0B9480 800B8880 3C19546C */ lui $t9, (0x546C849C >> 16) # lui $t9, 0x546c -/* 0B9484 800B8884 00801025 */ move $v0, $a0 -/* 0B9488 800B8888 3739849C */ ori $t9, (0x546C849C & 0xFFFF) # ori $t9, $t9, 0x849c -/* 0B948C 800B888C 01EEC025 */ or $t8, $t7, $t6 -/* 0B9490 800B8890 AC580000 */ sw $t8, ($v0) -/* 0B9494 800B8894 AC590004 */ sw $t9, 4($v0) -/* 0B9498 800B8898 10000061 */ b .L800B8A20 -/* 0B949C 800B889C 24840008 */ addiu $a0, $a0, 8 -.L800B88A0: -/* 0B94A0 800B88A0 000F7103 */ sra $t6, $t7, 4 -/* 0B94A4 800B88A4 31D800FF */ andi $t8, $t6, 0xff -/* 0B94A8 800B88A8 8CA60000 */ lw $a2, ($a1) -/* 0B94AC 800B88AC 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B94B0 800B88B0 30EE00FF */ andi $t6, $a3, 0xff -/* 0B94B4 800B88B4 000EC200 */ sll $t8, $t6, 8 -/* 0B94B8 800B88B8 3C011300 */ lui $at, 0x1300 -/* 0B94BC 800B88BC 03217825 */ or $t7, $t9, $at -/* 0B94C0 800B88C0 01F8C825 */ or $t9, $t7, $t8 -/* 0B94C4 800B88C4 00067100 */ sll $t6, $a2, 4 -/* 0B94C8 800B88C8 000E7FC2 */ srl $t7, $t6, 0x1f -/* 0B94CC 800B88CC 31F80001 */ andi $t8, $t7, 1 -/* 0B94D0 800B88D0 00187040 */ sll $t6, $t8, 1 -/* 0B94D4 800B88D4 032E7825 */ or $t7, $t9, $t6 -/* 0B94D8 800B88D8 0006C140 */ sll $t8, $a2, 5 -/* 0B94DC 800B88DC 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B94E0 800B88E0 332E0001 */ andi $t6, $t9, 1 -/* 0B94E4 800B88E4 3C19206C */ lui $t9, (0x206C849C >> 16) # lui $t9, 0x206c -/* 0B94E8 800B88E8 00801025 */ move $v0, $a0 -/* 0B94EC 800B88EC 3739849C */ ori $t9, (0x206C849C & 0xFFFF) # ori $t9, $t9, 0x849c -/* 0B94F0 800B88F0 01EEC025 */ or $t8, $t7, $t6 -/* 0B94F4 800B88F4 AC580000 */ sw $t8, ($v0) -/* 0B94F8 800B88F8 AC590004 */ sw $t9, 4($v0) -/* 0B94FC 800B88FC 10000048 */ b .L800B8A20 -/* 0B9500 800B8900 24840008 */ addiu $a0, $a0, 8 -.L800B8904: -/* 0B9504 800B8904 000F7103 */ sra $t6, $t7, 4 -/* 0B9508 800B8908 31D800FF */ andi $t8, $t6, 0xff -/* 0B950C 800B890C 8CA60000 */ lw $a2, ($a1) -/* 0B9510 800B8910 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B9514 800B8914 30EE00FF */ andi $t6, $a3, 0xff -/* 0B9518 800B8918 000EC200 */ sll $t8, $t6, 8 -/* 0B951C 800B891C 3C011300 */ lui $at, 0x1300 -/* 0B9520 800B8920 03217825 */ or $t7, $t9, $at -/* 0B9524 800B8924 01F8C825 */ or $t9, $t7, $t8 -/* 0B9528 800B8928 00067100 */ sll $t6, $a2, 4 -/* 0B952C 800B892C 000E7FC2 */ srl $t7, $t6, 0x1f -/* 0B9530 800B8930 31F80001 */ andi $t8, $t7, 1 -/* 0B9534 800B8934 00187040 */ sll $t6, $t8, 1 -/* 0B9538 800B8938 032E7825 */ or $t7, $t9, $t6 -/* 0B953C 800B893C 0006C140 */ sll $t8, $a2, 5 -/* 0B9540 800B8940 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B9544 800B8944 332E0001 */ andi $t6, $t9, 1 -/* 0B9548 800B8948 3C195420 */ lui $t9, (0x5420849C >> 16) # lui $t9, 0x5420 -/* 0B954C 800B894C 00801025 */ move $v0, $a0 -/* 0B9550 800B8950 3739849C */ ori $t9, (0x5420849C & 0xFFFF) # ori $t9, $t9, 0x849c -/* 0B9554 800B8954 01EEC025 */ or $t8, $t7, $t6 -/* 0B9558 800B8958 AC580000 */ sw $t8, ($v0) -/* 0B955C 800B895C AC590004 */ sw $t9, 4($v0) -/* 0B9560 800B8960 1000002F */ b .L800B8A20 -/* 0B9564 800B8964 24840008 */ addiu $a0, $a0, 8 -.L800B8968: -/* 0B9568 800B8968 90AE0005 */ lbu $t6, 5($a1) -/* 0B956C 800B896C 24840008 */ addiu $a0, $a0, 8 -/* 0B9570 800B8970 00805825 */ move $t3, $a0 -/* 0B9574 800B8974 000EC400 */ sll $t8, $t6, 0x10 -/* 0B9578 800B8978 000F7200 */ sll $t6, $t7, 8 -/* 0B957C 800B897C 0301C825 */ or $t9, $t8, $at -/* 0B9580 800B8980 032EC025 */ or $t8, $t9, $t6 -/* 0B9584 800B8984 306F00FF */ andi $t7, $v1, 0xff -/* 0B9588 800B8988 030FC825 */ or $t9, $t8, $t7 -/* 0B958C 800B898C AD590000 */ sw $t9, ($t2) -/* 0B9590 800B8990 312FFFFF */ andi $t7, $t1, 0xffff -/* 0B9594 800B8994 0008C400 */ sll $t8, $t0, 0x10 -/* 0B9598 800B8998 030FC825 */ or $t9, $t8, $t7 -/* 0B959C 800B899C AD590004 */ sw $t9, 4($t2) -/* 0B95A0 800B89A0 3C0E1600 */ lui $t6, 0x1600 -/* 0B95A4 800B89A4 AD6E0000 */ sw $t6, ($t3) -/* 0B95A8 800B89A8 3079FFFF */ andi $t9, $v1, 0xffff -/* 0B95AC 800B89AC 00027C00 */ sll $t7, $v0, 0x10 -/* 0B95B0 800B89B0 01F97025 */ or $t6, $t7, $t9 -/* 0B95B4 800B89B4 AD6E0004 */ sw $t6, 4($t3) -/* 0B95B8 800B89B8 97B80062 */ lhu $t8, 0x62($sp) -/* 0B95BC 800B89BC 8CA60000 */ lw $a2, ($a1) -/* 0B95C0 800B89C0 3C011300 */ lui $at, 0x1300 -/* 0B95C4 800B89C4 00187903 */ sra $t7, $t8, 4 -/* 0B95C8 800B89C8 31F900FF */ andi $t9, $t7, 0xff -/* 0B95CC 800B89CC 00197400 */ sll $t6, $t9, 0x10 -/* 0B95D0 800B89D0 30EF00FF */ andi $t7, $a3, 0xff -/* 0B95D4 800B89D4 000FCA00 */ sll $t9, $t7, 8 -/* 0B95D8 800B89D8 01C1C025 */ or $t8, $t6, $at -/* 0B95DC 800B89DC 03197025 */ or $t6, $t8, $t9 -/* 0B95E0 800B89E0 00067900 */ sll $t7, $a2, 4 -/* 0B95E4 800B89E4 000FC7C2 */ srl $t8, $t7, 0x1f -/* 0B95E8 800B89E8 33190001 */ andi $t9, $t8, 1 -/* 0B95EC 800B89EC 00197840 */ sll $t7, $t9, 1 -/* 0B95F0 800B89F0 01CFC025 */ or $t8, $t6, $t7 -/* 0B95F4 800B89F4 0006C940 */ sll $t9, $a2, 5 -/* 0B95F8 800B89F8 24840008 */ addiu $a0, $a0, 8 -/* 0B95FC 800B89FC 001977C2 */ srl $t6, $t9, 0x1f -/* 0B9600 800B8A00 31CF0001 */ andi $t7, $t6, 1 -/* 0B9604 800B8A04 00806025 */ move $t4, $a0 -/* 0B9608 800B8A08 3C0E546C */ lui $t6, (0x546C849C >> 16) # lui $t6, 0x546c -/* 0B960C 800B8A0C 35CE849C */ ori $t6, (0x546C849C & 0xFFFF) # ori $t6, $t6, 0x849c -/* 0B9610 800B8A10 030FC825 */ or $t9, $t8, $t7 -/* 0B9614 800B8A14 AD990000 */ sw $t9, ($t4) -/* 0B9618 800B8A18 AD8E0004 */ sw $t6, 4($t4) -/* 0B961C 800B8A1C 24840008 */ addiu $a0, $a0, 8 -.L800B8A20: -/* 0B9620 800B8A20 00801025 */ move $v0, $a0 -/* 0B9624 800B8A24 03E00008 */ jr $ra -/* 0B9628 800B8A28 27BD0050 */ addiu $sp, $sp, 0x50 - -glabel func_800B8A2C -/* 0B962C 800B8A2C 27BDFFF8 */ addiu $sp, $sp, -8 -/* 0B9630 800B8A30 8FAE001C */ lw $t6, 0x1c($sp) -/* 0B9634 800B8A34 AFB00004 */ sw $s0, 4($sp) -/* 0B9638 800B8A38 24030001 */ li $v1, 1 -/* 0B963C 800B8A3C 11C30006 */ beq $t6, $v1, .L800B8A58 -/* 0B9640 800B8A40 00E08025 */ move $s0, $a3 -/* 0B9644 800B8A44 24010002 */ li $at, 2 -/* 0B9648 800B8A48 11C10009 */ beq $t6, $at, .L800B8A70 -/* 0B964C 800B8A4C 240906C0 */ li $t1, 1728 -/* 0B9650 800B8A50 100000DD */ b .L800B8DC8 -/* 0B9654 800B8A54 00801025 */ move $v0, $a0 -.L800B8A58: -/* 0B9658 800B8A58 90A70003 */ lbu $a3, 3($a1) -/* 0B965C 800B8A5C 90C20002 */ lbu $v0, 2($a2) -/* 0B9660 800B8A60 24090540 */ li $t1, 1344 -/* 0B9664 800B8A64 A0C00003 */ sb $zero, 3($a2) -/* 0B9668 800B8A68 10000008 */ b .L800B8A8C -/* 0B966C 800B8A6C A0C70002 */ sb $a3, 2($a2) -.L800B8A70: -/* 0B9670 800B8A70 90A70004 */ lbu $a3, 4($a1) -/* 0B9674 800B8A74 90C20003 */ lbu $v0, 3($a2) -/* 0B9678 800B8A78 A0C00002 */ sb $zero, 2($a2) -/* 0B967C 800B8A7C 10000003 */ b .L800B8A8C -/* 0B9680 800B8A80 A0C70003 */ sb $a3, 3($a2) -/* 0B9684 800B8A84 100000D0 */ b .L800B8DC8 -/* 0B9688 800B8A88 00801025 */ move $v0, $a0 -.L800B8A8C: -/* 0B968C 800B8A8C 8FAF0018 */ lw $t7, 0x18($sp) -/* 0B9690 800B8A90 24EE0200 */ addiu $t6, $a3, 0x200 -/* 0B9694 800B8A94 000EC400 */ sll $t8, $t6, 0x10 -/* 0B9698 800B8A98 11E30099 */ beq $t7, $v1, .L800B8D00 -/* 0B969C 800B8A9C 00E02825 */ move $a1, $a3 -/* 0B96A0 800B8AA0 14400040 */ bnez $v0, .L800B8BA4 -/* 0B96A4 800B8AA4 00401825 */ move $v1, $v0 -/* 0B96A8 800B8AA8 00802825 */ move $a1, $a0 -/* 0B96AC 800B8AAC 3C020A00 */ lui $v0, (0x0A000200 >> 16) # lui $v0, 0xa00 -/* 0B96B0 800B8AB0 24840008 */ addiu $a0, $a0, 8 -/* 0B96B4 800B8AB4 34420200 */ ori $v0, (0x0A000200 & 0xFFFF) # ori $v0, $v0, 0x200 -/* 0B96B8 800B8AB8 240D0008 */ li $t5, 8 -/* 0B96BC 800B8ABC 00805025 */ move $t2, $a0 -/* 0B96C0 800B8AC0 ACAD0004 */ sw $t5, 4($a1) -/* 0B96C4 800B8AC4 ACA20000 */ sw $v0, ($a1) -/* 0B96C8 800B8AC8 24840008 */ addiu $a0, $a0, 8 -/* 0B96CC 800B8ACC 3C180200 */ lui $t8, (0x02000008 >> 16) # lui $t8, 0x200 -/* 0B96D0 800B8AD0 37180008 */ ori $t8, (0x02000008 & 0xFFFF) # ori $t8, $t8, 8 -/* 0B96D4 800B8AD4 00805825 */ move $t3, $a0 -/* 0B96D8 800B8AD8 AD580000 */ sw $t8, ($t2) -/* 0B96DC 800B8ADC AD4D0004 */ sw $t5, 4($t2) -/* 0B96E0 800B8AE0 3C190010 */ lui $t9, (0x00100010 >> 16) # lui $t9, 0x10 -/* 0B96E4 800B8AE4 37390010 */ ori $t9, (0x00100010 & 0xFFFF) # ori $t9, $t9, 0x10 -/* 0B96E8 800B8AE8 24840008 */ addiu $a0, $a0, 8 -/* 0B96EC 800B8AEC AD790004 */ sw $t9, 4($t3) -/* 0B96F0 800B8AF0 AD620000 */ sw $v0, ($t3) -/* 0B96F4 800B8AF4 00806025 */ move $t4, $a0 -/* 0B96F8 800B8AF8 3C0E1502 */ lui $t6, 0x1502 -/* 0B96FC 800B8AFC AD8E0000 */ sw $t6, ($t4) -/* 0B9700 800B8B00 8CCF000C */ lw $t7, 0xc($a2) -/* 0B9704 800B8B04 3C088000 */ lui $t0, (0x80000040 >> 16) # lui $t0, 0x8000 -/* 0B9708 800B8B08 35080040 */ ori $t0, (0x80000040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 0B970C 800B8B0C 0207C821 */ addu $t9, $s0, $a3 -/* 0B9710 800B8B10 03235823 */ subu $t3, $t9, $v1 -/* 0B9714 800B8B14 001073C0 */ sll $t6, $s0, 0xf -/* 0B9718 800B8B18 01E8C021 */ addu $t8, $t7, $t0 -/* 0B971C 800B8B1C 256F0008 */ addiu $t7, $t3, 8 -/* 0B9720 800B8B20 01CF001A */ div $zero, $t6, $t7 -/* 0B9724 800B8B24 AD980004 */ sw $t8, 4($t4) -/* 0B9728 800B8B28 24840008 */ addiu $a0, $a0, 8 -/* 0B972C 800B8B2C 00006812 */ mflo $t5 -/* 0B9730 800B8B30 00805025 */ move $t2, $a0 -/* 0B9734 800B8B34 31B8FFFF */ andi $t8, $t5, 0xffff -/* 0B9738 800B8B38 3C190800 */ lui $t9, (0x08000208 >> 16) # lui $t9, 0x800 -/* 0B973C 800B8B3C 37390208 */ ori $t9, (0x08000208 & 0xFFFF) # ori $t9, $t9, 0x208 -/* 0B9740 800B8B40 24840008 */ addiu $a0, $a0, 8 -/* 0B9744 800B8B44 3162FFFF */ andi $v0, $t3, 0xffff -/* 0B9748 800B8B48 AD420004 */ sw $v0, 4($t2) -/* 0B974C 800B8B4C AD590000 */ sw $t9, ($t2) -/* 0B9750 800B8B50 00806025 */ move $t4, $a0 -/* 0B9754 800B8B54 03006825 */ move $t5, $t8 -/* 0B9758 800B8B58 00E02825 */ move $a1, $a3 -/* 0B975C 800B8B5C 15E00002 */ bnez $t7, .L800B8B68 -/* 0B9760 800B8B60 00000000 */ nop -/* 0B9764 800B8B64 0007000D */ break 7 -.L800B8B68: -/* 0B9768 800B8B68 2401FFFF */ li $at, -1 -/* 0B976C 800B8B6C 15E10004 */ bne $t7, $at, .L800B8B80 -/* 0B9770 800B8B70 3C018000 */ lui $at, 0x8000 -/* 0B9774 800B8B74 15C10002 */ bne $t6, $at, .L800B8B80 -/* 0B9778 800B8B78 00000000 */ nop -/* 0B977C 800B8B7C 0006000D */ break 6 -.L800B8B80: -/* 0B9780 800B8B80 3C010500 */ lui $at, 0x500 -/* 0B9784 800B8B84 330EFFFF */ andi $t6, $t8, 0xffff -/* 0B9788 800B8B88 01C17825 */ or $t7, $t6, $at -/* 0B978C 800B8B8C AD8F0000 */ sw $t7, ($t4) -/* 0B9790 800B8B90 8CD8000C */ lw $t8, 0xc($a2) -/* 0B9794 800B8B94 24840008 */ addiu $a0, $a0, 8 -/* 0B9798 800B8B98 0308C821 */ addu $t9, $t8, $t0 -/* 0B979C 800B8B9C 10000038 */ b .L800B8C80 -/* 0B97A0 800B8BA0 AD990004 */ sw $t9, 4($t4) -.L800B8BA4: -/* 0B97A4 800B8BA4 14E00014 */ bnez $a3, .L800B8BF8 -/* 0B97A8 800B8BA8 00E02825 */ move $a1, $a3 -/* 0B97AC 800B8BAC 02037823 */ subu $t7, $s0, $v1 -/* 0B97B0 800B8BB0 25F8FFFC */ addiu $t8, $t7, -4 -/* 0B97B4 800B8BB4 001073C0 */ sll $t6, $s0, 0xf -/* 0B97B8 800B8BB8 01D8001A */ div $zero, $t6, $t8 -/* 0B97BC 800B8BBC 00005012 */ mflo $t2 -/* 0B97C0 800B8BC0 3159FFFF */ andi $t9, $t2, 0xffff -/* 0B97C4 800B8BC4 17000002 */ bnez $t8, .L800B8BD0 -/* 0B97C8 800B8BC8 00000000 */ nop -/* 0B97CC 800B8BCC 0007000D */ break 7 -.L800B8BD0: -/* 0B97D0 800B8BD0 2401FFFF */ li $at, -1 -/* 0B97D4 800B8BD4 17010004 */ bne $t8, $at, .L800B8BE8 -/* 0B97D8 800B8BD8 3C018000 */ lui $at, 0x8000 -/* 0B97DC 800B8BDC 15C10002 */ bne $t6, $at, .L800B8BE8 -/* 0B97E0 800B8BE0 00000000 */ nop -/* 0B97E4 800B8BE4 0006000D */ break 6 -.L800B8BE8: -/* 0B97E8 800B8BE8 02057821 */ addu $t7, $s0, $a1 -/* 0B97EC 800B8BEC 01E35823 */ subu $t3, $t7, $v1 -/* 0B97F0 800B8BF0 10000011 */ b .L800B8C38 -/* 0B97F4 800B8BF4 03205025 */ move $t2, $t9 -.L800B8BF8: -/* 0B97F8 800B8BF8 02057021 */ addu $t6, $s0, $a1 -/* 0B97FC 800B8BFC 01C35823 */ subu $t3, $t6, $v1 -/* 0B9800 800B8C00 0010C3C0 */ sll $t8, $s0, 0xf -/* 0B9804 800B8C04 030B001A */ div $zero, $t8, $t3 -/* 0B9808 800B8C08 00005012 */ mflo $t2 -/* 0B980C 800B8C0C 3159FFFF */ andi $t9, $t2, 0xffff -/* 0B9810 800B8C10 03205025 */ move $t2, $t9 -/* 0B9814 800B8C14 15600002 */ bnez $t3, .L800B8C20 -/* 0B9818 800B8C18 00000000 */ nop -/* 0B981C 800B8C1C 0007000D */ break 7 -.L800B8C20: -/* 0B9820 800B8C20 2401FFFF */ li $at, -1 -/* 0B9824 800B8C24 15610004 */ bne $t3, $at, .L800B8C38 -/* 0B9828 800B8C28 3C018000 */ lui $at, 0x8000 -/* 0B982C 800B8C2C 17010002 */ bne $t8, $at, .L800B8C38 -/* 0B9830 800B8C30 00000000 */ nop -/* 0B9834 800B8C34 0006000D */ break 6 -.L800B8C38: -/* 0B9838 800B8C38 00806025 */ move $t4, $a0 -/* 0B983C 800B8C3C 3C0F0800 */ lui $t7, (0x08000200 >> 16) # lui $t7, 0x800 -/* 0B9840 800B8C40 35EF0200 */ ori $t7, (0x08000200 & 0xFFFF) # ori $t7, $t7, 0x200 -/* 0B9844 800B8C44 24840008 */ addiu $a0, $a0, 8 -/* 0B9848 800B8C48 3162FFFF */ andi $v0, $t3, 0xffff -/* 0B984C 800B8C4C 314EFFFF */ andi $t6, $t2, 0xffff -/* 0B9850 800B8C50 3C010500 */ lui $at, 0x500 -/* 0B9854 800B8C54 AD820004 */ sw $v0, 4($t4) -/* 0B9858 800B8C58 AD8F0000 */ sw $t7, ($t4) -/* 0B985C 800B8C5C 01C1C025 */ or $t8, $t6, $at -/* 0B9860 800B8C60 00806825 */ move $t5, $a0 -/* 0B9864 800B8C64 ADB80000 */ sw $t8, ($t5) -/* 0B9868 800B8C68 8CD9000C */ lw $t9, 0xc($a2) -/* 0B986C 800B8C6C 3C088000 */ lui $t0, (0x80000040 >> 16) # $t0, 0x8000 -/* 0B9870 800B8C70 35080040 */ ori $t0, (0x80000040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 0B9874 800B8C74 03287821 */ addu $t7, $t9, $t0 -/* 0B9878 800B8C78 ADAF0004 */ sw $t7, 4($t5) -/* 0B987C 800B8C7C 24840008 */ addiu $a0, $a0, 8 -.L800B8C80: -/* 0B9880 800B8C80 10600018 */ beqz $v1, .L800B8CE4 -/* 0B9884 800B8C84 3C0E0A00 */ lui $t6, 0xa00 -/* 0B9888 800B8C88 00037103 */ sra $t6, $v1, 4 -/* 0B988C 800B8C8C 31D800FF */ andi $t8, $t6, 0xff -/* 0B9890 800B8C90 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B9894 800B8C94 3C011400 */ lui $at, 0x1400 -/* 0B9898 800B8C98 03217825 */ or $t7, $t9, $at -/* 0B989C 800B8C9C 35EE0200 */ ori $t6, $t7, 0x200 -/* 0B98A0 800B8CA0 00804025 */ move $t0, $a0 -/* 0B98A4 800B8CA4 AD0E0000 */ sw $t6, ($t0) -/* 0B98A8 800B8CA8 8CD8000C */ lw $t8, 0xc($a2) -/* 0B98AC 800B8CAC 3C018000 */ lui $at, (0x80000060 >> 16) # lui $at, 0x8000 -/* 0B98B0 800B8CB0 34210060 */ ori $at, (0x80000060 & 0xFFFF) # ori $at, $at, 0x60 -/* 0B98B4 800B8CB4 0301C821 */ addu $t9, $t8, $at -/* 0B98B8 800B8CB8 AD190004 */ sw $t9, 4($t0) -/* 0B98BC 800B8CBC 24840008 */ addiu $a0, $a0, 8 -/* 0B98C0 800B8CC0 00805025 */ move $t2, $a0 -/* 0B98C4 800B8CC4 24780200 */ addiu $t8, $v1, 0x200 -/* 0B98C8 800B8CC8 3C0F0A00 */ lui $t7, 0xa00 -/* 0B98CC 800B8CCC AD4F0000 */ sw $t7, ($t2) -/* 0B98D0 800B8CD0 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B98D4 800B8CD4 03227825 */ or $t7, $t9, $v0 -/* 0B98D8 800B8CD8 AD4F0004 */ sw $t7, 4($t2) -/* 0B98DC 800B8CDC 1000001B */ b .L800B8D4C -/* 0B98E0 800B8CE0 24840008 */ addiu $a0, $a0, 8 -.L800B8CE4: -/* 0B98E4 800B8CE4 00801825 */ move $v1, $a0 -/* 0B98E8 800B8CE8 3C010200 */ lui $at, 0x200 -/* 0B98EC 800B8CEC 0041C025 */ or $t8, $v0, $at -/* 0B98F0 800B8CF0 AC780004 */ sw $t8, 4($v1) -/* 0B98F4 800B8CF4 AC6E0000 */ sw $t6, ($v1) -/* 0B98F8 800B8CF8 10000014 */ b .L800B8D4C -/* 0B98FC 800B8CFC 24840008 */ addiu $a0, $a0, 8 -.L800B8D00: -/* 0B9900 800B8D00 00801825 */ move $v1, $a0 -/* 0B9904 800B8D04 3C020A00 */ lui $v0, (0x0A000200 >> 16) -/* 0B9908 800B8D08 24840008 */ addiu $a0, $a0, 8 -/* 0B990C 800B8D0C 34420200 */ ori $v0, (0x0A000200 & 0xFFFF) # ori $v0, $v0, 0x200 -/* 0B9910 800B8D10 3208FFFF */ andi $t0, $s0, 0xffff -/* 0B9914 800B8D14 00805025 */ move $t2, $a0 -/* 0B9918 800B8D18 AC680004 */ sw $t0, 4($v1) -/* 0B991C 800B8D1C AC620000 */ sw $v0, ($v1) -/* 0B9920 800B8D20 3C190A00 */ lui $t9, 0xa00 -/* 0B9924 800B8D24 AD590000 */ sw $t9, ($t2) -/* 0B9928 800B8D28 24840008 */ addiu $a0, $a0, 8 -/* 0B992C 800B8D2C 0308C825 */ or $t9, $t8, $t0 -/* 0B9930 800B8D30 00805825 */ move $t3, $a0 -/* 0B9934 800B8D34 AD590004 */ sw $t9, 4($t2) -/* 0B9938 800B8D38 3C0F0200 */ lui $t7, (0x02000200 >> 16) # lui $t7, 0x200 -/* 0B993C 800B8D3C 35EF0200 */ ori $t7, (0x02000200 & 0xFFFF) # ori $t7, $t7, 0x200 -/* 0B9940 800B8D40 AD6F0000 */ sw $t7, ($t3) -/* 0B9944 800B8D44 AD670004 */ sw $a3, 4($t3) -/* 0B9948 800B8D48 24840008 */ addiu $a0, $a0, 8 -.L800B8D4C: -/* 0B994C 800B8D4C 10E00010 */ beqz $a3, .L800B8D90 -/* 0B9950 800B8D50 00801025 */ move $v0, $a0 -/* 0B9954 800B8D54 00057103 */ sra $t6, $a1, 4 -/* 0B9958 800B8D58 31D800FF */ andi $t8, $t6, 0xff -/* 0B995C 800B8D5C 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B9960 800B8D60 260E0200 */ addiu $t6, $s0, 0x200 -/* 0B9964 800B8D64 3C011500 */ lui $at, 0x1500 -/* 0B9968 800B8D68 03217825 */ or $t7, $t9, $at -/* 0B996C 800B8D6C 31D8FFFF */ andi $t8, $t6, 0xffff -/* 0B9970 800B8D70 01F8C825 */ or $t9, $t7, $t8 -/* 0B9974 800B8D74 AC590000 */ sw $t9, ($v0) -/* 0B9978 800B8D78 8CCE000C */ lw $t6, 0xc($a2) -/* 0B997C 800B8D7C 3C018000 */ lui $at, (0x80000060 >> 16) # lui $at, 0x8000 -/* 0B9980 800B8D80 34210060 */ ori $at, (0x80000060 & 0xFFFF) # ori $at, $at, 0x60 -/* 0B9984 800B8D84 01C17821 */ addu $t7, $t6, $at -/* 0B9988 800B8D88 AC4F0004 */ sw $t7, 4($v0) -/* 0B998C 800B8D8C 24840008 */ addiu $a0, $a0, 8 -.L800B8D90: -/* 0B9990 800B8D90 2618001F */ addiu $t8, $s0, 0x1f -/* 0B9994 800B8D94 3319FFE0 */ andi $t9, $t8, 0xffe0 -/* 0B9998 800B8D98 00197103 */ sra $t6, $t9, 4 -/* 0B999C 800B8D9C 31CF00FF */ andi $t7, $t6, 0xff -/* 0B99A0 800B8DA0 000FC400 */ sll $t8, $t7, 0x10 -/* 0B99A4 800B8DA4 3C010C00 */ lui $at, 0xc00 -/* 0B99A8 800B8DA8 0301C825 */ or $t9, $t8, $at -/* 0B99AC 800B8DAC 3C010200 */ lui $at, 0x200 -/* 0B99B0 800B8DB0 312FFFFF */ andi $t7, $t1, 0xffff -/* 0B99B4 800B8DB4 01E1C025 */ or $t8, $t7, $at -/* 0B99B8 800B8DB8 372E7FFF */ ori $t6, $t9, 0x7fff -/* 0B99BC 800B8DBC AC8E0000 */ sw $t6, ($a0) -/* 0B99C0 800B8DC0 AC980004 */ sw $t8, 4($a0) -/* 0B99C4 800B8DC4 24820008 */ addiu $v0, $a0, 8 -.L800B8DC8: -/* 0B99C8 800B8DC8 8FB00004 */ lw $s0, 4($sp) -/* 0B99CC 800B8DCC 03E00008 */ jr $ra -/* 0B99D0 800B8DD0 27BD0008 */ addiu $sp, $sp, 8 - -/* 0B99D4 800B8DD4 00000000 */ nop -/* 0B99D8 800B8DD8 00000000 */ nop -/* 0B99DC 800B8DDC 00000000 */ nop diff --git a/asm/non_matchings/audio/wip.s b/asm/non_matchings/audio/wip.s deleted file mode 100644 index f502b858b..000000000 --- a/asm/non_matchings/audio/wip.s +++ /dev/null @@ -1,79 +0,0 @@ -glabel synthesis_load_reverb_ring_buffer -/* 0B7A84 800B6E84 00074103 */ sra $t0, $a3, 4 -/* 0B7A88 800B6E88 AFA50004 */ sw $a1, 4($sp) -/* 0B7A8C 800B6E8C 00A07025 */ move $t6, $a1 -/* 0B7A90 800B6E90 311800FF */ andi $t8, $t0, 0xff -/* 0B7A94 800B6E94 01C02825 */ move $a1, $t6 -/* 0B7A98 800B6E98 AFA60008 */ sw $a2, 8($sp) -/* 0B7A9C 800B6E9C 30CFFFFF */ andi $t7, $a2, 0xffff -/* 0B7AA0 800B6EA0 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B7AA4 800B6EA4 3C011400 */ lui $at, 0x1400 -/* 0B7AA8 800B6EA8 01E03025 */ move $a2, $t7 -/* 0B7AAC 800B6EAC 03214025 */ or $t0, $t9, $at -/* 0B7AB0 800B6EB0 31CEFFFF */ andi $t6, $t6, 0xffff -/* 0B7AB4 800B6EB4 010E7825 */ or $t7, $t0, $t6 -/* 0B7AB8 800B6EB8 AC8F0000 */ sw $t7, ($a0) -/* 0B7ABC 800B6EBC 8FB80010 */ lw $t8, 0x10($sp) -/* 0B7AC0 800B6EC0 3C0D803B */ lui $t5, %hi(gSynthesisReverbs) # $t5, 0x803b -/* 0B7AC4 800B6EC4 25ADF790 */ addiu $t5, %lo(gSynthesisReverbs) # addiu $t5, $t5, -0x870 -/* 0B7AC8 800B6EC8 0018C940 */ sll $t9, $t8, 5 -/* 0B7ACC 800B6ECC 0338C821 */ addu $t9, $t9, $t8 -/* 0B7AD0 800B6ED0 0019C8C0 */ sll $t9, $t9, 3 -/* 0B7AD4 800B6ED4 032D4821 */ addu $t1, $t9, $t5 -/* 0B7AD8 800B6ED8 8D2E0018 */ lw $t6, 0x18($t1) -/* 0B7ADC 800B6EDC 00065040 */ sll $t2, $a2, 1 -/* 0B7AE0 800B6EE0 3C0C8000 */ lui $t4, 0x8000 -/* 0B7AE4 800B6EE4 24B90180 */ addiu $t9, $a1, 0x180 -/* 0B7AE8 800B6EE8 01CA7821 */ addu $t7, $t6, $t2 -/* 0B7AEC 800B6EEC 01ECC021 */ addu $t8, $t7, $t4 -/* 0B7AF0 800B6EF0 332DFFFF */ andi $t5, $t9, 0xffff -/* 0B7AF4 800B6EF4 AC980004 */ sw $t8, 4($a0) -/* 0B7AF8 800B6EF8 248B0008 */ addiu $t3, $a0, 8 -/* 0B7AFC 800B6EFC 010D7025 */ or $t6, $t0, $t5 -/* 0B7B00 800B6F00 AD6E0000 */ sw $t6, ($t3) -/* 0B7B04 800B6F04 8D2F001C */ lw $t7, 0x1c($t1) -/* 0B7B08 800B6F08 25620008 */ addiu $v0, $t3, 8 -/* 0B7B0C 800B6F0C 01EAC021 */ addu $t8, $t7, $t2 -/* 0B7B10 800B6F10 030CC821 */ addu $t9, $t8, $t4 -/* 0B7B14 800B6F14 03E00008 */ jr $ra -/* 0B7B18 800B6F18 AD790004 */ sw $t9, 4($t3) - -glabel func_800B6F1C -/* 0B7B1C 800B6F1C 00074103 */ sra $t0, $a3, 4 -/* 0B7B20 800B6F20 AFA50004 */ sw $a1, 4($sp) -/* 0B7B24 800B6F24 00A07025 */ move $t6, $a1 -/* 0B7B28 800B6F28 311800FF */ andi $t8, $t0, 0xff -/* 0B7B2C 800B6F2C 01C02825 */ move $a1, $t6 -/* 0B7B30 800B6F30 AFA60008 */ sw $a2, 8($sp) -/* 0B7B34 800B6F34 30CFFFFF */ andi $t7, $a2, 0xffff -/* 0B7B38 800B6F38 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B7B3C 800B6F3C 3C011500 */ lui $at, 0x1500 -/* 0B7B40 800B6F40 01E03025 */ move $a2, $t7 -/* 0B7B44 800B6F44 03214025 */ or $t0, $t9, $at -/* 0B7B48 800B6F48 31CEFFFF */ andi $t6, $t6, 0xffff -/* 0B7B4C 800B6F4C 010E7825 */ or $t7, $t0, $t6 -/* 0B7B50 800B6F50 AC8F0000 */ sw $t7, ($a0) -/* 0B7B54 800B6F54 8FB80010 */ lw $t8, 0x10($sp) -/* 0B7B58 800B6F58 3C0D803B */ lui $t5, %hi(gSynthesisReverbs) # $t5, 0x803b -/* 0B7B5C 800B6F5C 25ADF790 */ addiu $t5, %lo(gSynthesisReverbs) # addiu $t5, $t5, -0x870 -/* 0B7B60 800B6F60 0018C940 */ sll $t9, $t8, 5 -/* 0B7B64 800B6F64 0338C821 */ addu $t9, $t9, $t8 -/* 0B7B68 800B6F68 0019C8C0 */ sll $t9, $t9, 3 -/* 0B7B6C 800B6F6C 032D4821 */ addu $t1, $t9, $t5 -/* 0B7B70 800B6F70 8D2E0018 */ lw $t6, 0x18($t1) -/* 0B7B74 800B6F74 00065040 */ sll $t2, $a2, 1 -/* 0B7B78 800B6F78 3C0C8000 */ lui $t4, 0x8000 -/* 0B7B7C 800B6F7C 24B90180 */ addiu $t9, $a1, 0x180 -/* 0B7B80 800B6F80 01CA7821 */ addu $t7, $t6, $t2 -/* 0B7B84 800B6F84 01ECC021 */ addu $t8, $t7, $t4 -/* 0B7B88 800B6F88 332DFFFF */ andi $t5, $t9, 0xffff -/* 0B7B8C 800B6F8C AC980004 */ sw $t8, 4($a0) -/* 0B7B90 800B6F90 248B0008 */ addiu $t3, $a0, 8 -/* 0B7B94 800B6F94 010D7025 */ or $t6, $t0, $t5 -/* 0B7B98 800B6F98 AD6E0000 */ sw $t6, ($t3) -/* 0B7B9C 800B6F9C 8D2F001C */ lw $t7, 0x1c($t1) -/* 0B7BA0 800B6FA0 25620008 */ addiu $v0, $t3, 8 -/* 0B7BA4 800B6FA4 01EAC021 */ addu $t8, $t7, $t2 -/* 0B7BA8 800B6FA8 030CC821 */ addu $t9, $t8, $t4 -/* 0B7BAC 800B6FAC 03E00008 */ jr $ra -/* 0B7BB0 800B6FB0 AD790004 */ sw $t9, 4($t3) diff --git a/m2ctx.py b/m2ctx.py deleted file mode 100644 index f45c630d3..000000000 --- a/m2ctx.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python3 - -import argparse -import os -import sys -import subprocess -from pathlib import Path - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = os.path.abspath(os.path.join(script_dir, "")) -print(root_dir) -src_dir = root_dir + "src/" - -# Project-specific -CPP_FLAGS = [ - "-Iinclude", - "-Isrc", - "-D_LANGUAGE_C", - "-DF3DEX_GBI", - "-D_MIPS_SZLONG=32", - "-DSCRIPT(...)={}" - "-D__attribute__(...)=", - "-D__asm__(...)=", - "-ffreestanding", -] - -def import_c_file(in_file) -> str: - in_file = os.path.relpath(in_file, root_dir) - cpp_command = ["gcc", "-E", "-P", "-dM", *CPP_FLAGS, in_file] - cpp_command2 = ["gcc", "-E", "-P", *CPP_FLAGS, in_file] - - out_text = "" - try: - out_text += subprocess.check_output(cpp_command, cwd=root_dir, encoding="utf-8") - out_text += subprocess.check_output(cpp_command2, cwd=root_dir, encoding="utf-8") - except subprocess.CalledProcessError: - print( - "Failed to preprocess input file, when running command:\n" - + cpp_command, - file=sys.stderr, - ) - sys.exit(1) - - if not out_text: - print("Output is empty - aborting") - sys.exit(1) - return out_text - -def main(): - parser = argparse.ArgumentParser( - description="""Create a context file which can be used for mips_to_c""" - ) - parser.add_argument( - "c_file", - help="""File from which to create context""", - ) - args = parser.parse_args() - - output = import_c_file(args.c_file) - - with open(os.path.join(root_dir, "ctx.c"), "w", encoding="UTF-8") as f: - f.write(output) - - -if __name__ == "__main__": - main() - diff --git a/mk64.ld b/mk64.ld index a8400bc5b..a815c7058 100644 --- a/mk64.ld +++ b/mk64.ld @@ -88,14 +88,14 @@ SECTIONS BUILD_DIR/src/code_8008C1D0.o(.text); BUILD_DIR/src/code_80091750.o(.text); BUILD_DIR/src/code_800AF9B0.o(.text); - BUILD_DIR/src/synthesis.o(.text); - BUILD_DIR/asm/audio/heap.o(.text); - BUILD_DIR/asm/audio/load.o(.text); - BUILD_DIR/asm/audio/playback.o(.text); - BUILD_DIR/asm/audio/effects.o(.text); - BUILD_DIR/asm/audio/seqplayer.o(.text); - BUILD_DIR/asm/audio/external.o(.text); - BUILD_DIR/asm/audio/port_eu.o(.text); + BUILD_DIR/src/audio/synthesis.o(.text); + BUILD_DIR/src/audio/heap.o(.text); + BUILD_DIR/src/audio/load.o(.text); + BUILD_DIR/src/audio/playback.o(.text); + BUILD_DIR/src/audio/effects.o(.text); + BUILD_DIR/src/audio/seqplayer.o(.text); + BUILD_DIR/src/audio/external.o(.text); + BUILD_DIR/src/audio/port_eu.o(.text); BUILD_DIR/src/os/osCreateThread.o(.text); BUILD_DIR/src/os/osInitialize.o(.text); @@ -331,7 +331,7 @@ SECTIONS . = SEG_AUDIO; BEGIN_NOLOAD(audio) { - BUILD_DIR/src/synthesis.o(.bss*); + BUILD_DIR/src/audio/synthesis.o(.bss*); } END_NOLOAD(audio) diff --git a/src/audio/effects.c b/src/audio/effects.c new file mode 100644 index 000000000..230180a2d --- /dev/null +++ b/src/audio/effects.c @@ -0,0 +1,327 @@ +#include +#include + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800BDE50(void *arg0, s32 arg1) { + f32 temp_f0; + s32 temp_a2; + u32 temp_v0_2; + void *temp_v0; + void *temp_v1; + f32 phi_f0; + void *phi_a3; + s32 phi_a2; + + phi_a3 = arg0; + phi_a2 = 0; + if (((arg0->unk0 << 9) < 0) || (arg1 != 0)) { + temp_v0 = arg0->unk44; + temp_f0 = arg0->unk24 * arg0->unk20 * temp_v0->unk2C; + phi_f0 = temp_f0; + if (((temp_v0->unk0 * 4) < 0) && ((arg0->unk3 & 0x20) != 0)) { + phi_f0 = temp_v0->unk24 * temp_f0; + } + arg0->unk2C = phi_f0 * phi_f0; + } + if (arg0->unk0 & 0x200000) { + arg0->unk28 = arg0->unk9 * arg0->unkA; + } + do { + temp_v1 = phi_a3->unk48; + temp_a2 = phi_a2 + 4; + phi_a2 = temp_a2; + if (temp_v1 != 0) { + temp_v0_2 = temp_v1->unk0; + if (((temp_v0_2 >> 0x1F) != 0) && (temp_v1->unk40 != 0)) { + if (temp_v0_2 & 0x4000000) { + temp_v1->unk30 = temp_v1->unk24 * arg0->unk30; + temp_v1->unk2C = temp_v1->unk28 * arg0->unk2C; + temp_v1->unk0 = temp_v1->unk0 & 0xFFFB; + temp_v1->unk6 = (arg0->unk28 + (temp_v1->unk5 * (0x80 - arg0->unkA))) >> 7; + } else { + if (arg0->unk1 < 0) { + temp_v1->unk30 = temp_v1->unk24 * arg0->unk30; + } + if (((arg0->unk0 << 9) < 0) || (arg1 != 0)) { + temp_v1->unk2C = temp_v1->unk28 * arg0->unk2C; + } + if (arg0->unk0 & 0x200000) { + temp_v1->unk6 = (arg0->unk28 + (temp_v1->unk5 * (0x80 - arg0->unkA))) >> 7; + } + } + } + } + phi_a3 += 4; + } while (temp_a2 != 0x10); + arg0->unk1 = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BDE50.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BDE50(s32, u32); // extern +? func_800BEF2C(void *); // extern +extern ? D_803B5EF0; + +void func_800BDFF8(void *arg0) { + s32 temp_a0; + s32 temp_s0; + u16 temp_t1; + void *phi_s1; + s32 phi_s0; + + if (arg0->unk10 != 0) { + arg0->unk18 = arg0->unk18 + arg0->unk1C; + arg0->unk0 = arg0->unk0 | 4; + if (arg0->unk18 > 1.0f) { + arg0->unk18 = 1.0f; + } + if (arg0->unk18 < 0.0f) { + arg0->unk18 = 0.0f; + } + temp_t1 = arg0->unk10 - 1; + arg0->unk10 = temp_t1; + if (((temp_t1 & 0xFFFF) == 0) && (arg0->unk1 == 2)) { + func_800BEF2C(arg0); + return; + } + goto block_8; + } +block_8: + phi_s1 = arg0; + phi_s0 = 0; + if (arg0->unk0 & 0x4000000) { + arg0->unk2C = arg0->unk18 * arg0->unk28; + } + do { + temp_a0 = phi_s1->unk30; + if (((&D_803B5EF0 != temp_a0) == 1) && ((*temp_a0 >> 0x1F) == 1)) { + func_800BDE50(temp_a0, (arg0->unk0 << 5) >> 0x1F); + } + temp_s0 = phi_s0 + 4; + phi_s1 += 4; + phi_s0 = temp_s0; + } while (temp_s0 != 0x40); + arg0->unk0 = arg0->unk0 & 0xFFFB; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BDFF8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? gPitchBendFrequencyScale; + +f32 func_800BE158(void *arg0) { + u32 temp_v0; + u32 phi_v0; + + arg0->unk4 = arg0->unk4 + arg0->unk8; + temp_v0 = arg0->unk4; + phi_v0 = temp_v0; + if (temp_v0 >= 0x80) { + phi_v0 = 0x7F; + } + return ((*(&gPitchBendFrequencyScale + 0x200 + (phi_v0 * 4)) - 1.0f) * arg0->unkC) + 1.0f; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BE158.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s16 func_800BE22C(void *arg0) { + s32 temp_t3; + u32 temp_t9; + + temp_t9 = arg0->unk4 + arg0->unk10; + temp_t3 = ((temp_t9 >> 0xA) & 0x3F) * 2; + arg0->unk4 = temp_t9; + return *(arg0->unk8 + temp_t3) >> 8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BE22C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800BE22C(u16); // extern +extern ? gPitchBendFrequencyScale; + +f32 func_800BE270(void *arg0, u16 arg1) { + f32 temp_f0; + f32 temp_f0_2; + u16 temp_v0; + u16 temp_v0_2; + u16 temp_v0_3; + u16 temp_v0_4; + u16 temp_v0_5; + void *temp_v1; + u16 phi_a1; + + temp_v0 = arg0->unk1A; + phi_a1 = arg1; + if (temp_v0 != 0) { + arg0->unk1A = temp_v0 - 1; + return 1.0f; + } + temp_v0_2 = arg0->unk18; + if (temp_v0_2 != 0) { + if (temp_v0_2 == 1) { + arg0->unkC = arg0->unk0->unk12; + } else { + temp_f0 = arg0->unkC; + arg0->unkC = temp_f0 + ((arg0->unk0->unk12 - temp_f0) / temp_v0_2); + } + arg0->unk18 = arg0->unk18 - 1; + } else { + temp_v1 = arg0->unk0; + if (arg0->unkC != temp_v1->unk12) { + temp_v0_3 = temp_v1->unk16; + arg0->unk18 = temp_v0_3; + if (temp_v0_3 == 0) { + arg0->unkC = temp_v1->unk12; + } + } + } + temp_v0_4 = arg0->unk16; + if (temp_v0_4 != 0) { + phi_a1 = temp_v0_4; + if (temp_v0_4 == 1) { + arg0->unk10 = arg0->unk0->unk10; + } else { + temp_f0_2 = arg0->unk10; + arg0->unk10 = temp_f0_2 + ((arg0->unk0->unk10 - temp_f0_2) / temp_v0_4); + } + arg0->unk16 = arg0->unk16 - 1; + } else if (arg0->unk10 != arg0->unk0->unk10) { + temp_v0_5 = arg0->unk0->unk14; + arg0->unk16 = temp_v0_5; + if (temp_v0_5 == 0) { + arg0->unk10 = arg0->unk0->unk10; + } + } + if (arg0->unkC == 0.0f) { + return 1.0f; + } + return ((*(&gPitchBendFrequencyScale + 0x200 + (func_800BE22C(phi_a1) * 4)) - 1.0f) * (arg0->unkC * 0.00024414062f)) + 1.0f; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BE270.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +f32 func_800BE158(void *, void *); // extern +f32 func_800BE270(void *, void *); // extern + +void func_800BE468(void *arg0) { + void *temp_a0; + void *temp_a1; + void *phi_a1; + + temp_a1 = arg0; + temp_a0 = arg0 + 0x7C; + phi_a1 = temp_a1; + if (arg0->unk7C != 0) { + arg0 = temp_a1; + arg0->unk38 = func_800BE158(temp_a0, temp_a1); + phi_a1 = arg0; + } + if ((phi_a1->unkA0 != 0) && (phi_a1->unk44 != -1)) { + arg0 = phi_a1; + arg0->unk3C = func_800BE270(phi_a1 + 0x8C, phi_a1); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BE468.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? gWaveSamples; + +void func_800BE4D4(void *arg0) { + u16 temp_v0; + u16 temp_v0_2; + void *temp_a1; + void *temp_a1_2; + void *temp_t6; + void *temp_t9; + void *temp_v0_3; + void *temp_v1; + void *temp_v1_2; + void *phi_a1; + void *phi_v1; + + arg0->unkA0 = 1; + arg0->unk90 = 0; + arg0->unk3C = 1.0f; + arg0->unk38 = 1.0f; + temp_v1 = arg0 + 0x8C; + arg0->unk94 = *(&gWaveSamples + 8); + temp_t9 = arg0->unk44->unk4C; + arg0->unk8C = temp_t9; + temp_v0 = temp_t9->unk16; + arg0->unkA4 = temp_v0; + phi_v1 = temp_v1; + if (temp_v0 == 0) { + temp_v1_2 = arg0 + 0x8C; + temp_a1 = temp_v1_2->unk0; + temp_v1_2->unkC = temp_a1->unk12; + phi_a1 = temp_a1; + phi_v1 = temp_v1_2; + } else { + temp_a1_2 = temp_v1->unk0; + temp_v1->unkC = temp_a1_2->unkE; + phi_a1 = temp_a1_2; + } + temp_v0_2 = phi_a1->unk14; + phi_v1->unk16 = temp_v0_2; + if (temp_v0_2 == 0) { + phi_v1->unk10 = phi_a1->unk10; + } else { + phi_v1->unk10 = phi_a1->unkC; + } + temp_v0_3 = arg0 + 0x30; + phi_v1->unk1A = phi_a1->unk18; + temp_t6 = temp_v0_3->unk14; + temp_v0_3->unk4C = temp_t6->unk8; + temp_v0_3->unk50 = temp_t6->unkC; + temp_v0_3->unk54 = temp_t6->unk10; + temp_v0_3->unk58 = temp_t6->unk14; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BE4D4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800BE5BC(void *arg0, s32 arg1, ? arg2) { + arg0->unk0 = 0; + arg0->unk1 = 0; + arg0->unk4 = 0; + arg0->unk20 = arg1; + arg0->unk8 = 0.0f; + arg0->unk14 = 0.0f; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BE5BC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800BE5E0: + +Unable to determine jump table for jr instruction at func_800BE5E0.s line 11. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/effects/func_800BE5E0.s") +#endif diff --git a/src/audio/external.c b/src/audio/external.c new file mode 100644 index 000000000..ba08c4a6b --- /dev/null +++ b/src/audio/external.c @@ -0,0 +1,4944 @@ +#include +#include + +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C13F0.s") + + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern OSMesgQueue *D_800EA3B0; +extern OSMesgQueue *D_800EA3B4; + +void func_800C13FC(void *arg0) { + void *sp34; + + osRecvMesg(D_800EA3B4, &sp34, 0); + osSendMesg(D_800EA3B0, arg0, 0); + osRecvMesg(D_800EA3B4, &sp34, 1); + if (sp34 != arg0) { + osRecvMesg(D_800EA3B4, &sp34, 1); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C13FC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_80191420; + +f32 func_800C1480(s32 arg0, s32 arg1) { + ? sp-10; + f32 temp_f0; + f32 temp_f12; + s32 temp_v0_2; + s32 temp_v1; + void *temp_v0; + s32 phi_v0; + f32 phi_f2; + f32 phi_f2_2; + + sp-10.unk10 = arg0; + sp-10.unk14 = arg1; + temp_v0 = ((arg0 & 0xFF) * 0x3C0) + ((arg1 & 0xFF) * 0x30) + &D_80191420; + temp_v1 = temp_v0->unk24; + if (temp_v1 & 0x400000) { + return 1.0f; + } + temp_f0 = temp_v0->unk1C; + temp_v0_2 = temp_v1 & 0x30000; + if (temp_f0 > 2000.0f) { + phi_f2 = 0.0f; + } else { + if (temp_v0_2 != 0x10000) { + if (temp_v0_2 != 0x20000) { + if (temp_v0_2 != 0x30000) { + phi_v0 = 0x190; + } else { + phi_v0 = 0x3E8; + } + } else { + phi_v0 = 0x29A; + } + } else { + phi_v0 = 0x1F4; + } + temp_f12 = phi_v0; + if (temp_f0 < temp_f12) { + phi_f2_2 = (((temp_f12 - temp_f0) / temp_f12) * 0.5) + 0.5; + } else { + phi_f2_2 = (1.0 - ((temp_f0 - temp_f12) / (2000.0f - temp_f12))) * 0.5; + } + phi_f2 = phi_f2_2 * phi_f2_2; + } + return phi_f2; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1480.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern s8 D_8018EF10; +extern ? D_80191420; +extern ? D_803B17D0; +extern ? D_803B5EF0; + +s8 func_800C15D0(s32 arg0, s32 arg1, s32 arg2) { + ? sp-10; + f32 temp_f0; + s32 temp_a0_2; + void *temp_a0; + void *temp_a3; + s8 phi_v1; + s8 phi_v0; + s8 phi_v1_2; + s8 phi_a0; + + sp-10.unk10 = arg0; + sp-10.unk14 = arg1; + sp-10.unk18 = arg2; + temp_a3 = ((arg0 & 0xFF) * 0x3C0) + ((arg1 & 0xFF) * 0x30) + &D_80191420; + phi_v1 = 0; + phi_v0 = 0; + phi_v1_2 = 0; + if ((temp_a3->unk24 << 0xA) >= 0) { + temp_f0 = temp_a3->unk1C; + phi_v0 = 0xA; + if (temp_f0 < 500.0f) { + phi_v0 = (temp_f0 / 500.0f) * 10.0f; + } + } + temp_a0 = *(&D_803B17D0 + ((arg2 & 0xFF) * 4)); + if (&D_803B5EF0 != temp_a0) { + phi_v1 = temp_a0->unk5E; + } + phi_v1_2 = phi_v1; + if (phi_v1 == -1) { + + } + temp_a0_2 = *temp_a3->unk18 + phi_v0 + phi_v1_2 + D_8018EF10; + phi_a0 = temp_a0_2; + if (temp_a0_2 >= 0x80) { + phi_a0 = 0x7F; + } + return phi_a0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C15D0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern u8 D_800EA0F4; +extern u8 D_800EA1C0; +extern f32 D_800F35C0; + +s8 func_800C16E8(f32 arg0, f32 arg1, s32 arg2) { + ? sp-18; + f32 temp_f6; + f32 phi_f2; + f32 phi_f20; + f32 phi_f0; + f32 phi_f0_2; + f32 phi_f20_2; + f32 phi_f2_2; + f32 phi_f2_3; + f32 phi_f2_4; + f32 phi_f14; + f32 phi_f16; + f32 phi_f18; + + sp-18.unk10 = saved_reg_f20; + sp-18.unk1C = arg1; + sp-18.unk20 = arg2; + if (D_800EA1C0 == 0) { + if (D_800EA0F4 != 0) { + phi_f2 = 10.0f; + phi_f14 = 20.0f; + phi_f16 = 10.0f; + phi_f18 = 2.5f; + } else { + phi_f2 = 100.0f; + phi_f14 = 200.0f; + phi_f16 = 5.0f; + phi_f18 = D_800F35C0; + } + if (arg0 < 0.0f) { + phi_f20 = -arg0; + } else { + phi_f20 = arg0; + } + phi_f20_2 = phi_f20; + if (phi_f2 < phi_f20) { + phi_f20_2 = phi_f2; + } + temp_f6 = sp-18.unk1C; + if (temp_f6 < 0.0f) { + phi_f0 = -temp_f6; + } else { + phi_f0 = sp-18.unk1C; + } + phi_f0_2 = phi_f0; + if (phi_f2 < phi_f0) { + phi_f0_2 = phi_f2; + } + if ((arg0 == 0.0f) && (sp-18.unk1C == 0.0f)) { + phi_f2_2 = 0.5f; + } else if ((arg0 >= 0.0f) && (phi_f0_2 <= phi_f20_2)) { + phi_f2_2 = 1.0f - ((phi_f14 - phi_f20_2) / (phi_f16 * (phi_f14 - phi_f0_2))); + } else if ((arg0 < 0.0f) && (phi_f0_2 <= phi_f20_2)) { + phi_f2_2 = (phi_f14 - phi_f20_2) / (phi_f16 * (phi_f14 - phi_f0_2)); + } else { + phi_f2_2 = (arg0 / (phi_f18 * phi_f0_2)) + 0.5f; + } + phi_f2_3 = phi_f2_2; + if (phi_f2_2 > 1.0f) { + phi_f2_3 = 1.0f; + } + phi_f2_4 = phi_f2_3; + if (phi_f2_3 < 0.0f) { + phi_f2_4 = 0.0f; + } + return (phi_f2_4 * 127.0f) + 0.5f; + } + return (arg2 & 0xFF & 1) * 0x7F; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C16E8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_80191444; +extern s32 D_803B7194; + +f32 func_800C1934(s32 arg0, s32 arg1) { + ? sp-10; + f32 temp_f6; + s32 temp_t4; + f32 phi_f2; + f32 phi_f6; + + sp-10.unk10 = arg0; + sp-10.unk14 = arg1; + phi_f2 = 1.0f; + if (*(&D_80191444 + (((arg0 & 0xFF) * 0x3C0) + ((arg1 & 0xFF) * 0x30))) & 0x800000) { + temp_t4 = D_803B7194 & 0xF; + temp_f6 = temp_t4; + phi_f6 = temp_f6; + if (temp_t4 < 0) { + phi_f6 = temp_f6 + 4294967296.0f; + } + phi_f2 = 1.0f - (phi_f6 / 192.0f); + } + return phi_f2; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1934.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C19D0: + +Unable to determine jump table for jr instruction at func_800C19D0.s line 25. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C19D0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_8018EFD8; +extern u8 D_8018FB90; +extern u8 D_8018FB91; + +void *func_800C1C88(u8 arg0, s32 arg1, s32 arg2, s32 arg3, u8 arg4, s32 arg5) { + u8 temp_a2; + u8 temp_t7; + u8 temp_v0; + void *temp_a1; + void *temp_v1; + + temp_v0 = D_8018FB90; + temp_v1 = &D_8018EFD8 + (temp_v0 * 0x3C); + if (temp_v1->unk2A != 0xFF) { + temp_a2 = D_8018FB91; + temp_a1 = &D_8018EFD8 + ((temp_v0 & 0xFF) * 0x3C); + temp_a1->unk29 = temp_a2; + (&D_8018EFD8 + (temp_a2 * 0x3C))->unk2A = temp_v0; + temp_t7 = temp_v1->unk2A; + D_8018FB91 = temp_v0; + D_8018FB90 = temp_t7; + (&D_8018EFD8 + ((temp_t7 & 0xFF) * 0x3C))->unk29 = 0xFF; + temp_a1->unk4 = arg1 + 4; + temp_a1->unk0 = arg1; + temp_a1->unk8 = arg1 + 8; + temp_a1->unkC = arg2; + temp_a1->unk10 = arg2 + 4; + temp_a1->unk2A = 0xFF; + temp_a1->unk14 = arg2 + 8; + temp_a1->unk24 = arg3; + temp_a1->unk1C = 0.0f; + temp_a1->unk28 = arg4; + temp_a1->unk30 = arg0; + temp_a1->unk38 = arg5; + return temp_a1; + } + return NULL; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1C88.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +f32 func_800416D8(f32, f32, u16, void *); // extern +f32 func_80041724(f32, f32, u16); // extern + +void func_800C1DA4(void *arg0, void *arg1, void *arg2) { + f32 sp34; + f32 sp30; + f32 temp_f12; + f32 temp_f14; + void *temp_a3; + + temp_a3 = arg2; + temp_f12 = arg0->unk0 - *arg2->unk0; + temp_f14 = arg0->unk8 - *arg2->unk8; + sp34 = temp_f12; + arg2 = temp_a3; + sp30 = temp_f14; + arg2->unk18 = func_800416D8(temp_f12, temp_f14, arg1->unk2, temp_a3); + arg2->unk20 = func_80041724(temp_f12, temp_f14, arg1->unk2); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1DA4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800E9F34; +extern ? D_800EA06C; +extern f32 D_800F35DC; + +void func_800C1E2C(void *arg0, void *arg1, void *arg2) { + f32 sp44; + f32 sp40; + f32 sp3C; + f32 sp38; + f32 sp34; + f32 temp_f0; + f32 temp_f14; + f32 temp_f14_2; + f32 temp_f16; + f32 temp_f18; + f32 temp_f2; + f32 temp_f2_2; + f32 temp_f6; + u8 temp_v0; + void *temp_v1; + + temp_f16 = *arg2->unk0 - arg0->unk0; + temp_f18 = *arg2->unk8 - arg0->unk8; + sp44 = *arg2->unkC - arg1->unk0; + sp38 = temp_f18; + sp3C = temp_f16; + temp_f6 = *arg2->unk14 - arg1->unk8; + sp40 = temp_f6; + temp_f2 = temp_f16 + sp44; + sp34 = sqrtf((temp_f16 * temp_f16) + (temp_f18 * temp_f18)); + temp_f14 = temp_f18 + temp_f6; + temp_f14_2 = D_800F35DC; + temp_f2_2 = 1.0f / (1.0f - ((sp34 - sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14))) / arg2->unk34)); + if (temp_f14_2 < temp_f2_2) { + arg2->unk2C = temp_f2_2; + } else { + arg2->unk2C = temp_f14_2; + } + temp_f0 = *arg2->unk24; + if (temp_f0 != 0.0f) { + temp_v0 = arg2->unk30; + temp_v1 = (temp_v0 * 0x10) + &D_800EA06C; + arg2->unk2C = arg2->unk2C * ((temp_f0 / temp_v1->unk4) + temp_v1->unk0 + *(&D_800E9F34 + (temp_v0 * 4))); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1E2C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C1DA4(s32, s32, void *); // extern +? func_800C1E2C(s32, ? *, void *); // extern +extern u8 D_800EA1C0; +extern ? D_800EA1C8; +extern u8 D_800EA244; +extern f32 D_800F35E0; +extern ? D_8018EFD8; +extern u8 D_8018FB90; +extern u8 D_8018FB91; +extern ? D_8018FB98; +extern ? D_8018FBA8; +extern ? D_8018FBD8; + +void func_800C1F8C(void) { + s32 *temp_s2; + s32 temp_a0; + s32 temp_a1_2; + s32 temp_lo; + s32 temp_t0; + s32 temp_t9; + u8 temp_s1; + u8 temp_s1_2; + u8 temp_v0_2; + void *temp_a1; + void *temp_s0; + void *temp_v0; + void *temp_v1; + s32 phi_s1; + u8 phi_s1_2; + u8 phi_v0; + void *phi_a0; + s32 phi_a1; + + temp_t0 = (D_800EA1C0 + 1) & 0xFF; + phi_s1 = 0; + if (temp_t0 > 0) { + do { + temp_lo = phi_s1 * 0xC; + temp_v0 = *(&D_8018FB98 + (phi_s1 * 4)); + temp_t9 = (phi_s1 + 1) & 0xFF; + temp_v1 = &D_8018FBD8 + temp_lo; + temp_a1 = &D_8018FBA8 + temp_lo; + temp_a1->unk0 = temp_v0->unk0 - temp_v1->unk0; + temp_a1->unk8 = temp_v0->unk8 - temp_v1->unk8; + temp_v1->unk0 = temp_v0->unk0; + temp_v1->unk8 = temp_v0->unk8; + phi_s1 = temp_t9; + } while (temp_t9 < temp_t0); + } + temp_s1 = D_8018EFD8.unk2A; + phi_s1_2 = temp_s1; + phi_v0 = temp_s1; + phi_a1 = 0; + if (temp_s1 != 0xFF) { + do { + temp_s0 = &D_8018EFD8 + (phi_s1_2 * 0x3C); + if (D_800F35E0 == temp_s0->unk1C) { + phi_a0 = &D_8018EFD8 + (phi_a1 * 0x3C); + if (phi_v0 == D_8018FB91) { + D_8018FB91 = temp_s0->unk29; + } else { + (&D_8018EFD8 + (temp_s0->unk2A * 0x3C))->unk29 = temp_s0->unk29; + } + (&D_8018EFD8 + (temp_s0->unk29 * 0x3C))->unk2A = temp_s0->unk2A; + temp_v0_2 = D_8018FB90; + temp_s0->unk29 = 0xFF; + temp_s0->unk2A = temp_v0_2; + (&D_8018EFD8 + (temp_v0_2 * 0x3C))->unk29 = phi_s1_2; + D_8018FB90 = phi_s1_2; + } else { + temp_s2 = (temp_s0->unk28 * 4) + &D_8018FB98; + temp_a0 = *temp_s2; + func_800C1DA4(temp_a0, temp_a0 + 0x24, temp_s0); + if (&D_800EA1C8 != temp_s0->unkC) { + func_800C1E2C(*temp_s2, &D_8018FBA8, temp_s0); + } + temp_a1_2 = phi_s1_2 & 0xFF; + phi_a0 = &D_8018EFD8 + (temp_a1_2 * 0x3C); + phi_a1 = temp_a1_2; + } + temp_s1_2 = phi_a0->unk2A; + phi_s1_2 = temp_s1_2; + phi_v0 = temp_s1_2; + if ((temp_s1_2 != 0xFF) && (D_800EA244 < temp_s1_2)) { + D_800EA244 = temp_s1_2; + } + } while (temp_s1_2 != 0xFF); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1F8C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern f32 D_800F35E4; +extern ? D_8018EFD8; + +void *func_800C21E8(s32 arg0, s32 arg1) { + ? sp-10; + u8 temp_v0; + void *temp_a1; + u8 phi_v0; + u8 phi_v0_2; + void *phi_v1; + void *phi_v1_2; + + temp_v0 = D_8018EFD8.unk2A; + phi_v0 = temp_v0; + phi_v1 = NULL; + phi_v1_2 = NULL; + if (temp_v0 != 0xFF) { + do { + temp_a1 = &D_8018EFD8 + (phi_v0 * 0x3C); + if ((arg0 == temp_a1->unk0) && (arg1 == temp_a1->unk38) && (phi_v0_2 = 0xFF, (D_800F35E4 != temp_a1->unk1C))) { + phi_v1_2 = temp_a1 + 0x18; + } else { + phi_v0_2 = temp_a1->unk2A; + } + phi_v0 = phi_v0_2; + phi_v1 = phi_v1_2; + } while (phi_v0_2 != 0xFF); + } + return phi_v1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C21E8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_8001AAAC(s16, s16, s16); // extern +? func_800CBBE8(s32, ?, s32, s32); // extern +extern ? D_8018FC10; +extern ? D_803B1510; + +void func_800C2274(s32 arg0) { + s16 sp46; + s16 sp44; + s16 sp42; + s16 temp_a1; + s16 temp_t7; + s32 temp_a3; + s32 temp_t2; + s32 temp_v0; + u8 temp_s0; + void *temp_s1; + void *temp_v0_2; + void *temp_v0_3; + void *temp_v0_4; + s32 phi_a2; + s16 phi_s1; + s16 phi_s0; + + temp_a3 = arg0 & 0xFF; + phi_a2 = 0xF; + if ((*(&D_803B1510 + (temp_a3 * 0x148)) >> 0x1F) != 0) { + temp_v0 = D_800DC530; + if (temp_v0 != 0) { + if (temp_v0 != 1) { + if (temp_v0 != 3) { + + } else { + phi_a2 = 0xC; + if (gPlayerCountSelection1 == 3) { + phi_a2 = 0xD; + } + } + } else { + phi_a2 = 0xE; + } + } + temp_v0_2 = (&D_803B1510 + (temp_a3 * 0x148) + (phi_a2 * 4))->unk30; + temp_s0 = temp_v0_2->unk58; + if (temp_s0 != 0xFF) { + sp46 = temp_v0_2->unk59 & 3; + temp_t7 = temp_v0_2->unk5A & 0xF; + phi_s1 = temp_t7; + if (temp_t7 >= 0xA) { + phi_s1 = 9; + } + sp42 = temp_v0_2->unk5B & 7; + func_800CBBE8(((temp_a3 & 0xFF) << 0x10) | 0x6000000 | ((phi_a2 & 0xFF) << 8), -1, phi_a2, temp_a3); + sp44 = phi_s1; + } + if (temp_s0 != 1) { + if (temp_s0 != 2) { + return; + } + temp_v0_3 = &D_8018FC10 + (sp46 * 4); + temp_v0_3->unk0 = sp44; + temp_v0_3->unk2 = sp42; + // Duplicate return node #21. Try simplifying control flow for better match + return; + } + temp_v0_4 = &D_8018FC10 + (sp46 * 4); + temp_v0_4->unk0 = sp44; + temp_v0_4->unk2 = sp42; + phi_s0 = 0; + do { + temp_s1 = &D_8018FC10 + (phi_s0 * 4); + temp_a1 = temp_s1->unk0; + if (temp_a1 != 0xFF) { + func_8001AAAC(phi_s0, temp_a1, temp_s1->unk2); + temp_s1->unk0 = 0xFF; + } + temp_t2 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t2; + } while (temp_t2 < 4); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C2274.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CBBB8(?, ?); // extern +extern ? D_800E9DB4; +extern ? D_800E9DF4; +extern ? D_800E9E74; +extern ? D_800E9E84; +extern ? D_800E9E94; +extern ? D_800E9EA4; +extern ? D_800E9F24; +extern ? D_800E9F2C; +extern ? D_800E9F34; +extern ? D_800E9F54; +extern ? D_800E9F74; +extern ? D_800E9F78; +extern ? D_800E9F7C; +extern ? D_800EA06C; +extern ? D_800EA0EC; +extern s8 D_800EA0F0; +extern s8 D_800EA0F4; +extern s8 D_800EA104; +extern s8 D_800EA108; +extern ? D_800EA10C; +extern ? D_800EA130; +extern s16 D_800EA15C; +extern s16 D_800EA160; +extern s8 D_800EA164; +extern s8 D_800EA16C; +extern f32 D_800EA178; +extern f32 D_800EA17C; +extern s16 D_800EA180; +extern s16 D_800EA184; +extern f32 D_800F35E8; +extern s8 D_8018EF10; +extern ? D_8018EF18; +extern ? D_8018EFD8; +extern s8 D_8018FB90; +extern s8 D_8018FB91; +extern ? D_8018FB98; +extern ? D_8018FBA8; +extern ? D_8018FBD8; +extern s8 D_8018FC08; +extern ? D_8018FC10; +extern ? gPlayers; + +void func_800C2474(void) { + s32 temp_lo; + s32 temp_t6; + s32 temp_t6_2; + s32 temp_t6_3; + s32 temp_t8; + s32 temp_v1; + s32 temp_v1_2; + void *temp_a0; + void *temp_a0_2; + void *temp_a0_3; + void *temp_a0_4; + void *temp_a1; + void *temp_a2; + void *temp_v1_3; + s32 phi_v0; + s32 phi_v0_2; + s32 phi_v0_3; + s32 phi_v1; + s32 phi_v0_4; + + D_8018EF10 = 0; + D_8018FB98.unk0 = D_800DDB40; + D_8018FB98.unk4 = D_800DDB44; + D_8018FB98.unk8 = D_800DDB48; + D_8018FB98.unkC = D_800DDB4C; + D_8018FB91 = 0; + D_8018FB90 = 1; + D_800EA0F4 = 0; + D_8018FC08 = 0; + D_800EA104 = 0; + D_800EA108 = 0; + D_800EA0F0 = 0; + D_800EA16C = 0; + func_800CBBB8(0xF2000000, 0); + D_800EA16C = 0; + D_800EA15C = 0; + D_800EA160 = 0; + D_800EA164 = 0; + D_800EA178 = 1.0f; + D_800EA17C = D_800F35E8; + D_800EA180 = 0; + D_800EA184 = 0; + phi_v0 = 0; + phi_v0_2 = 0; + phi_v0_3 = 0; + do { + temp_lo = phi_v0 * 0xC; + temp_v1 = phi_v0 * 4; + *(&D_800E9DB4 + temp_v1) = 0; + *(&D_800E9DF4 + temp_v1) = 0.0f; + *(&D_800EA0EC + phi_v0) = 0; + *(&D_800E9EA4 + temp_v1) = 0; + temp_a0 = &D_8018FBA8 + temp_lo; + temp_a1 = &D_8018FBD8 + temp_lo; + temp_a0->unk0 = 0.0f; + temp_a0->unk4 = 0.0f; + temp_a0->unk8 = 0.0f; + temp_a1->unk0 = 0.0f; + temp_a1->unk4 = 0.0f; + temp_a1->unk8 = 0.0f; + temp_a0_2 = &D_8018FC10 + temp_v1; + (&D_800E9F7C + (phi_v0 * 0x3C))->unk14 = 0; + *(&D_800E9E74 + temp_v1) = 0; + *(&D_800E9E84 + temp_v1) = 0; + *(&D_800E9E94 + temp_v1) = 0; + temp_a2 = &gPlayers + (phi_v0 * 0xDD8); + temp_a2->unk1D4 = 0; + temp_a2->unk1EC = 0; + temp_a2->unkBC = 0; + temp_a2->unk20C = 0.0f; + temp_a2->unkC0 = 0; + temp_a2->unk98 = 0.0f; + temp_a2->unkDE = 0; + temp_a0_2->unk0 = 0xFF; + temp_a0_2->unk2 = 0; + *(&D_800EA10C + phi_v0) = 0; + *(&D_800E9F74 + phi_v0) = 0; + temp_t6 = (phi_v0 + 1) & 0xFF; + *(&D_800E9F78 + phi_v0) = 0; + phi_v0 = temp_t6; + } while (temp_t6 < 4); + do { + *(&D_800E9F24 + phi_v0_2) = 0; + temp_v1_2 = phi_v0_2 * 4; + *(&D_800E9F2C + phi_v0_2) = 0; + *(&D_800E9F34 + temp_v1_2) = 0.0f; + *(&D_800E9F54 + temp_v1_2) = 0.0f; + *(&D_800EA130 + temp_v1_2) = 0.0f; + temp_t8 = (phi_v0_2 + 1) & 0xFF; + (&D_800EA06C + (phi_v0_2 * 0x10))->unkC = 0; + (&gPlayers + (phi_v0_2 * 0xDD8))->unkBC = 0; + phi_v0_2 = temp_t8; + } while (temp_t8 < 8); + do { + temp_t6_2 = (phi_v0_3 + 1) & 0xFF; + temp_v1_3 = &D_8018EF18 + (phi_v0_3 * 0xC); + temp_v1_3->unk0 = 1.0f; + temp_v1_3->unk4 = 1.0f; + temp_v1_3->unk8 = 0; + temp_v1_3->unk9 = 0x40; + phi_v0_3 = temp_t6_2; + } while (temp_t6_2 < 0x10); + D_8018EFD8.unk29 = 0xFF; + D_8018EFD8.unk2A = 0xFF; + phi_v1 = 1; + phi_v0_4 = 1; + do { + temp_t6_3 = (phi_v0_4 + 1) & 0xFF; + temp_a0_3 = &D_8018EFD8 + (phi_v0_4 * 0x3C); + temp_a0_3->unk29 = phi_v1 - 1; + temp_a0_3->unk2A = phi_v1 + 1; + phi_v1 = temp_t6_3; + phi_v0_4 = temp_t6_3; + } while (temp_t6_3 < 0x31); + temp_a0_4 = &D_8018EFD8 + (temp_t6_3 * 0x3C); + temp_a0_4->unk29 = temp_t6_3 - 1; + temp_a0_4->unk2A = 0xFF; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C2474.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CBB88(s32, f32, void *); // extern +? func_800CBBB8(s32, s32, s32); // extern +extern u8 D_800EA1EC; +extern ? D_801930D0; + +void func_800C284C(u8 arg0, u8 arg1, u8 arg2, s32 arg3) { + s32 sp34; + void *sp30; + f32 temp_f2; + s32 temp_t6; + s32 temp_t6_2; + s32 temp_t6_3; + s32 temp_v0; + void *temp_a2; + void *temp_v0_2; + s32 phi_v1; + + temp_t6 = arg3 & 0xFFFF; + if ((D_800EA1EC == 0) || (arg0 == 2)) { + temp_v0 = arg0 << 0x10; + sp34 = temp_v0; + func_800CBBB8(temp_v0 | 0x82000000 | (arg1 << 8), temp_t6, temp_t6); + temp_t6_2 = arg0 * 0x24C; + temp_a2 = temp_t6_2 + &D_801930D0; + temp_f2 = temp_a2->unk0; + temp_a2->unk248 = arg1 | (arg2 << 8); + if (temp_f2 != 1.0f) { + sp30 = temp_a2; + func_800CBB88(temp_v0 | 0x41000000, temp_f2, temp_a2); + } + (temp_t6_2 + &D_801930D0)->unk28 = 0; + (temp_t6_2 + &D_801930D0)->unk18 = 0; + (temp_t6_2 + &D_801930D0)->unk14 = 0; + phi_v1 = 0; + do { + temp_v0_2 = (arg0 * 0x24C) + &D_801930D0 + (phi_v1 << 5); + temp_t6_3 = (phi_v1 + 1) & 0xFF; + temp_v0_2->unk44 = 1.0f; + temp_v0_2->unk50 = 0; + temp_v0_2->unk54 = 1.0f; + temp_v0_2->unk60 = 0; + phi_v1 = temp_t6_3; + } while (temp_t6_3 < 0x10); + (temp_t6_2 + &D_801930D0)->unk244 = 0; + (temp_t6_2 + &D_801930D0)->unk246 = 0; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C284C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CBBB8(s32, s32); // extern +extern ? D_80193318; + +void func_800C29B4(u8 arg0, s32 arg1) { + func_800CBBB8((arg0 << 0x10) | 0x83000000, arg1 & 0xFFFF); + *(&D_80193318 + (arg0 * 0x24C)) = 0xFFFF; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C29B4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C2A2C: + +Unable to determine jump table for jr instruction at func_800C2A2C.s line 21. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C2A2C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern u8 D_800EA1E4; +extern ? D_80192CD0; + +void func_800C3448(s32 arg0) { + u8 temp_v0; + + temp_v0 = D_800EA1E4; + *(&D_80192CD0 + (temp_v0 * 4)) = arg0; + D_800EA1E4 = temp_v0 + 1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3448.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C2A2C(s32); // extern +extern u8 D_800EA1E4; +extern u8 D_800EA1E8; +extern ? D_80192CD0; + +void func_800C3478(void) { + if (D_800EA1E8 != D_800EA1E4) { + do { + D_800EA1E8 = D_800EA1E8 + 1; + func_800C2A2C(*(&D_80192CD0 + (D_800EA1E8 * 4))); + } while (D_800EA1E8 != D_800EA1E4); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3478.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_80193318; +extern ? D_803B1510; + +u16 func_800C3508(s32 arg0) { + ? sp-10; + s32 temp_t6; + + temp_t6 = arg0 & 0xFF; + sp-10.unk10 = arg0; + if ((*(&D_803B1510 + (temp_t6 * 0x148)) >> 0x1F) == 0) { + return 0xFFFF; + } + return *(&D_80193318 + (temp_t6 * 0x24C)); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3508.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern u8 D_800EA1E4; +extern u8 D_800EA1E8; +extern ? D_80192CD0; + +? func_800C357C(s32 arg0) { + ? sp-10; + s32 temp_t9; + u8 temp_a1; + u8 temp_v0; + u8 phi_v0; + u8 phi_v0_2; + ? phi_v1; + ? phi_v1_2; + + temp_a1 = D_800EA1E4; + temp_v0 = D_800EA1E8; + phi_v0 = temp_v0; + phi_v1 = 1; + phi_v1_2 = 1; + if (temp_v0 < temp_a1) { + do { + phi_v0_2 = phi_v0; + if (arg0 == *(&D_80192CD0 + (phi_v0 * 4))) { + phi_v0_2 = temp_a1 & 0xFF; + phi_v1_2 = 0; + } + temp_t9 = (phi_v0_2 + 1) & 0xFF; + phi_v0 = temp_t9; + phi_v1 = phi_v1_2; + } while (temp_t9 < temp_a1); + } + return phi_v1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C357C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_80192CC6; + +void func_800C35E8(s32 arg0) { + *(&D_80192CC6 + (arg0 & 0xFF)) = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C35E8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_801930D0; + +void func_800C3608(s32 arg0, s32 arg1) { + ? sp-10; + s32 temp_t6; + s32 temp_t9; + u8 temp_a2; + void *temp_a3; + void *temp_v1; + s32 phi_v0; + s32 phi_a2; + + temp_t6 = arg0 & 0xFF; + sp-10.unk10 = arg0; + sp-10.unk14 = arg1; + temp_v1 = (temp_t6 * 0x24C) + &D_801930D0; + temp_a2 = temp_v1->unk41; + phi_v0 = 0; + phi_a2 = temp_a2; + if (temp_a2 > 0) { + do { + temp_a3 = (temp_t6 * 0x24C) + &D_801930D0 + (phi_v0 * 4); + temp_t9 = (phi_v0 + 1) & 0xFF; + if ((arg1 & 0xFF) == (((temp_a3->unk2C & 0xF00000) >> 0x14) & 0xFF)) { + temp_a3->unk2C = 0xFF000000; + phi_a2 = temp_v1->unk41; + } + phi_v0 = temp_t9; + } while (temp_t9 < phi_a2); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3608.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_801930D0; + +void func_800C36C4(s32 arg0, s32 arg1, s8 arg2, s8 arg3) { + void *temp_v0; + + temp_v0 = ((arg0 & 0xFF) * 0x24C) + &D_801930D0; + (temp_v0 + (arg1 & 0xFF))->unkE = arg2; + temp_v0->unk11 = arg3; + temp_v0->unk12 = 1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C36C4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C3724: + +Unable to determine jump table for jr instruction at func_800C3724.s line 476. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3724.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_80192CC6; +extern ? D_801930D0; + +void func_800C3F70(void) { + ? sp-10; + s32 temp_t8; + void *temp_v1; + s32 phi_v0; + + phi_v0 = 0; + do { + *(&D_80192CC6 + phi_v0) = 0; + temp_t8 = (phi_v0 + 1) & 0xFF; + temp_v1 = &D_801930D0 + (phi_v0 * 0x24C); + temp_v1->unk248 = 0xFFFF; + temp_v1->unk0 = 1.0f; + temp_v1->unkC = 0; + temp_v1->unk28 = 0; + temp_v1->unk18 = 0; + temp_v1->unk14 = 0; + temp_v1->unk24A = 0; + temp_v1->unk41 = 0; + temp_v1->unk42 = 0; + temp_v1->unk12 = 0; + temp_v1->unkE = 0x7F; + temp_v1->unkF = 0x7F; + temp_v1->unk10 = 0x7F; + temp_v1->unk244 = 0; + temp_v1->unk246 = 0; + phi_v0 = temp_t8; + } while (temp_t8 < 3); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3F70.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_80192CC6; +extern ? D_801930D0; + +void func_800C400C(void) { + ? sp-10; + s32 temp_t8; + void *temp_v1; + s32 phi_v0; + + phi_v0 = 0; + do { + *(&D_80192CC6 + phi_v0) = 0; + temp_t8 = (phi_v0 + 1) & 0xFF; + temp_v1 = &D_801930D0 + (phi_v0 * 0x24C); + temp_v1->unk248 = 0xFFFF; + temp_v1->unk28 = 0; + temp_v1->unk18 = 0; + temp_v1->unk14 = 0; + temp_v1->unk24A = 0; + temp_v1->unk41 = 0; + temp_v1->unk42 = 0; + temp_v1->unk244 = 0; + temp_v1->unk246 = 0; + phi_v0 = temp_t8; + } while (temp_t8 < 3); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C400C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern u16 D_800EA1C4; +extern ? D_801930D0; + +void func_800C40F0(s32 arg0) { + ? sp-10; + u16 temp_t1; + + sp-10.unk10 = arg0; + temp_t1 = D_800EA1C4 & ((1 << (arg0 & 0xFF)) ^ 0xFFFF); + D_800EA1C4 = temp_t1; + if ((temp_t1 & 0xFFFF) == 0) { + D_801930D0.unk12 = 1; + D_801930D0.unk10 = 0x7F; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C40F0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern u8 D_800EA1B8; +extern ? D_8018FC20; +extern ? D_80192C3C; + +void play_sound(u32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { + void *temp_v0; + + if (*(&D_80192C3C + ((arg0 >> 0x1C) & 0xFF)) == 0) { + temp_v0 = (D_800EA1B8 * 0x18) + &D_8018FC20; + temp_v0->unk0 = arg0; + temp_v0->unk4 = arg1; + temp_v0->unk8 = arg2 & 0xFF; + temp_v0->unkC = arg3; + temp_v0->unk10 = arg4; + temp_v0->unk14 = arg5; + D_800EA1B8 = D_800EA1B8 + 1; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/play_sound.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C41CC: + +Unable to determine jump table for jr instruction at func_800C41CC.s line 29. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C41CC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C40F0(u8, s32, s32 *, u8); // extern +extern ? D_800EA1A0; +extern u8 D_800EA1BC; +extern u8 D_800EA1C0; +extern ? D_800EA1C8; +extern f32 D_800F3664; +extern ? D_8018FC20; +extern ? D_80191420; +extern ? D_80192AA0; +extern ? D_80192AA8; + +void func_800C4398(void) { + u8 sp4F; + u8 sp4D; + s32 *sp48; + u8 sp43; + s32 sp3C; + void *sp30; + s32 *temp_a2; + s32 temp_a1; + s32 temp_a1_2; + s32 temp_v0; + u8 *temp_a3_2; + u8 *temp_v0_3; + u8 temp_a0; + u8 temp_a0_2; + u8 temp_a1_3; + u8 temp_a3; + u8 temp_t6; + u8 temp_t6_2; + u8 temp_v0_2; + u8 temp_v1; + u8 temp_v1_2; + u8 temp_v1_3; + void *temp_s0; + void *temp_s0_2; + void *temp_s0_3; + void *temp_t0; + void *temp_t1; + void *temp_v0_4; + s32 *phi_a2; + void *phi_t1; + u8 phi_v1; + s32 phi_t4; + u8 phi_a3; + s32 phi_t3; + u8 phi_t5; + s32 phi_t3_2; + u8 phi_v0; + u8 phi_t2; + u8 phi_v1_2; + s32 phi_t3_3; + u8 phi_a3_2; + u8 phi_v1_3; + s32 phi_ra; + u8 phi_v0_2; + s32 phi_t3_4; + u8 phi_t2_2; + s32 phi_ra_2; + u8 phi_t5_2; + u8 phi_v0_3; + s32 *phi_a2_2; + s32 *phi_a2_3; + void *phi_t1_2; + s32 phi_t4_2; + u8 phi_t5_3; + u8 phi_t2_3; + u8 phi_t2_4; + s32 phi_ra_3; + + temp_a2 = (D_800EA1BC * 0x18) + &D_8018FC20; + temp_a1 = *temp_a2; + phi_a2 = temp_a2; + phi_ra_2 = 0xFF; + phi_a2_2 = temp_a2; + phi_ra_3 = 0xFF; + phi_ra = 0xFF; + if (temp_a1 != 0) { + temp_t6 = ((temp_a1 & 0xF0000000) >> 0x1C) & 0xFF; + temp_v1 = ((temp_t6 * 0x3C0) + &D_80191420)->unk2B; + phi_v1 = temp_v1; + phi_a3 = 0; + phi_t5 = temp_t6; + phi_t5_2 = temp_t6; + phi_v0_3 = temp_v1; + if ((temp_v1 != 0xFF) && (temp_v1 != 0)) { + phi_t1 = (temp_t6 * 0x3C0) + &D_80191420; + phi_t4 = 0x30; + phi_t3 = sp3C; + phi_t2_3 = sp43; + phi_t4_2 = 0x30; +loop_4: + temp_s0 = phi_t1 + (phi_v1 * phi_t4); + phi_t3_2 = phi_t3; + phi_t2 = phi_t2_3; + phi_v1_2 = phi_v1; + phi_t3_3 = phi_t3; + phi_v1_3 = phi_v1; + phi_ra = phi_ra_3; + phi_t3_4 = phi_t3; + phi_t2_2 = phi_t2_3; + phi_a2_3 = phi_a2; + phi_t1_2 = phi_t1; + phi_t4_2 = phi_t4; + phi_t5_3 = phi_t5; + phi_t2_4 = phi_t2_3; + phi_ra = phi_ra_3; + phi_a2_3 = phi_a2; + phi_t1_2 = phi_t1; + phi_t4_2 = phi_t4; + phi_t5_3 = phi_t5; + phi_ra = phi_ra_3; + phi_t4_2 = phi_t4; + if (phi_a2->unk4 == temp_s0->unk0) { + temp_a1_2 = phi_a2->unk0; + temp_v0 = temp_s0->unk24; + temp_a0 = *(&D_800EA1A0 + ((D_800EA1C0 * 6) + phi_t5)); + if (temp_a1_2 == temp_v0) { + temp_a3 = temp_a0 & 0xFF; + phi_v0 = temp_a3; + phi_a3_2 = temp_a3; + } else { + if (phi_a3 == 0) { + phi_t2_4 = phi_v1 & 0xFF; + goto block_11; + } + if ((temp_v0 & 0xFF00) < (phi_t3 & 0xFF00)) { + phi_t2_4 = phi_v1 & 0xFF; +block_11: + phi_t3_2 = temp_v0; + } + temp_v0_2 = (phi_a3 + 1) & 0xFF; + phi_v0 = temp_v0_2; + phi_t2 = phi_t2_4; + phi_t3_3 = phi_t3_2; + phi_a3_2 = temp_v0_2; + if (temp_v0_2 == temp_a0) { + phi_v1_2 = 0; + if ((temp_a1_2 & 0xFF00) >= (phi_t3_2 & 0xFF00)) { + phi_v1_2 = phi_t2_4 & 0xFF; + } + } + } + phi_v1_3 = phi_v1_2; + phi_t3_4 = phi_t3_3; + phi_t2_2 = phi_t2; + phi_a3 = phi_a3_2; + phi_t3_4 = phi_t3_3; + phi_t2_2 = phi_t2; + phi_a3 = phi_a3_2; + if (phi_v0 == temp_a0) { + if (((temp_a1_2 * 0x10) < 0) || ((temp_a1_2 << 0xD) < 0) || (phi_t2 == phi_v1_2)) { + temp_s0_2 = phi_t1 + (phi_v1_2 * phi_t4); + if ((temp_s0_2->unk24 & 0x80000) && (temp_s0_2->unk28 != 1)) { + sp4F = phi_t5; + sp3C = phi_t3_3; + sp43 = phi_t2; + sp30 = phi_t1; + sp4D = phi_a3_2; + sp48 = phi_a2; + func_800C40F0(temp_s0_2->unk2C, temp_a1_2, phi_a2, phi_a3_2); + } + temp_s0_2->unkC = phi_a2->unk8; + temp_s0_2->unk24 = phi_a2->unk0; + temp_s0_2->unk29 = 2; + temp_s0_2->unk28 = (phi_a2->unk0 & 0x1000000) >> 0x18; + temp_s0_2->unk10 = phi_a2->unkC; + temp_s0_2->unk14 = phi_a2->unk10; + temp_s0_2->unk18 = phi_a2->unk14; + phi_t3_4 = phi_t3_3; + phi_t2_2 = phi_t2; + phi_a2_3 = phi_a2; + phi_t1_2 = phi_t1; + phi_a3 = phi_a3_2; + phi_t5_3 = phi_t5; + } + phi_v1_3 = 0; + } + } + phi_a2 = phi_a2_3; + phi_t1 = phi_t1_2; + phi_t4 = phi_t4_2; + phi_t3 = phi_t3_4; + phi_t5 = phi_t5_3; + phi_v0_2 = phi_v1_3; + phi_ra_2 = phi_ra; + phi_t5_2 = phi_t5_3; + phi_a2_2 = phi_a2_3; + phi_v1 = phi_v1_3; + phi_t2_3 = phi_t2_2; + phi_ra_3 = phi_ra; + if (phi_v1_3 != 0) { + temp_v1_2 = (phi_t1_2 + (phi_v1_3 * phi_t4_2))->unk2B; + phi_v0_2 = temp_v1_2; + phi_v1 = temp_v1_2; + } + phi_v0_3 = phi_v0_2; + if (phi_ra != phi_v0_2) { + if (phi_v0_2 == 0) { + sp3C = phi_t3_4; + sp43 = phi_t2_2; + } else { + goto loop_4; + } + } + } + temp_a3_2 = phi_t5_2 + &D_80192AA8; + temp_a1_3 = *temp_a3_2; + temp_t1 = (phi_t5_2 * 0x3C0) + &D_80191420; + temp_t0 = temp_t1 + (temp_a1_3 * 0x30); + temp_v1_3 = temp_t0->unk2B; + if ((phi_ra_2 != temp_v1_3) && (phi_v0_3 != 0)) { + temp_s0_3 = temp_t1 + ((temp_a1_3 & 0xFF) * 0x30); + temp_s0_3->unk0 = phi_a2_2->unk4; + temp_s0_3->unk4 = phi_a2_2->unk4 + 4; + temp_s0_3->unk8 = phi_a2_2->unk4 + 8; + temp_s0_3->unkC = phi_a2_2->unk8; + temp_s0_3->unk10 = phi_a2_2->unkC; + temp_s0_3->unk14 = phi_a2_2->unk10; + temp_s0_3->unk18 = phi_a2_2->unk14; + temp_s0_3->unk24 = phi_a2_2->unk0; + temp_s0_3->unk29 = 2; + temp_v0_3 = phi_t5_2 + &D_80192AA0; + temp_a0_2 = *temp_v0_3; + temp_s0_3->unk28 = (phi_a2_2->unk0 & 0x1000000) >> 0x18; + temp_s0_3->unk2A = temp_a0_2; + (temp_t1 + (temp_a0_2 * 0x30))->unk2B = temp_a1_3; + temp_t6_2 = temp_t0->unk2B; + *temp_v0_3 = temp_a1_3; + *temp_a3_2 = temp_t6_2; + (temp_t1 + ((temp_t6_2 & 0xFF) * 0x30))->unk2A = 0xFF; + temp_s0_3->unk2B = 0xFF; + return; + } + if (phi_ra_2 == temp_v1_3) { + temp_v0_4 = phi_a2_2->unk4; + if (&D_800EA1C8 != temp_v0_4) { + temp_v0_4->unk4 = D_800F3664; + } + } + // Duplicate return node #35. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C4398.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C40F0(u8, u8, void *, u8); // extern +extern ? D_800EA1C8; +extern f32 D_800F3668; +extern ? D_80191420; +extern ? D_80192AA0; +extern ? D_80192AA8; + +void func_800C473C(u8 arg0, u8 arg1) { + void *sp34; + void *sp30; + s32 temp_lo; + s32 temp_t7; + u8 *temp_v1; + u8 *temp_v1_2; + u8 temp_a3; + u8 temp_t6; + void *temp_a2; + void *temp_v0; + u8 phi_a1; + u8 phi_a3; + + temp_t6 = arg1 & 0xFF; + temp_lo = temp_t6 * 0x30; + temp_a3 = arg0 & 0xFF; + temp_t7 = temp_a3 * 0x3C0; + temp_a2 = temp_t7 + &D_80191420; + temp_v0 = temp_a2 + temp_lo; + phi_a1 = temp_t6; + phi_a3 = temp_a3; + if (&D_800EA1C8 != temp_v0->unk0) { + *temp_v0->unk4 = D_800F3668; + } + if (temp_v0->unk24 & 0x80000) { + arg0 = temp_a3; + sp34 = temp_a2; + arg1 = temp_t6; + sp30 = temp_v0; + func_800C40F0(temp_v0->unk2C, temp_t6, temp_a2, temp_a3); + phi_a1 = arg1; + phi_a3 = arg0; + } + temp_v1 = phi_a3 + &D_80192AA0; + if (phi_a1 == *temp_v1) { + *temp_v1 = (temp_a2 + temp_lo)->unk2A; + } else { + (temp_t7 + &D_80191420 + ((temp_a2 + temp_lo)->unk2B * 0x30))->unk2A = (temp_a2 + temp_lo)->unk2A; + } + temp_v1_2 = phi_a3 + &D_80192AA8; + (temp_t7 + &D_80191420 + ((temp_a2 + temp_lo)->unk2A * 0x30))->unk2B = (temp_a2 + temp_lo)->unk2B; + (temp_a2 + temp_lo)->unk2A = 0xFF; + (temp_a2 + temp_lo)->unk2B = *temp_v1_2; + (temp_t7 + &D_80191420 + (*temp_v1_2 * 0x30))->unk2A = phi_a1; + *temp_v1_2 = phi_a1; + (temp_a2 + temp_lo)->unk28 = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C473C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C473C(s32, u8, void *, u8); // extern +? func_800CBBE8(s32, ?); // extern +extern ? D_800EA188; +extern u8 D_800EA1C0; +extern ? D_800EA1C8; +extern f32 D_800F366C; +extern f32 D_800F3670; +extern ? D_80191420; +extern ? D_80192AB8; + +void func_800C4888(s32 arg0) { + u8 spCE; + u8 spCC; + ? sp7C; + void *sp70; + void *sp6C; + void *sp68; + s32 sp60; + f32 *temp_v0; + f32 temp_f0; + f32 temp_f0_2; + f32 temp_f2; + s32 temp_a1; + s32 temp_s5; + s32 temp_t6; + s32 temp_t6_2; + s32 temp_t7; + s32 temp_t7_2; + s32 temp_t7_3; + s32 temp_t8; + s32 temp_t8_3; + s32 temp_t8_4; + s32 temp_t9; + s32 temp_v0_2; + s32 temp_v0_3; + s32 temp_v0_4; + s32 temp_v0_5; + s32 temp_v1; + u32 temp_t8_2; + u8 temp_a1_2; + u8 temp_a3_3; + u8 temp_a3_4; + u8 temp_s3; + u8 temp_s3_2; + u8 temp_t1; + u8 temp_t4; + u8 temp_v1_2; + void *temp_a0; + void *temp_a0_2; + void *temp_a0_3; + void *temp_a0_4; + void *temp_a3; + void *temp_a3_2; + void *temp_s3_3; + void *temp_t2; + void *temp_v0_6; + void *temp_v0_7; + s32 phi_t3; + s32 phi_t5; + u8 phi_s3; + s32 phi_v0; + f32 phi_f0; + s32 phi_t3_2; + s32 phi_s2; + s32 phi_v1; + s32 phi_a1; + s32 phi_t3_3; + s32 phi_s0; + s32 phi_s2_2; + ? *phi_ra; + s32 phi_t3_4; + void *phi_a2; + u8 phi_t3_5; + ? *phi_ra_2; + s32 phi_t0; + u8 phi_t1; + s32 phi_a1_2; + s32 phi_a1_3; + s32 phi_t5_2; + s32 phi_v1_2; + s32 phi_a1_4; + s32 phi_t4; + ? *phi_ra_3; + s32 phi_s0_2; + s32 phi_s0_3; + s32 phi_t2; + s32 phi_a1_5; + s32 phi_a1_6; + s32 phi_s2_3; + s32 phi_s2_4; + s32 phi_s0_4; + s32 phi_s2_5; + ? *phi_ra_4; + s32 phi_t2_2; + s32 phi_v1_3; + u8 phi_s3_2; + ? *phi_ra_5; + s32 phi_v1_4; + + temp_s5 = arg0 & 0xFF; + phi_t3 = 0; + phi_t3_2 = 0; + phi_s2_2 = 0; + phi_t3_4 = 0; + phi_s2_3 = 0; + do { + temp_t7 = (phi_t3 + 1) & 0xFF; + temp_a3 = &sp7C + (phi_t3 * 8); + temp_a3->unk0 = 0x7FFFFFFF; + temp_a3->unk4 = 0xFF; + phi_t3 = temp_t7; + } while (temp_t7 < 8); + temp_s3 = (&D_80191420 + (temp_s5 * 0x3C0))->unk2B; + phi_s3 = temp_s3; + phi_ra = &D_80191420; + phi_s0_2 = 0; + phi_s0_4 = 0; + phi_ra_5 = &D_80191420; + if (temp_s3 != 0xFF) { + sp6C = &D_80191420 + (temp_s5 * 0x3C0); + phi_t5 = 1; + phi_v0 = 0x8000000; + phi_v0 = 0x8000000; + phi_t5 = 1; + phi_t5 = 1; + do { + temp_t2 = sp6C + (phi_s3 * 0x30); + phi_s2 = phi_s2_3; + phi_s0 = phi_s0_4; + phi_s0 = phi_s0_4; + phi_s2_5 = phi_s2_3; + phi_ra_4 = phi_ra_5; + phi_s3_2 = phi_s3; + phi_s2_5 = phi_s2_3; + phi_s2_5 = phi_s2_3; + phi_ra_4 = phi_ra_5; + if ((phi_t5 == temp_t2->unk28) && (phi_v0 == (temp_t2->unk24 & phi_v0))) { + temp_t2->unk29 = temp_t2->unk29 - 1; + } + if (temp_t2->unk29 == 0) { + func_800C473C(temp_s5 & 0xFF, phi_s3 & 0xFF); + phi_ra_4 = &D_80191420; + goto block_35; + } + if (temp_t2->unk28 != 0) { + temp_v0 = temp_t2->unk0; + if (&D_800EA1C8 == temp_v0) { + temp_t2->unk1C = 0.0f; + } else { + temp_f2 = *temp_v0; + temp_f0 = *temp_t2->unk8; + temp_t2->unk1C = (temp_f0 * temp_f0) + (temp_f2 * temp_f2); + } + temp_v0_2 = temp_t2->unk24; + temp_t8 = ((temp_v0_2 & 0xFF00) >> 8) & 0xFF; + if (temp_v0_2 & 0x100000) { + temp_v0_3 = 0xFF - temp_t8; + temp_t2->unk20 = temp_v0_3 * temp_v0_3 * 0x5A4; + } else { + temp_v0_4 = 0xFF - temp_t8; + temp_t8_2 = temp_t2->unk1C + (temp_v0_4 * temp_v0_4 * 0x5A4); + temp_t2->unk20 = temp_t8_2; + temp_f0_2 = *temp_t2->unk8; + if (temp_f0_2 > 0.0f) { + temp_t2->unk20 = temp_t8_2 + (temp_f0_2 * 6.0f); + } + } + temp_t8_3 = ((temp_t2->unk24 & 0x30000) >> 0x10) & 0xFF; + if (temp_t8_3 != 0) { + phi_f0 = D_800F366C / (temp_t8_3 * temp_t8_3); + } else { + phi_f0 = D_800F3670; + } + if (phi_f0 < temp_t2->unk1C) { + if (temp_t2->unk28 == 4) { + sp68 = temp_t2; + func_800CBBE8((temp_t2->unk2C << 8) | 0x6020000, 0); + phi_ra_4 = &D_80191420; + if ((temp_t2->unk24 * 0x10) < 0) { + func_800C473C(temp_s5 & 0xFF, phi_s3 & 0xFF); + phi_s3_2 = phi_s0_4 & 0xFF; + phi_ra_4 = &D_80191420; + } + } + } else { + temp_t4 = *(&D_800EA188 + ((D_800EA1C0 * 6) + temp_s5)); + if (temp_t4 > 0) { + do { + temp_a3_2 = &sp7C + (phi_t3_2 * 8); + temp_v0_5 = temp_t4 - 1; + temp_a1 = temp_v0_5 & 0xFF; + phi_a1 = temp_a1; + phi_t3_3 = phi_t3_2; + phi_s2_4 = phi_s2; + phi_s2_4 = phi_s2; + if (temp_a3_2->unk0 >= temp_t2->unk20) { + if (phi_s2 < temp_t4) { + phi_s2_4 = (phi_s2 + 1) & 0xFF; + } + phi_t3_3 = temp_t4 & 0xFF; + if (phi_t3_2 < (temp_v0_5 & 0xFF)) { + phi_v1 = temp_a1; + do { + temp_v0_6 = &sp7C + (phi_v1 * 8); + temp_a0 = &sp7C + (phi_a1 * 8); + temp_a0->unk0 = temp_v0_6->unk-8; + temp_v1 = (phi_a1 - 1) & 0xFF; + temp_a0->unk4 = temp_v0_6->unk-4; + phi_v1 = temp_v1; + phi_a1 = temp_v1; + } while (phi_t3_2 < temp_v1); + } + temp_a3_2->unk0 = temp_t2->unk20; + temp_a3_2->unk4 = phi_s3; + } + temp_t9 = (phi_t3_3 + 1) & 0xFF; + phi_t3_2 = temp_t9; + phi_s2 = phi_s2_4; + phi_s2_5 = phi_s2_4; + } while (temp_t9 < temp_t4); + } + } + phi_s0 = phi_s3_2 & 0xFF; +block_35: + } + temp_s3_2 = (sp6C + (phi_s0 * 0x30))->unk2B; + phi_s3 = temp_s3_2; + phi_s2_2 = phi_s2_5; + phi_ra = phi_ra_4; + phi_s2_3 = phi_s2_5; + phi_s0_4 = phi_s0; + phi_ra_5 = phi_ra_4; + } while (temp_s3_2 != 0xFF); + } + temp_t1 = *(&D_800EA188 + ((D_800EA1C0 * 6) + temp_s5)); + phi_ra_2 = phi_ra; + phi_t1 = temp_t1; + phi_t5_2 = 1; + phi_t5_2 = 1; + if (phi_s2_2 > 0) { + sp6C = phi_ra + (temp_s5 * 0x3C0); + do { + temp_t7_2 = (phi_t3_4 + 1) & 0xFF; + temp_v0_7 = sp6C + ((&sp7C + (phi_t3_4 * 8))->unk4 * 0x30); + temp_v1_2 = temp_v0_7->unk28; + if (temp_v1_2 == 1) { + temp_v0_7->unk28 = 2; + } else if (temp_v1_2 == 4) { + temp_v0_7->unk28 = 3; + } + phi_t3_4 = temp_t7_2; + } while (temp_t7_2 < phi_s2_2); + } + phi_t3_5 = 0; + phi_t0 = temp_t1; + if (temp_t1 > 0) { + phi_a2 = (temp_s5 << 6) + &D_80192AB8; + phi_t4 = 3; + phi_t4 = 3; + do { + temp_s3_3 = phi_a2 + (phi_t3_5 * 8); + temp_a1_2 = temp_s3_3->unk4; + phi_v1_2 = 0; + phi_ra_3 = phi_ra_2; + phi_v1_3 = 0; + if (temp_a1_2 == 0xFF) { + phi_v1_2 = 1; + } else { + temp_a0_2 = phi_ra_2 + (temp_s5 * 0x3C0) + (temp_a1_2 * 0x30); + temp_a3_3 = temp_a0_2->unk28; + if (temp_a3_3 == 4) { + if ((temp_a0_2->unk24 * 0x10) < 0) { + sp70 = phi_a2; + sp60 = phi_t0; + spCE = phi_t1; + spCC = phi_t3_5; + func_800C473C(temp_s5 & 0xFF, temp_a1_2, phi_a2, temp_a3_3); + phi_v1_2 = 1; + phi_ra_3 = &D_80191420; + } else { + temp_a0_2->unk28 = 1; + phi_v1_2 = 1; + } + } else if (temp_a3_3 == 0) { + temp_s3_3->unk4 = 0xFF; + phi_v1_2 = 1; + } else { + phi_a1_2 = 0; + if (phi_t0 > 0) { + do { + temp_a0_3 = &sp7C + (phi_a1_2 * 8); + phi_a1_3 = phi_a1_2; + if (temp_a1_2 == temp_a0_3->unk4) { + temp_a0_3->unk4 = 0xFF; + phi_a1_3 = phi_t1 & 0xFF; + } + temp_t7_3 = (phi_a1_3 + 1) & 0xFF; + phi_a1_2 = temp_t7_3; + } while (temp_t7_3 < phi_t0); + } + } + } + phi_a2 = phi_a2; + phi_ra_2 = phi_ra_3; + phi_t0 = phi_t0; + phi_t1 = phi_t1; + phi_t2_2 = phi_v1_2; + phi_v1_4 = phi_v1_2; + if (phi_t5_2 == phi_v1_2) { + phi_a1_4 = 0; + phi_a1_6 = 0; + if (phi_t0 > 0) { + do { + temp_a0_4 = &sp7C + (phi_a1_4 * 8); + temp_a3_4 = temp_a0_4->unk4; + phi_t2 = phi_t2_2; + phi_a1_5 = phi_a1_4; + phi_v1_3 = phi_v1_4; + if ((temp_a3_4 != 0xFF) && (phi_t4 != (phi_ra_3 + (temp_s5 * 0x3C0) + (temp_a3_4 * 0x30))->unk28)) { + if (phi_t0 > 0) { + do { + phi_s0_3 = phi_s0_2; + if (temp_a3_4 == (phi_a2 + (phi_s0_2 * 8))->unk4) { + phi_s0_3 = phi_t1 & 0xFF; + } + temp_t6 = (phi_s0_3 + 1) & 0xFF; + phi_s0_2 = temp_t6; + phi_v1_4 = phi_v1_3; + } while (temp_t6 < phi_t0); + phi_t2 = phi_v1_3; + } + phi_t2_2 = phi_t2; + if (phi_t5_2 == phi_t2) { + temp_s3_3->unk4 = temp_a3_4; + temp_a0_4->unk4 = 0xFF; + phi_a1_5 = (phi_t0 + 1) & 0xFF; + } + } + temp_t8_4 = (phi_a1_5 + 1) & 0xFF; + phi_a1_4 = temp_t8_4; + phi_a1_6 = temp_t8_4; + } while (temp_t8_4 < phi_t0); + } + if (phi_t0 == phi_a1_6) { + temp_s3_3->unk4 = 0xFF; + } + } + temp_t6_2 = (phi_t3_5 + 1) & 0xFF; + phi_t3_5 = temp_t6_2; + } while (temp_t6_2 < phi_t0); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C4888.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C19D0(s32, s32, u8); // extern +? func_800C473C(s32, s32); // extern +? func_800CBBE8(s32, s8, u8); // extern +extern ? D_800EA188; +extern u8 D_800EA1C0; +extern u16 D_800EA1C4; +extern ? D_80191420; +extern ? D_80192AB8; +extern u8 D_80192C38; +extern ? D_801930D0; +extern ? D_803B17D0; + +void func_800C4FE4(s32 arg0) { + void *sp50; + s32 temp_s3; + s32 temp_t7; + u8 temp_a2; + u8 temp_s1; + u8 temp_v0; + u8 temp_v1; + void *temp_s0; + s32 phi_s4; + s32 phi_v1; + u8 *phi_v1_2; + + temp_s3 = arg0 & 0xFF; + temp_v1 = *(&D_800EA188 + ((D_800EA1C0 * 6) + temp_s3)); + phi_s4 = 0; + phi_v1 = temp_v1; + if (temp_v1 > 0) { + sp50 = (temp_s3 << 6) + &D_80192AB8; + do { + temp_s1 = (sp50 + (phi_s4 * 8))->unk4; + if (temp_s1 != 0xFF) { + temp_a2 = D_80192C38; + temp_s0 = (temp_s3 * 0x3C0) + (temp_s1 * 0x30) + &D_80191420; + temp_v0 = temp_s0->unk28; + if (temp_v0 == 2) { + temp_s0->unk2C = temp_a2; + if (temp_s0->unk24 & 0x80000) { + D_800EA1C4 = D_800EA1C4 | (1 << D_80192C38); + D_801930D0.unk12 = 1; + D_801930D0.unk10 = 0x28; + } + func_800C19D0(temp_s3 & 0xFF, temp_s1 & 0xFF, D_80192C38); + func_800CBBE8((D_80192C38 << 8) | 0x6020000, 1); + func_800CBBE8((D_80192C38 << 8) | 0x6020000 | 4, temp_s0->unk24); + temp_s0->unk28 = 4; + phi_v1_2 = &D_800EA188 + ((D_800EA1C0 * 6) + temp_s3); + goto block_11; + } + if ((*(&D_803B17D0 + (temp_a2 * 4)))->unk5F == 0x80) { + func_800CBBE8(((temp_a2 & 0xFF) << 8) | 0x6020000 | 7, 0, temp_a2); + func_800C473C(temp_s3 & 0xFF, temp_s1 & 0xFF); + phi_v1_2 = &D_800EA188 + ((D_800EA1C0 * 6) + temp_s3); + goto block_11; + } + if (temp_v0 == 3) { + func_800C19D0(temp_s3 & 0xFF, temp_s1 & 0xFF, temp_a2); + temp_s0->unk28 = 4; + phi_v1_2 = &D_800EA188 + ((D_800EA1C0 * 6) + temp_s3); +block_11: + phi_v1 = *phi_v1_2; + } + } + temp_t7 = (phi_s4 + 1) & 0xFF; + D_80192C38 = D_80192C38 + 1; + phi_s4 = temp_t7; + } while (temp_t7 < phi_v1); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C4FE4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C41CC(?, ? *); // extern +? func_800C473C(s32, s32); // extern +? func_800CBBE8(s32, ?); // extern +extern ? D_80191420; + +void func_800C5278(s32 arg0) { + s32 sp84; + ? sp60; + s32 temp_s7; + void *temp_s0; + void *temp_s2; + + temp_s7 = arg0 & 0xFF; + temp_s2 = (temp_s7 * 0x3C0) + &D_80191420; + if (temp_s2->unk2B != 0xFF) { + do { + temp_s0 = (temp_s7 * 0x3C0) + &D_80191420 + (temp_s2->unk2B * 0x30); + if (temp_s0->unk28 >= 3) { + func_800CBBE8((temp_s0->unk2C << 8) | 0x6020000, 0); + } + if (temp_s0->unk28 != 0) { + func_800C473C(temp_s7 & 0xFF, temp_s2->unk2B & 0xFF); + } + } while (temp_s2->unk2B != 0xFF); + } + sp84 = temp_s7 << 0x1C; + func_800C41CC(0, &sp60); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5278.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C473C(s32, s32); // extern +? func_800CBBE8(s32, ?); // extern +extern ? D_80191420; + +void func_800C5384(s32 arg0, s32 arg1) { + s32 temp_s2; + s32 temp_s5; + u8 temp_s1; + void *temp_s0; + void *temp_s3; + u8 phi_s1; + u8 phi_s1_2; + s32 phi_s2; + + temp_s5 = arg0 & 0xFF; + temp_s1 = ((temp_s5 * 0x3C0) + &D_80191420)->unk2B; + phi_s1 = temp_s1; + phi_s2 = 0; + if (temp_s1 != 0xFF) { + temp_s3 = (temp_s5 * 0x3C0) + &D_80191420; + do { + temp_s0 = temp_s3 + (phi_s1 * 0x30); + if (arg1 == temp_s0->unk0) { + if (temp_s0->unk28 >= 3) { + func_800CBBE8((temp_s0->unk2C << 8) | 0x6020000, 0); + } + if (temp_s0->unk28 != 0) { + func_800C473C(temp_s5 & 0xFF, phi_s1 & 0xFF); + } + phi_s1_2 = (temp_s3 + (phi_s2 * 0x30))->unk2B; + } else { + temp_s2 = phi_s1 & 0xFF; + phi_s1_2 = (temp_s3 + (temp_s2 * 0x30))->unk2B; + phi_s2 = temp_s2; + } + phi_s1 = phi_s1_2; + } while (phi_s1_2 != 0xFF); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5384.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C41CC(?, s32 *); // extern +? func_800C5384(s32, s32); // extern + +void func_800C550C(s32 arg0) { + s32 sp3C; + s32 temp_t6; + s32 phi_s0; + + phi_s0 = 0; + do { + func_800C5384(phi_s0 & 0xFF, arg0); + temp_t6 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t6; + } while (temp_t6 < 6); + sp3C = arg0; + func_800C41CC(2, &sp3C); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C550C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C41CC(?, s32 *); // extern +? func_800C473C(s32, s32); // extern +? func_800CBBE8(s32, ?); // extern +extern ? D_80191420; + +void func_800C5578(s32 arg0, s32 arg1) { + s32 sp84; + s32 sp60; + s32 *temp_a1; + s32 temp_t8; + u8 temp_s1; + u8 temp_s1_2; + void *temp_s0; + void *temp_s4; + u8 phi_s1; + u8 phi_v0; + u8 phi_v0_2; + s32 phi_s3; + + temp_t8 = ((arg1 & 0xF0000000) >> 0x1C) & 0xFF; + temp_s1 = ((temp_t8 * 0x3C0) + &D_80191420)->unk2B; + phi_s1 = temp_s1; + phi_v0 = temp_s1; + phi_s3 = 0; + if (temp_s1 != 0xFF) { + temp_s4 = (temp_t8 * 0x3C0) + &D_80191420; + do { + temp_s0 = temp_s4 + (phi_s1 * 0x30); + if ((arg0 == temp_s0->unk0) && (arg1 == temp_s0->unk24)) { + if (temp_s0->unk28 >= 3) { + func_800CBBE8((temp_s0->unk2C << 8) | 0x6020000, 0); + } + if (temp_s0->unk28 != 0) { + func_800C473C(temp_t8 & 0xFF, phi_s1 & 0xFF); + } + phi_v0 = 0xFF; + phi_s1 = 0xFF; + } else { + phi_s3 = phi_s1 & 0xFF; + } + phi_v0_2 = phi_v0; + if (phi_v0 != 0xFF) { + temp_s1_2 = (temp_s4 + (phi_s3 * 0x30))->unk2B; + phi_v0_2 = temp_s1_2; + phi_s1 = temp_s1_2; + } + phi_v0 = phi_v0_2; + } while (phi_v0_2 != 0xFF); + } + temp_a1 = &sp60; + sp60 = arg0; + sp84 = arg1; + func_800C41CC(3, temp_a1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5578.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C41CC(?, ? *); // extern +? func_800C473C(s32, s32); // extern +? func_800CBBE8(s32, ?); // extern +extern ? D_80191420; + +void func_800C56F0(s32 arg0) { + s32 sp8C; + ? sp68; + s32 temp_s2; + s32 temp_t8; + u8 temp_s1; + void *temp_s0; + void *temp_s3; + u8 phi_s1; + u8 phi_s1_2; + s32 phi_s2; + + temp_t8 = ((arg0 & 0xF0000000) >> 0x1C) & 0xFF; + temp_s1 = ((temp_t8 * 0x3C0) + &D_80191420)->unk2B; + phi_s1 = temp_s1; + phi_s2 = 0; + if (temp_s1 != 0xFF) { + temp_s3 = (temp_t8 * 0x3C0) + &D_80191420; + do { + temp_s0 = temp_s3 + (phi_s1 * 0x30); + if (arg0 == temp_s0->unk24) { + if (temp_s0->unk28 >= 3) { + func_800CBBE8((temp_s0->unk2C << 8) | 0x6020000, 0); + } + if (temp_s0->unk28 != 0) { + func_800C473C(temp_t8 & 0xFF, phi_s1 & 0xFF); + } + phi_s1_2 = (temp_s3 + (phi_s2 * 0x30))->unk2B; + } else { + temp_s2 = phi_s1 & 0xFF; + phi_s1_2 = (temp_s3 + (temp_s2 * 0x30))->unk2B; + phi_s2 = temp_s2; + } + phi_s1 = phi_s1_2; + } while (phi_s1_2 != 0xFF); + } + sp8C = arg0; + func_800C41CC(5, &sp68); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C56F0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C4398(); // extern +extern u8 D_800EA1B8; +extern u8 D_800EA1BC; + +void func_800C5848(void) { + u8 temp_t9; + + if (D_800EA1BC != D_800EA1B8) { + do { + func_800C4398(); + temp_t9 = D_800EA1BC + 1; + D_800EA1BC = temp_t9; + } while ((temp_t9 & 0xFF) != D_800EA1B8); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5848.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_80192C48; + +void func_800C58B8(s32 arg0, s32 arg1, s32 arg2) { + ? sp-10; + f32 temp_f0; + f32 temp_f8; + s16 temp_t8; + void *temp_v0; + s16 phi_a2; + f32 phi_f8; + + sp-10.unk10 = arg0; + sp-10.unk14 = arg1; + sp-10.unk18 = arg2; + temp_t8 = arg2 & 0xFFFF; + phi_a2 = temp_t8; + if (temp_t8 == 0) { + phi_a2 = (temp_t8 + 1) & 0xFFFF; + } + temp_v0 = ((arg0 & 0xFF) * 0x10) + &D_80192C48; + temp_f0 = (arg1 & 0xFF) / 127.0f; + temp_v0->unkC = phi_a2; + temp_f8 = phi_a2; + temp_v0->unk4 = temp_f0; + phi_f8 = temp_f8; + if (phi_a2 < 0) { + phi_f8 = temp_f8 + 4294967296.0f; + } + temp_v0->unk8 = (temp_v0->unk0 - temp_f0) / phi_f8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C58B8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_80192C48; + +void func_800C5968(s32 arg0) { + ? sp-10; + u16 temp_t9; + u16 temp_v1; + void *temp_v0; + + sp-10.unk10 = arg0; + temp_v0 = ((arg0 & 0xFF) * 0x10) + &D_80192C48; + temp_v1 = temp_v0->unkC; + temp_t9 = temp_v1 - 1; + if (temp_v1 != 0) { + temp_v0->unkC = temp_t9; + if ((temp_t9 & 0xFFFF) != 0) { + temp_v0->unk0 = temp_v0->unk0 - temp_v0->unk8; + return; + } + temp_v0->unk0 = temp_v0->unk4; + // Duplicate return node #4. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5968.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C4888(s32); // extern +? func_800C4FE4(s32); // extern +? func_800C5968(s32); // extern +extern s8 D_80192C38; +extern s32 D_803B17D0; +extern ? D_803B5EF0; + +void func_800C59C4(void) { + s32 temp_t8; + s32 phi_s0; + + if (&D_803B5EF0 != D_803B17D0) { + D_80192C38 = 0; + phi_s0 = 0; + do { + func_800C4888(phi_s0 & 0xFF); + func_800C4FE4(phi_s0 & 0xFF); + func_800C5968(phi_s0 & 0xFF); + temp_t8 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t8; + } while (temp_t8 < 6); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C59C4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern s8 D_800EA1B8; +extern s8 D_800EA1BC; +extern s16 D_800EA1C4; +extern ? D_80191420; +extern ? D_80192AA0; +extern ? D_80192AA8; +extern ? D_80192AB0; +extern ? D_80192AB8; +extern ? D_80192C3C; +extern ? D_80192C48; + +void func_800C5A3C(void) { + ? sp-10; + s32 temp_t3; + s32 temp_t4; + s32 temp_t4_2; + s32 temp_t4_3; + s32 temp_t8; + void *temp_a1; + void *temp_a1_2; + void *temp_a1_3; + void *temp_a2; + void *temp_v1; + s32 phi_v0; + s32 phi_v0_2; + s32 phi_v1; + s32 phi_v0_3; + s32 phi_a0; + s32 phi_v1_2; + + D_800EA1B8 = 0; + D_800EA1BC = 0; + D_800EA1C4 = 0; + phi_v0 = 0; + phi_v0_2 = 0; + phi_v0_3 = 0; + do { + *(&D_80192AA0 + phi_v0) = 0; + *(&D_80192AA8 + phi_v0) = 1; + temp_t4 = (phi_v0 + 1) & 0xFF; + *(&D_80192AB0 + phi_v0) = 0; + *(&D_80192C3C + phi_v0) = 0; + temp_v1 = &D_80192C48 + (phi_v0 * 0x10); + temp_v1->unk0 = 1.0f; + temp_v1->unkC = 0; + phi_v0 = temp_t4; + } while (temp_t4 < 6); + do { + phi_v1 = 0; +loop_4: + temp_t3 = (phi_v1 + 1) & 0xFF; + ((phi_v0_2 << 6) + &D_80192AB8 + (phi_v1 * 8))->unk4 = 0xFF; + phi_v1 = temp_t3; + if (temp_t3 < 8) { + goto loop_4; + } + temp_t4_2 = (phi_v0_2 + 1) & 0xFF; + phi_v0_2 = temp_t4_2; + } while (temp_t4_2 < 6); + do { + temp_a2 = &D_80191420 + (phi_v0_3 * 0x3C0); + temp_a1 = &D_80191420 + (phi_v0_3 * 0x3C0); + temp_a1->unk2A = 0xFF; + temp_a1->unk2B = 0xFF; + phi_a0 = 1; + phi_v1_2 = 1; +loop_8: + temp_t4_3 = (phi_v1_2 + 1) & 0xFF; + temp_a1_2 = temp_a2 + (phi_v1_2 * 0x30); + temp_a1_2->unk2A = phi_a0 - 1; + temp_a1_2->unk2B = phi_a0 + 1; + phi_a0 = temp_t4_3; + phi_v1_2 = temp_t4_3; + if (temp_t4_3 < 0x13) { + goto loop_8; + } + temp_t8 = (phi_v0_3 + 1) & 0xFF; + temp_a1_3 = temp_a2 + (temp_t4_3 * 0x30); + temp_a1_3->unk2A = temp_t4_3 - 1; + temp_a1_3->unk2B = 0xFF; + phi_v0_3 = temp_t8; + } while (temp_t8 < 6); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5A3C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CBBE8(s32, ?); // extern +extern ? D_800EA154; +extern u8 D_800EA1C0; +extern ? gPlayers; + +void func_800C5BD0(void) { + if (D_800EA1C0 == 0) { + func_800CBBE8((*(&D_800EA154 + *(&gPlayers + 0x254)) << 8) | 0xF3000000, 0); + return; + } + func_800CBBE8(0xF3004D00, 0); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5BD0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C2474(); // extern +? func_800C284C(?, ?, ?, ?); // extern +? func_800C3F70(); // extern +? func_800C400C(); // extern +? func_800C5A3C(); // extern +? func_800C5BD0(); // extern +extern u8 D_800E9DA0; + +void func_800C5C40(void) { + u8 temp_v0; + + func_800C2474(); + temp_v0 = D_800E9DA0; + if (temp_v0 != 0) { + func_800C400C(); + } else { + D_800E9DA0 = temp_v0 + 1; + func_800C3F70(); + } + func_800C5A3C(); + func_800C284C(2, 0, 0xFF, 1); + func_800C5BD0(); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5C40.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C2474(); // extern +? func_800C284C(?, ?, ?, ?); // extern +? func_800C3F70(); // extern +? func_800C5A3C(); // extern + +void func_800C5CB8(void) { + func_800C2474(); + func_800C3F70(); + func_800C5A3C(); + func_800C284C(2, 0, 0xFF, 1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5CB8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C94A4(u8); // extern +? func_800C97C4(s32, u8); // extern +extern ? D_800E9E24; +extern ? D_800E9E34; +extern ? D_800EA0EC; +extern u8 D_800EA16C; +extern ? gPlayers; + +void func_800C5D04(u8 arg0) { + s32 *temp_a0; + s32 *temp_v1_3; + s32 temp_a0_2; + s32 temp_t1; + s32 temp_v0; + s32 temp_v0_3; + s32 temp_v1; + u8 *temp_v1_2; + u8 temp_a1; + u8 temp_v0_2; + s32 phi_v1; + + temp_a1 = arg0 & 0xFF; + if ((*(&gPlayers + 0x44 + (temp_a1 * 0xDD8)) & 0x20) == 0x20) { + temp_v0 = temp_a1 * 4; + *(&D_800E9E34 + temp_v0) = 0; + temp_a0 = temp_v0 + &D_800E9E24; + temp_v1 = *temp_a0; + phi_v1 = temp_v1; + if (temp_v1 < 0x4E20) { + temp_t1 = temp_v1 + 1; + if (D_800EA16C == 0) { + *temp_a0 = temp_t1; + phi_v1 = temp_t1; + } + } + temp_v1_2 = temp_a1 + &D_800EA0EC; + if (phi_v1 == 1) { + temp_v0_2 = *temp_v1_2; + if (temp_v0_2 != 0) { + if (temp_v0_2 == 2) { + *temp_v1_2 = 1; + goto block_8; + } + // Duplicate return node #12. Try simplifying control flow for better match + return; + } +block_8: + arg0 = temp_a1; + func_800C97C4(temp_a1 & 0xFF, temp_a1); + func_800C94A4(arg0); + return; + } + // Duplicate return node #12. Try simplifying control flow for better match + return; + } + temp_v0_3 = temp_a1 * 4; + *(&D_800E9E24 + temp_v0_3) = 0; + temp_v1_3 = temp_v0_3 + &D_800E9E34; + temp_a0_2 = *temp_v1_3; + if ((temp_a0_2 < 0x4E20) && (D_800EA16C == 0)) { + *temp_v1_3 = temp_a0_2 + 1; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5D04.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C9018(s32, ?, u8, void *); // extern +? play_sound(?, void *, u8, void *, void *, void *); // extern +extern ? D_800E9DC4; +extern ? D_800E9DD4; +extern ? D_800E9E14; +extern ? D_800E9E24; +extern ? D_800E9E34; +extern ? D_800E9F04; +extern ? D_800E9F54; +extern ? D_800E9F74; +extern ? D_800E9F7C; +extern ? D_800E9F8C; +extern ? D_800EA0EC; +extern u8 D_800EA108; +extern ? D_800EA130; +extern u8 D_800EA16C; +extern u8 D_800EA1C0; +extern f32 D_800F3674; +extern ? gPlayers; + +void func_800C5E38(u8 arg0) { + s32 sp3C; + f32 temp_f0; + f32 temp_f2; + s32 temp_v0; + s32 temp_v0_2; + u8 *temp_t0; + u8 temp_a2; + u8 temp_v1; + void *temp_a1; + void *temp_a1_2; + void *temp_a3; + s32 phi_v0; + u8 phi_a2; + + temp_a2 = arg0 & 0xFF; + phi_a2 = temp_a2; + if (D_800EA108 == 0) { + temp_a3 = (temp_a2 * 0xDD8) + &gPlayers; + temp_v0 = temp_a2 * 4; + phi_v0 = temp_v0; + if (((temp_a3->unk44 & 0x20) != 0x20) && (temp_t0 = temp_a2 + &D_800EA0EC, (temp_a3->unk98 > 400.0f))) { + temp_v0_2 = temp_a2 * 4; + *(&D_800E9E14 + temp_v0_2) = 1; + temp_v1 = *temp_t0; + if (temp_v1 == 0) { + *(&D_800E9F8C + (temp_a2 * 0x3C)) = D_800F3674 - *(&D_800E9F54 + temp_v0_2); + } + temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C; + *(&D_800E9DC4 + temp_v0_2) = temp_a1->unk30; + *(&D_800E9DD4 + temp_v0_2) = temp_a1->unk24; + if ((*(&D_800E9E34 + temp_v0_2) == 1) && (D_800EA16C == 0)) { + if (temp_v1 != 0) { + if (temp_v1 == 2) { + *temp_t0 = 1; + goto block_10; + } + // Duplicate return node #23. Try simplifying control flow for better match + return; + } +block_10: + if ((*(&D_800E9F74 + temp_a2) == 0) && (temp_a3->unk254 != 3)) { + if (D_800EA1C0 < 2) { + play_sound(0x100F926, temp_a1, temp_a2, temp_a1 + 0x38, temp_v0_2 + &D_800E9F04, temp_a1 + 0x14); + return; + } + play_sound(0x1008026, temp_a1, temp_a2, temp_a1 + 0x38, temp_v0_2 + &D_800E9F04, temp_a1 + 0x14); + return; + } + // Duplicate return node #23. Try simplifying control flow for better match + return; + } + // Duplicate return node #23. Try simplifying control flow for better match + return; + } + if (*(&D_800E9E24 + temp_v0) == 0xA) { + if (D_800EA1C0 < 2) { + sp3C = temp_v0; + arg0 = temp_a2; + func_800C9018(temp_a2 & 0xFF, 0x100F926, temp_a2, temp_a3); + } else { + sp3C = temp_v0; + arg0 = temp_a2; + func_800C9018(temp_a2 & 0xFF, 0x1008026, temp_a2, temp_a3); + } + phi_v0 = temp_a2 * 4; + phi_a2 = arg0; + } + *(&D_800E9E14 + phi_v0) = 0; + temp_f0 = 1.0f - *(&D_800E9F54 + phi_v0); + temp_f2 = *(&D_800EA130 + phi_v0); + temp_a1_2 = (phi_a2 * 0x3C) + &D_800E9F7C; + temp_a1_2->unk10 = temp_f0 - temp_f2; + if (temp_f0 < temp_f2) { + temp_a1_2->unk10 = 0.0f; + } + *(&D_800E9DC4 + phi_v0) = temp_a1_2->unk2C; + *(&D_800E9DD4 + phi_v0) = temp_a1_2->unk20; + // Duplicate return node #23. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5E38.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800E9DC4; +extern ? D_800E9DD4; +extern ? D_800E9DE4; +extern ? D_800E9DF4; +extern ? D_800E9E54; +extern ? D_800E9E64; +extern ? D_800E9EB4; +extern ? D_800E9EC4; +extern ? D_800E9ED4; +extern ? D_800E9EE4; +extern ? D_800E9F34; +extern ? D_800E9F74; +extern ? D_800E9F78; +extern ? D_800E9F7C; +extern f32 D_800F3678; +extern f32 D_800F367C; +extern f32 D_800F3680; +extern f32 D_800F3684; +extern f32 D_800F3688; +extern f32 D_800F368C; +extern f32 D_800F3690; +extern ? gPlayers; + +void func_800C6108(s32 arg0) { + ? sp-10; + f32 *temp_a0; + f32 *temp_a2_2; + f32 *temp_a3; + f32 *temp_t0; + f32 *temp_t0_2; + f32 *temp_t2; + f32 *temp_t2_2; + f32 *temp_v1_3; + f32 *temp_v1_4; + f32 *temp_v1_5; + f32 temp_f0; + f32 temp_f0_2; + f32 temp_f0_3; + f32 temp_f0_4; + f32 temp_f12; + f32 temp_f2; + f32 temp_f2_2; + s16 temp_t1; + s32 temp_a2; + s32 temp_v0; + u8 *temp_a3_2; + u8 temp_t0_3; + u8 temp_v1_2; + void *temp_a1; + void *temp_a1_2; + void *temp_v1; + f32 *phi_t0; + f32 *phi_a0; + f32 *phi_t2; + + temp_a2 = arg0 & 0xFF; + temp_v0 = temp_a2 * 4; + sp-10.unk10 = arg0; + temp_v1 = (temp_a2 * 0xDD8) + &gPlayers; + temp_f0 = temp_v1->unk98; + temp_a3 = temp_v0 + &D_800E9E64; + *temp_a3 = *(&D_800E9DD4 + temp_v0) + (temp_f0 / *(&D_800E9DC4 + temp_v0)); + if ((temp_f0 < 1800.0f) && ((temp_v1->unk44 & 0x20) != 0x20)) { + temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C; + *temp_a3 = temp_a1->unk28 + (temp_f0 / temp_a1->unk34); + } + temp_a1_2 = (temp_a2 * 0x3C) + &D_800E9F7C; + if (temp_v1->unk94 > 4.75f) { + temp_a0 = temp_v0 + &D_800E9EB4; + temp_t0 = temp_v0 + &D_800E9DE4; + phi_a0 = temp_a0; + if (*temp_a0 < (temp_a1_2->unk18 + D_800F3678)) { + *temp_t0 = *temp_t0 + D_800F367C; + } + phi_t0 = temp_v0 + &D_800E9DE4; + } else { + temp_t0_2 = temp_v0 + &D_800E9DE4; + *temp_t0_2 = 0.0f; + phi_t0 = temp_t0_2; + phi_a0 = temp_v0 + &D_800E9EB4; + } + temp_t1 = temp_v1->unkC0; + if (temp_t1 > 0) { + temp_t2 = temp_v0 + &D_800E9E54; + *temp_t2 = temp_t1; + phi_t2 = temp_t2; + } else { + temp_t2_2 = temp_v0 + &D_800E9E54; + *temp_t2_2 = -temp_t1; + phi_t2 = temp_t2_2; + } + if ((temp_v1->unkBC & 0x10) == 0x10) { + *phi_a0 = *phi_t0 + *temp_a3; + } else { + temp_f2 = D_800F3680; + temp_f0_2 = (*temp_a3 + *phi_t0) - (*phi_t2 / D_800F3684); + *phi_a0 = temp_f0_2; + if (temp_f0_2 < temp_f2) { + *phi_a0 = temp_f2; + } + } + temp_v1_2 = *(&D_800E9F74 + temp_a2); + temp_a3_2 = temp_a2 + &D_800E9F78; + if ((temp_v1_2 != 0) || (*(&D_800E9F78 + temp_a2) != 0)) { + temp_t0_3 = *temp_a3_2; + if (temp_v1_2 != 0) { + if (temp_t0_3 < 0xF) { + *temp_a3_2 = temp_t0_3 + 1; + temp_v1_3 = temp_v0 + &D_800E9DF4; + *temp_v1_3 = *temp_v1_3 + D_800F3688; + } + } else if (temp_t0_3 != 0) { + *temp_a3_2 = temp_t0_3 - 1; + temp_v1_4 = temp_v0 + &D_800E9DF4; + *temp_v1_4 = *temp_v1_4 - D_800F368C; + } + *phi_a0 = *phi_a0 - *(&D_800E9DF4 + temp_v0); + } + temp_a2_2 = temp_v0 + &D_800E9EC4; + temp_f2_2 = *temp_a2_2; + temp_f0_3 = *phi_a0; + temp_f12 = temp_f0_3 - temp_f2_2; + temp_v1_5 = temp_v0 + &D_800E9EE4; + *temp_v1_5 = temp_f12; + if ((temp_f12 > 0.5f) || (*temp_v1_5 < 0.5f)) { + temp_f0_4 = *temp_v1_5 * 0.25f; + *(&D_800E9ED4 + temp_v0) = temp_f0_4; + temp_a1_2->unkC = *(&D_800E9F34 + temp_v0) + (temp_f2_2 + temp_f0_4); + } else { + temp_a1_2->unkC = *(&D_800E9F34 + temp_v0) + temp_f0_3; + } + if (temp_a1_2->unkC > 4.0f) { + temp_a1_2->unkC = 4.0f; + } + *temp_a2_2 = temp_a1_2->unkC; + temp_a1_2->unk38 = (temp_a1_2->unkC / 1.5f) + D_800F3690; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C6108.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C64A0: + +Unable to determine jump table for jr instruction at func_800C64A0.s line 17. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C64A0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800E9E54; +extern ? D_800E9E74; +extern ? D_800E9F14; +extern f32 D_800F3730; +extern f32 D_800F3734; +extern f32 D_800F3738; +extern ? gPlayers; + +void func_800C6758(s32 arg0) { + ? sp-10; + s32 temp_t6; + s32 temp_v0; + s32 temp_v1; + + temp_t6 = arg0 & 0xFF; + temp_v1 = temp_t6 * 4; + sp-10.unk10 = arg0; + temp_v0 = *(&D_800E9E74 + temp_v1); + if (temp_v0 != 2) { + if (temp_v0 != 3) { + if ((temp_v0 != 0xD) && (temp_v0 != 0x11)) { + *(&D_800E9F14 + temp_v1) = 1.0f; + return; + } + goto block_6; + } + *(&D_800E9F14 + temp_v1) = (*(&gPlayers + 0x94 + (temp_t6 * 0xDD8)) / 9.0f) + D_800F3730; + return; + } +block_6: + *(&D_800E9F14 + temp_v1) = (*(&D_800E9E54 + temp_v1) / D_800F3734) + D_800F3738; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C6758.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C683C: + +Unable to determine jump table for jr instruction at func_800C683C.s line 53. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C683C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C70A8: + +Unable to determine jump table for jr instruction at func_800C70A8.s line 279. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C70A8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(?, ?); // extern +s32 func_800C3508(?); // extern +? func_800C5278(?); // extern +? func_800C5578(void *, s32); // extern +? func_800C8EF8(?); // extern +? func_800C9018(u8, ?); // extern +? func_800C9060(u8, ?); // extern +? func_800C90F4(u8, s32, s8 *, s32); // extern +? func_800C97C4(u8); // extern +? func_800C9A88(u8); // extern +? func_800C9D0C(u8); // extern +? func_800CA414(?, ?); // extern +extern s32 D_800DC5E8; +extern ? D_800E9E74; +extern ? D_800E9E94; +extern ? D_800E9EA4; +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA0ED; +extern u8 D_800EA0EE; +extern u8 D_800EA0EF; +extern s8 D_800EA0F0; +extern u8 D_800EA104; +extern ? D_800EA130; +extern u8 D_800EA1C0; +extern s8 D_801657E5; +extern u8 D_8018ED90; +extern ? gPlayers; + +void func_800C76C0(u8 arg0) { + s32 sp38; + s32 *sp34; + u8 *sp30; + s16 temp_v0_12; + s16 temp_v0_13; + s16 temp_v0_8; + s16 temp_v0_9; + s32 *temp_t0; + s32 temp_t1; + s32 temp_t7; + s32 temp_v0; + s32 temp_v0_11; + s32 temp_v1; + s32 temp_v1_4; + s32 temp_v1_5; + s32 temp_v1_6; + s32 temp_v1_7; + s8 *temp_a2; + u8 *temp_v0_3; + u8 *temp_v0_7; + u8 temp_a0; + u8 temp_t6; + u8 temp_v0_10; + u8 temp_v0_2; + u8 temp_v0_4; + u8 temp_v0_5; + u8 temp_v0_6; + void *temp_v1_2; + void *temp_v1_3; + s32 phi_v1; + u8 phi_v0; + s32 phi_v1_2; + s32 phi_v0_2; + s32 phi_a3; + u8 phi_a0; + f32 phi_f10; + f32 *phi_at; + + temp_t6 = arg0 & 0xFF; + temp_t7 = temp_t6 * 4; + temp_t0 = temp_t7 + &D_800E9EA4; + sp34 = temp_t0; + sp38 = temp_t7; + temp_v1 = *temp_t0; + phi_v1 = temp_v1; + if (temp_v1 != 0) { + temp_t1 = temp_v1 + 1; + if (temp_v1 < 0x2BC) { + *temp_t0 = temp_t1; + phi_v1 = temp_t1; + } + arg0 = temp_t6; + phi_v1_2 = phi_v1; + if (phi_v1 == 2) { + arg0 = temp_t6; + func_800C9018(temp_t6, 0x100FA28); + func_800C9018(arg0, 0x100FF2C); + func_800C9018(arg0, 0x100FA4C); + func_800C5578((arg0 * 0x3C) + &D_800E9F7C, *(&D_800E9E94 + sp38)); + temp_v0 = gModeSelection; + *(&D_800E9E74 + sp38) = 0; + if (temp_v0 != 0) { + if (temp_v0 != 1) { + if (temp_v0 != 2) { + if (temp_v0 != 3) { + + } else { + temp_v0_2 = D_800EA1C0; + if (temp_v0_2 != 1) { + if (temp_v0_2 != 2) { + if (temp_v0_2 != 3) { + + } else if ((D_800EA0EC.unk0 == 1) && (D_800EA0ED == 1) && (D_800EA0EE == 1) && (D_800EA0EF == 1)) { + func_800C5278(5); + func_800C9018(arg0, 0x1008026); + func_800C8EF8(0x17); + *(&D_800EA0EC + arg0) = 2; + func_800C90F4(arg0, (*(&gPlayers + 0x254 + (D_800DC5E8 * 0xDD8)) * 0x10) + 0x2900800D); + } + } else if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1) && (D_800EA0EC.unk2 == 1)) { + func_800C5278(5); + func_800C9018(arg0, 0x1008026); + func_800C8EF8(0x17); + *(&D_800EA0EC + arg0) = 2; + func_800C90F4(arg0, (*(&gPlayers + 0x254 + (D_800DC5E8 * 0xDD8)) * 0x10) + 0x2900800D); + } + } else { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + func_800C5278(5); + func_800C9018(arg0, 0x100F926); + func_800C8EF8(0x17); + *(&D_800EA0EC + arg0) = 2; + func_800C90F4(arg0, (*(&gPlayers + 0x254 + (D_800DC5E8 * 0xDD8)) * 0x10) + 0x2900800D); + } + } + } else { + temp_v0_3 = arg0 + &D_800EA0EC; + *temp_v0_3 = 2; + sp30 = temp_v0_3; + func_800C9060(arg0, 0x1900F103); + temp_v0_4 = D_800EA1C0; + if (temp_v0_4 != 1) { + if (temp_v0_4 != 2) { + if (temp_v0_4 != 3) { + + } else { + temp_v0_5 = D_800EA104; + if ((temp_v0_5 == 0) && (*sp30 == 1)) { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + func_800C8EF8(0xD); + D_800EA104 = 1; + } else if ((temp_v0_5 == 1) && (*sp30 == 1)) { + if (func_800C3508(1) != 0xD) { + D_800EA104 = 0; + func_800C8EF8(0xE); + } + D_800EA104 = 2; + } else if ((temp_v0_5 == 2) && (*sp30 == 1)) { + func_800C5278(5); + if (func_800C3508(1) != 0xE) { + D_800EA104 = 0; + func_800CA414(0xE, 0x17); + } + D_800EA104 = 3; + } + } + } else { + temp_v0_6 = D_800EA104; + if ((temp_v0_6 == 0) && (*sp30 == 1)) { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + func_800CA414(0xD, 0x17); + D_800EA104 = 1; + } else if ((temp_v0_6 == 1) && (*sp30 == 1)) { + func_800C5278(5); + if (func_800C3508(1) != 0xD) { + D_800EA104 = 0; + func_800CA414(0xE, 0x17); + } + D_800EA104 = 2; + } + } + } else { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + func_800C97C4(arg0); + D_800EA0F0 = 2; + func_800C9A88(arg0); + func_800CA414(0xD, 0x17); + } + } + phi_v1_2 = *sp34; + } else { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + func_800C97C4(arg0); + D_800EA0F0 = 2; + func_800C9A88(0); + *(&D_800EA0EC + arg0) = 2; + func_800C9060(arg0, 0x1900F103); + if (D_801657E5 == 1) { + func_800CA414(0xD, 0x10); + } else if (D_8018ED90 == 1) { + func_800CA414(0xE, 0x10); + } else { + func_800C3448(0x1640010, 0x10); + } + phi_v1_2 = *sp34; + } + } else { + temp_v0_7 = arg0 + &D_800EA0EC; + *temp_v0_7 = 2; + sp30 = temp_v0_7; + func_800C9060(arg0, 0x1900F103); + if (D_800EA1C0 == 0) { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + func_800C5278(5); + temp_v0_8 = *(&gPlayers + 4 + (arg0 * 0xDD8)); + if (temp_v0_8 == 0) { + func_800C97C4(arg0); + D_800EA0F0 = 2; + func_800C9A88(arg0); + func_800CA414(0xD, 0x10); + } else if (temp_v0_8 < 4) { + func_800C97C4(arg0); + D_800EA0F0 = 2; + func_800C9A88(arg0); + func_800CA414(0xE, 0x10); + } else { + func_800C3448(0xC1606400); + func_800CA414(0xF, 0x18); + } + } else { + *sp30 = 2; + func_800C9060(arg0, 0x1900F103); + temp_v0_9 = *(&gPlayers + 4 + (arg0 * 0xDD8)); + if (temp_v0_9 == 0) { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + func_800C97C4(arg0); + D_800EA0F0 = 2; + func_800C9A88(arg0); + func_800CA414(0xD, 0x10); + goto block_23; + } + if (temp_v0_9 < 4) { + if (D_800EA104 == 0) { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + } + func_800C97C4(arg0); + D_800EA0F0 = 2; + func_800C9A88(arg0); + func_800CA414(0xE, 0x10); + goto block_23; + } + temp_v0_10 = D_800EA104; + phi_v0 = temp_v0_10; + if (temp_v0_10 == 0) { + func_800C3448(0x100100FF); + func_800C3448(0x110100FF); + func_800C3448(0xC1606400); + func_800CA414(0xF, 0x18); +block_23: + phi_v0 = D_800EA104; + } + if ((phi_v0 != 0) || (*sp30 != 1)) { + func_800C5278(5); + } + } + phi_v1_2 = *sp34; + } + } + temp_a0 = arg0; + temp_v0_11 = gModeSelection; + phi_v0_2 = temp_v0_11; + phi_a3 = 1; + phi_a0 = temp_a0; + phi_v0_2 = temp_v0_11; + phi_a3 = 1; + phi_v0_2 = temp_v0_11; + if (phi_v1_2 == 0x1E) { + if (temp_v0_11 != 0) { + if (temp_v0_11 != 1) { + if (temp_v0_11 != 2) { + if (temp_v0_11 != 3) { + + } + } else { + temp_v1_2 = (temp_a0 * 0xDD8) + &gPlayers; + arg0 = temp_a0; + if (temp_v1_2->unk4 == 0) { + *(&D_800EA0EC + temp_a0) = 2; + arg0 = temp_a0; + func_800C90F4(temp_a0, (temp_v1_2->unk254 * 0x10) + 0x2900800D); + phi_v0_2 = gModeSelection; + } + phi_a3 = 1; + goto block_97; + } + } else { + if (D_801657E5 == 1) { + *(&D_800EA0EC + temp_a0) = 2; + arg0 = temp_a0; + func_800C90F4(temp_a0, (*(&gPlayers + 0x254 + (temp_a0 * 0xDD8)) * 0x10) + 0x29008007); + phi_v0_2 = gModeSelection; + goto block_96; + } + arg0 = temp_a0; + if (D_8018ED90 == 1) { + *(&D_800EA0EC + temp_a0) = 2; + arg0 = temp_a0; + func_800C90F4(temp_a0, (*(&gPlayers + 0x254 + (temp_a0 * 0xDD8)) * 0x10) + 0x2900800D); + phi_v0_2 = gModeSelection; +block_96: + } + goto block_97; + } + } else { + temp_v1_3 = (temp_a0 * 0xDD8) + &gPlayers; + temp_v0_12 = temp_v1_3->unk4; + temp_a2 = temp_a0 + &D_800EA0EC; + if (temp_v0_12 == 0) { + *temp_a2 = 2; + arg0 = temp_a0; + func_800C90F4(temp_a0, (temp_v1_3->unk254 * 0x10) + 0x29008007, temp_a2, 1); + } else if (temp_v0_12 < 4) { + *temp_a2 = 2; + arg0 = temp_a0; + func_800C90F4(temp_a0, (temp_v1_3->unk254 * 0x10) + 0x2900800D, temp_a2, 1); + } else { + *temp_a2 = 2; + arg0 = temp_a0; + func_800C90F4(temp_a0, (temp_v1_3->unk254 * 0x10) + 0x29008003, temp_a2, 1); + } + phi_v0_2 = gModeSelection; +block_97: + phi_a0 = arg0; + } + } + if (phi_v0_2 != 0) { + if (phi_v0_2 != phi_a3) { + if (phi_v0_2 != 2) { + if (phi_v0_2 != 3) { + return; + } + temp_v1_4 = *sp34; + if (temp_v1_4 >= 0x65) { + if (temp_v1_4 == 0x65) { + func_800C97C4(phi_a0); + return; + } + // Duplicate return node #135. Try simplifying control flow for better match + return; + } + phi_f10 = temp_v1_4 / 120.0f; + phi_at = &D_800EA130 + sp38; + goto block_134; + } + temp_v1_5 = *sp34; + if (phi_a3 == D_800EA1C0) { + if (temp_v1_5 >= 0x65) { + if (temp_v1_5 == 0x65) { + func_800C9D0C(phi_a0); + } + } else { + *(&D_800EA130 + sp38) = temp_v1_5 / 120.0f; + } + } else if (temp_v1_5 >= 0x65) { + if (temp_v1_5 == 0x65) { + func_800C97C4(phi_a0); + } + } else { + *(&D_800EA130 + sp38) = temp_v1_5 / 120.0f; + } + goto block_126; + } +block_126: + temp_v1_6 = *sp34; + if (temp_v1_6 >= 0x12D) { + if (temp_v1_6 == 0x12D) { + func_800C9D0C(0); + return; + } + // Duplicate return node #135. Try simplifying control flow for better match + return; + } + *(&D_800EA130 + sp38) = temp_v1_6 / 350.0f; + return; + } + temp_v0_13 = *(&gPlayers + 4 + (phi_a0 * 0xDD8)); + temp_v1_7 = *sp34; + if (temp_v0_13 == 0) { + if (temp_v1_7 >= 0x15F) { + if (temp_v1_7 == 0x15F) { + func_800C9D0C(phi_a0); + return; + } + // Duplicate return node #135. Try simplifying control flow for better match + return; + } + phi_f10 = temp_v1_7 / 400.0f; + phi_at = &D_800EA130 + sp38; +block_134: + *phi_at = phi_f10; + // Duplicate return node #135. Try simplifying control flow for better match + return; + } + if (temp_v0_13 < 4) { + if (temp_v1_7 >= 0x15F) { + if (temp_v1_7 == 0x15F) { + func_800C9D0C(phi_a0); + return; + } + // Duplicate return node #135. Try simplifying control flow for better match + return; + } + *(&D_800EA130 + sp38) = temp_v1_7 / 400.0f; + return; + } + if (temp_v1_7 >= 0x12D) { + if (temp_v1_7 == 0x12D) { + func_800C97C4(phi_a0); + return; + } + // Duplicate return node #135. Try simplifying control flow for better match + return; + } + *(&D_800EA130 + sp38) = temp_v1_7 / 330.0f; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C76C0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C9018(s32, ?); // extern +? func_800C94A4(s32); // extern +? func_800C97C4(s32); // extern +? play_sound(s32, void *, s32, ? *, ? *, void *); // extern +extern ? D_800E9F74; +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA1C0; +extern ? D_800EA1D4; +extern ? gPlayers; + +void func_800C847C(s32 arg0) { + void *sp3C; + u8 *sp38; + s16 temp_v0_2; + s32 temp_s0; + u8 *temp_v0; + u8 *temp_v0_3; + void *temp_a1; + void *temp_a1_2; + void *temp_t8; + + temp_s0 = arg0 & 0xFF; + temp_t8 = (temp_s0 * 0xDD8) + &gPlayers; + sp3C = temp_t8; + if ((temp_t8->unkDE & 1) == 1) { + temp_v0 = temp_s0 + &D_800E9F74; + if (*temp_v0 == 0) { + if (D_800EA1C0 < 2) { + sp38 = temp_v0; + func_800C9018(temp_s0 & 0xFF, 0x100F926); + } else { + sp38 = temp_v0; + func_800C9018(temp_s0 & 0xFF, 0x1008026); + } + sp38 = sp38; + func_800C97C4(temp_s0 & 0xFF); + *sp38 = 1; + func_800C94A4(temp_s0 & 0xFF); + temp_v0_2 = gCurrentCourseId; + if (((temp_v0_2 == 1) || (temp_v0_2 == 2) || (temp_v0_2 == 3) || (temp_v0_2 == 4) || (temp_v0_2 == 5) || (temp_v0_2 == 6) || (temp_v0_2 == 7) || (temp_v0_2 == 0xC) || (temp_v0_2 == 0x12) || (temp_v0_2 == 0x13)) && (*(&D_800EA0EC + temp_s0) == 0)) { + temp_a1 = (temp_s0 * 0x3C) + &D_800E9F7C; + play_sound((sp3C->unk254 * 0x10) + 0x29008005, temp_a1, temp_s0 & 0xFF, &D_800EA1D4, &D_800EA1D4, temp_a1 + 0x14); + return; + } + // Duplicate return node #21. Try simplifying control flow for better match + return; + } + // Duplicate return node #21. Try simplifying control flow for better match + return; + } + temp_v0_3 = temp_s0 + &D_800E9F74; + if (*temp_v0_3 == 1) { + sp38 = temp_v0_3; + func_800C97C4(temp_s0 & 0xFF); + *temp_v0_3 = 2; + func_800C94A4(temp_s0 & 0xFF); + *temp_v0_3 = 0; + if ((gCurrentCourseId == 6) && (*(&D_800EA0EC + temp_s0) == 0)) { + temp_a1_2 = (temp_s0 * 0x3C) + &D_800E9F7C; + play_sound((sp3C->unk254 * 0x10) + 0x29008008, temp_a1_2, temp_s0 & 0xFF, &D_800EA1D4, &D_800EA1D4, temp_a1_2 + 0x14); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C847C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C90F4(s32, s32); // extern +extern ? D_800E9F24; +extern ? gPlayers; + +void func_800C86D8(s32 arg0) { + s32 temp_t6; + void *temp_v0; + + temp_t6 = arg0 & 0xFF; + temp_v0 = (temp_t6 * 0xDD8) + &gPlayers; + if (((temp_v0->unkBC & 0x40000000) != 0x40000000) && (*(&D_800E9F24 + temp_t6) == 1)) { + func_800C90F4(temp_t6, (temp_v0->unk254 * 0x10) + 0x29008008); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C86D8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800E9F24; +extern ? D_800E9F2C; +extern ? D_800E9F34; +extern ? D_800E9F54; +extern f32 D_800F3894; +extern f32 D_800F3898; +extern f32 D_800F389C; +extern f32 D_800F38A0; +extern f32 D_800F38A4; +extern f32 D_800F38A8; +extern ? gPlayers; + +void func_800C8770(s32 arg0) { + ? sp-10; + f32 *temp_a1_2; + f32 *temp_a1_3; + f32 *temp_v0_3; + f32 *temp_v0_4; + f32 temp_f0; + f32 temp_f0_2; + s32 temp_t6; + s32 temp_v1_3; + s32 temp_v1_4; + u8 *temp_v0; + u8 *temp_v0_2; + u8 *temp_v1; + u8 temp_a1; + u8 temp_v1_2; + u8 phi_v1; + u8 *phi_v0; + + temp_t6 = arg0 & 0xFF; + sp-10.unk10 = arg0; + if ((*(&gPlayers + 0xBC + (temp_t6 * 0xDD8)) & 0x40000000) == 0x40000000) { + temp_v1 = temp_t6 + &D_800E9F2C; + temp_a1 = *temp_v1; + temp_v0 = temp_t6 + &D_800E9F24; + *temp_v0 = 1; + phi_v0 = temp_v0; + if (temp_a1 < 0xFA) { + *temp_v1 = temp_a1 + 1; + } + phi_v1 = *temp_v0; + } else { + *(&D_800E9F2C + temp_t6) = 0; + temp_v0_2 = temp_t6 + &D_800E9F24; + temp_v1_2 = *temp_v0_2; + phi_v1 = temp_v1_2; + phi_v0 = temp_v0_2; + if (temp_v1_2 == 1) { + *temp_v0_2 = 2; + phi_v1 = 2 & 0xFF; + } + } + if (phi_v1 != 1) { + if (phi_v1 != 2) { + return; + } + temp_v1_3 = temp_t6 * 4; + temp_a1_2 = temp_v1_3 + &D_800E9F34; + temp_f0 = *temp_a1_2; + if (D_800F38A0 < temp_f0) { + temp_v0_3 = temp_v1_3 + &D_800E9F54; + *temp_a1_2 = temp_f0 - D_800F38A4; + *temp_v0_3 = *temp_v0_3 - D_800F38A8; + return; + } + *temp_a1_2 = 0.0f; + *(&D_800E9F54 + temp_v1_3) = 0.0f; + *phi_v0 = 0; + // Duplicate return node #14. Try simplifying control flow for better match + return; + } + temp_v1_4 = temp_t6 * 4; + temp_a1_3 = temp_v1_4 + &D_800E9F34; + temp_f0_2 = *temp_a1_3; + if (temp_f0_2 < D_800F3894) { + temp_v0_4 = temp_v1_4 + &D_800E9F54; + *temp_a1_3 = temp_f0_2 + D_800F3898; + *temp_v0_4 = *temp_v0_4 + D_800F389C; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8770.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CAC08(); // extern +extern u8 D_800EA168; +extern ? gPlayers; + +void func_800C8920(void) { + if ((D_800EA168 != 0) && ((gPlayers.unkBC & 0x40000000) != 0x40000000) && ((gPlayers.unkE94 & 0x40000000) != 0x40000000) && ((gPlayers.unk1C6C & 0x40000000) != 0x40000000) && ((gPlayers.unk2A44 & 0x40000000) != 0x40000000) && ((gPlayers.unk381C & 0x40000000) != 0x40000000) && ((gPlayers.unk45F4 & 0x40000000) != 0x40000000) && ((gPlayers.unk53CC & 0x40000000) != 0x40000000) && ((gPlayers.unk61A4 & 0x40000000) != 0x40000000)) { + func_800CAC08(); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8920.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern f32 D_800EA178; +extern f32 D_800EA17C; +extern u16 D_800EA180; +extern f32 D_800F38AC; +extern f32 D_800F38B0; + +void func_800C89E4(void) { + ? sp-10; + f32 temp_f6; + s32 temp_v0_2; + u16 temp_t6; + u16 temp_v0; + f32 phi_f6; + + temp_v0 = D_800EA180; + temp_t6 = temp_v0 + 1; + if (temp_v0 != 0) { + temp_v0_2 = temp_t6 & 0xFFFF; + D_800EA180 = temp_t6; + if (temp_v0_2 == 2) { + D_800EA17C = 1.0f; + } + if (temp_v0_2 < 0xF) { + temp_f6 = temp_v0_2; + phi_f6 = temp_f6; + if (temp_v0_2 < 0) { + phi_f6 = temp_f6 + 4294967296.0f; + } + D_800EA178 = 1.0f - (phi_f6 * D_800F38AC); + } + if ((temp_v0_2 >= 0x33) && (temp_v0_2 < 0x96)) { + D_800EA17C = 1.0f - ((temp_v0_2 - 0x32) / 110.0f); + } + if (temp_v0_2 == 0x12D) { + D_800EA17C = 0.0f; + } + if (temp_v0_2 == 0x321) { + D_800EA178 = 1.0f; + D_800EA180 = 0; + D_800EA17C = D_800F38B0; + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C89E4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800E9F7C; +extern u8 D_800EA16C; +extern f32 D_800EA17C; +extern u16 D_800EA184; +extern u8 D_800EA1C0; +extern f32 D_800F38B4; + +void func_800C8AE4(void) { + ? sp-10; + u16 temp_t8; + u16 temp_v0; + u8 temp_v0_2; + u16 phi_v0; + + if (gCurrentCourseId == 8) { + temp_v0 = D_800EA184; + phi_v0 = temp_v0; + if (temp_v0 != 0) { + temp_t8 = temp_v0 + 1; + if (D_800EA16C == 0) { + D_800EA184 = temp_t8; + phi_v0 = temp_t8 & 0xFFFF; + } + if (phi_v0 == 0x12C) { + D_800EA17C = D_800F38B4; + D_800EA184 = 0; + return; + } + // Duplicate return node #26. Try simplifying control flow for better match + return; + } + temp_v0_2 = D_800EA1C0; + if (temp_v0_2 != 0) { + if (temp_v0_2 != 1) { + if (temp_v0_2 != 2) { + if (temp_v0_2 != 3) { + return; + } + if ((D_800E9F7C.unk14 != 0) || (D_800E9F7C.unk50 != 0) || (D_800E9F7C.unk8C != 0) || (D_800E9F7C.unkC8 != 0)) { + D_800EA17C = 0.0f; + goto block_25; + } + // Duplicate return node #26. Try simplifying control flow for better match + return; + } + if ((D_800E9F7C.unk14 != 0) || (D_800E9F7C.unk50 != 0) || (D_800E9F7C.unk8C != 0)) { + D_800EA17C = 0.0f; + D_800EA184 = 1; + return; + } + // Duplicate return node #26. Try simplifying control flow for better match + return; + } + if ((D_800E9F7C.unk14 != 0) || (D_800E9F7C.unk50 != 0)) { + D_800EA17C = 0.0f; +block_25: + D_800EA184 = 1; + } + // Duplicate return node #26. Try simplifying control flow for better match + return; + } + if (D_800E9F7C.unk14 != 0) { + D_800EA17C = 0.0f; + D_800EA184 = 1; + return; + } + // Duplicate return node #26. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8AE4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800E9F54; +extern ? D_800EA06C; +extern ? D_800EA130; + +void func_800C8C7C(s32 arg0) { + s32 temp_t6; + s32 temp_v0; + + temp_t6 = arg0 & 0xFF; + temp_v0 = temp_t6 * 4; + *(&D_800EA06C + 8 + (temp_t6 * 0x10)) = (1.0f - *(&D_800E9F54 + temp_v0)) - *(&D_800EA130 + temp_v0); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8C7C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C5D04(s32); // extern +? func_800C5E38(s32); // extern +? func_800C6108(s32); // extern +? func_800C64A0(s32); // extern +? func_800C6758(s32); // extern +? func_800C683C(s32); // extern +? func_800C70A8(s32); // extern +? func_800C76C0(s32); // extern +? func_800C847C(s32); // extern +? func_800C86D8(s32); // extern +? func_800C8770(s32); // extern +? func_800C8920(); // extern +? func_800C89E4(); // extern +? func_800C8AE4(); // extern +? func_800C8C7C(s32); // extern +extern u8 D_800EA1C0; + +void func_800C8CCC(void) { + s32 temp_t6; + s32 temp_t8; + s32 temp_t9; + s32 temp_v0; + s32 temp_v0_2; + s32 phi_s0; + s32 phi_s0_2; + s32 phi_v0; + s32 phi_s0_3; + + temp_v0 = D_800EA1C0 + 1; + phi_s0 = 0; + phi_v0 = temp_v0; + if (temp_v0 > 0) { + do { + func_800C5D04(phi_s0 & 0xFF); + func_800C5E38(phi_s0 & 0xFF); + func_800C6108(phi_s0 & 0xFF); + func_800C64A0(phi_s0 & 0xFF); + func_800C6758(phi_s0 & 0xFF); + func_800C683C(phi_s0 & 0xFF); + func_800C70A8(phi_s0 & 0xFF); + func_800C76C0(phi_s0 & 0xFF); + func_800C847C(phi_s0 & 0xFF); + func_800C86D8(phi_s0 & 0xFF); + temp_t6 = (phi_s0 + 1) & 0xFF; + temp_v0_2 = D_800EA1C0 + 1; + phi_s0 = temp_t6; + phi_v0 = temp_v0_2; + } while (temp_t6 < temp_v0_2); + } + phi_s0_2 = 0; + phi_s0_3 = 0; + if (gModeSelection == 0) { + do { + func_800C8770(phi_s0_2 & 0xFF); + func_800C8C7C(phi_s0_2 & 0xFF); + temp_t8 = (phi_s0_2 + 1) & 0xFF; + phi_s0_2 = temp_t8; + } while (temp_t8 < 8); + } else if (phi_v0 > 0) { + do { + func_800C8770(phi_s0_3 & 0xFF); + func_800C8C7C(phi_s0_3 & 0xFF); + temp_t9 = (phi_s0_3 + 1) & 0xFF; + phi_s0_3 = temp_t9; + } while (temp_t9 < (D_800EA1C0 + 1)); + } + func_800C8920(); + func_800C89E4(); + func_800C8AE4(); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8CCC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? play_sound(s32, ? *, ?, ? *, ? *, ? *); // extern +extern ? D_800EA1C8; +extern ? D_800EA1D4; +extern ? D_800EA1DC; + +void play_sound2(s32 arg0) { + s32 phi_a0; + s32 phi_a0_2; + + phi_a0 = arg0; + if ((arg0 == 0x49008018) && (gCurrentCourseId == 0x12)) { + phi_a0 = 0x49008027; + } + phi_a0_2 = phi_a0; + if ((phi_a0 == 0x49008019) && (gCurrentCourseId == 0x12)) { + phi_a0_2 = 0x49008028; + } + play_sound(phi_a0_2, &D_800EA1C8, 4, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/play_sound2.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(s32); // extern +extern u16 D_800EA15C; + +void func_800C8EAC(u16 arg0) { + func_800C3448(arg0 | 0x10000); + D_800EA15C = arg0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8EAC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(s32); // extern +extern u16 D_800EA160; + +void func_800C8EF8(u16 arg0) { + func_800C3448(arg0 | 0x1010000); + D_800EA160 = arg0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8EF8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C36C4(?, ?, s32, ?); // extern + +void func_800C8F44(s32 arg0) { + func_800C36C4(0, 0, arg0 & 0xFF, 1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8F44.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? play_sound(s32, void *, s32, ? *, ? *, ? *); // extern +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA108; +extern ? D_800EA1D4; +extern ? D_800EA1DC; + +void func_800C8F80(s32 arg0, s32 arg1) { + s32 temp_a2; + u8 *temp_v1; + u8 temp_v0; + + temp_a2 = arg0 & 0xFF; + if (D_800EA108 == 0) { + temp_v1 = temp_a2 + &D_800EA0EC; + temp_v0 = *temp_v1; + if (temp_v0 != 0) { + if (temp_v0 == 2) { + *temp_v1 = 1; + goto block_4; + } + } else { +block_4: + play_sound(arg1, (temp_a2 * 0x3C) + &D_800E9F7C, temp_a2, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8F80.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C5578(void *, s32); // extern +extern ? D_800E9F7C; + +void func_800C9018(s32 arg0) { + s32 temp_a2; + + temp_a2 = arg0 & 0xFF; + func_800C5578((temp_a2 * 0x3C) + &D_800E9F7C, temp_a2); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9018.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? play_sound(s32, void *, s32, ? *, ? *, void *); // extern +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA108; +extern ? D_800EA1D4; + +void func_800C9060(s32 arg0, s32 arg1) { + s32 temp_a2; + u8 *temp_v1; + u8 temp_v0; + void *temp_a1; + + temp_a2 = arg0 & 0xFF; + if (D_800EA108 == 0) { + temp_v1 = temp_a2 + &D_800EA0EC; + temp_v0 = *temp_v1; + if (temp_v0 != 0) { + if (temp_v0 == 2) { + *temp_v1 = 1; + goto block_4; + } + } else { +block_4: + temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C; + play_sound(arg1, temp_a1, temp_a2, &D_800EA1D4, &D_800EA1D4, temp_a1 + 0x14); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9060.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? play_sound(s32, void *, s32, ? *, ? *, void *); // extern +extern ? D_800E9F2C; +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA108; +extern ? D_800EA150; +extern s16 D_800EA180; +extern ? D_800EA1D4; +extern ? gPlayers; + +void func_800C90F4(s32 arg0, s32 arg1) { + s32 temp_a2; + s32 temp_t9; + u8 *temp_v1; + u8 temp_v0; + void *temp_a1; + void *temp_a1_2; + + temp_a2 = arg0 & 0xFF; + if (D_800EA108 == 0) { + temp_v1 = temp_a2 + &D_800EA0EC; + temp_v0 = *temp_v1; + if (temp_v0 != 0) { + if (temp_v0 == 2) { + *temp_v1 = 1; + goto block_4; + } + // Duplicate return node #12. Try simplifying control flow for better match + return; + } +block_4: + temp_t9 = arg1 & ~0xF0; + if ((temp_t9 == 0x29008003) || (temp_t9 == 0x29008004) || (temp_t9 == 0x29008005)) { + D_800EA180 = 1; + } + if (((*(&gPlayers + 0xBC + (temp_a2 * 0xDD8)) & 0x40000000) == 0x40000000) && (*(&D_800E9F2C + temp_a2) >= 0x1F)) { + temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C; + play_sound(arg1, temp_a1, temp_a2, &D_800EA150, &D_800EA1D4, temp_a1 + 0x14); + return; + } + temp_a1_2 = (temp_a2 * 0x3C) + &D_800E9F7C; + play_sound(arg1, temp_a1_2, temp_a2, &D_800EA1D4, &D_800EA1D4, temp_a1_2 + 0x14); + // Duplicate return node #12. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C90F4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C90F4(s32, s32); // extern +extern s32 D_803B7194; +extern ? gPlayers; + +void func_800C9250(s32 arg0) { + s32 temp_t6; + + temp_t6 = arg0 & 0xFF; + func_800C90F4(temp_t6, (*(&gPlayers + 0x254 + (temp_t6 * 0xDD8)) * 0x10) + (D_803B7194 & 1) + 0x29008001); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9250.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800C1C88(s32, void *, void *, ? *, s32, s32); // extern +? play_sound(s32, void *, s32, ? *, ? *, void *); // extern +extern ? D_800E9F2C; +extern ? D_800EA06C; +extern u8 D_800EA0F0; +extern u8 D_800EA108; +extern ? D_800EA150; +extern u8 D_800EA1C0; +extern ? D_800EA1C8; +extern ? D_800EA1D4; +extern ? gPlayers; + +void func_800C92CC(s32 arg0, s32 arg1) { + void *sp68; + void *sp64; + s32 temp_s4; + s32 temp_t3; + u8 temp_v0; + void *temp_s1; + void *temp_t0; + void *temp_v0_2; + s32 phi_s0; + + temp_s4 = arg0 & 0xFF; + if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) { + temp_v0 = D_800EA1C0; + if (temp_v0 < 2) { + phi_s0 = 0; + if (temp_v0 >= 0) { + temp_s1 = (temp_s4 * 0xDD8) + &gPlayers; + sp64 = temp_s1 + 0x34; + sp68 = temp_s1 + 0x14; + do { + temp_v0_2 = func_800C1C88(temp_s4 & 0xFF, sp68, sp64, &D_800EA1C8, phi_s0, arg1); + if (temp_v0_2 != 0) { + temp_v0_2->unk34 = 170.0f; + temp_t0 = (temp_s4 * 0x10) + 0xC + &D_800EA06C; + if (((temp_s1->unkBC & 0x40000000) == 0x40000000) && (*(&D_800E9F2C + temp_s4) >= 0x1F)) { + play_sound((temp_s1->unk254 * 0x10) + arg1, temp_v0_2 + 0x18, phi_s0 & 0xFF, &D_800EA150, &D_800EA1D4, temp_t0); + } else { + play_sound((temp_s1->unk254 * 0x10) + arg1, temp_v0_2 + 0x18, phi_s0 & 0xFF, temp_v0_2 + 0x2C, &D_800EA1D4, temp_t0); + } + } + temp_t3 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t3; + } while (temp_t3 < (D_800EA1C0 + 1)); + } + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C92CC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C94A4: + +Unable to determine jump table for jr instruction at func_800C94A4.s line 48. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C94A4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C5578(void *, s32, s32); // extern +extern ? D_800E9F7C; +extern ? gPlayers; + +void func_800C97C4(s32 arg0) { + s32 temp_a2; + void *temp_s0; + void *temp_s1; + + temp_a2 = arg0 & 0xFF; + temp_s1 = (temp_a2 * 0xDD8) + &gPlayers; + temp_s0 = (temp_a2 * 0x3C) + &D_800E9F7C; + func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF00, temp_a2); + func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF14); + func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF2E); + func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF36); + func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF3E); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C97C4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800C1C88(?, s32, ?, ? *, s32, s32); // extern +? play_sound(s32, void *, s32, void *, ? *, ? *); // extern +extern u8 D_800EA0F0; +extern u8 D_800EA108; +extern u8 D_800EA1C0; +extern ? D_800EA1C8; +extern ? D_800EA1D4; +extern ? D_800EA1DC; + +void func_800C98B8(s32 arg0, ? arg1, s32 arg2) { + s32 temp_t0; + void *temp_v0; + s32 phi_s0; + + if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) { + phi_s0 = 0; + if ((D_800EA1C0 + 1) > 0) { + do { + temp_v0 = func_800C1C88(0, arg0, arg1, &D_800EA1C8, phi_s0, arg2); + if (temp_v0 != 0) { + temp_v0->unk34 = 170.0f; + play_sound(arg2, temp_v0 + 0x18, phi_s0 & 0xFF, temp_v0 + 0x2C, &D_800EA1D4, &D_800EA1DC); + } + temp_t0 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t0; + } while (temp_t0 < (D_800EA1C0 + 1)); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C98B8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800C21E8(s32, ?); // extern +? func_800C5578(s32, ?); // extern +extern u8 D_800EA108; +extern u8 D_800EA1C0; + +void func_800C99E0(s32 arg0, ? arg1) { + s32 temp_t9; + s32 temp_v0; + s32 phi_s0; + + if (D_800EA108 == 0) { + phi_s0 = 0; + if ((D_800EA1C0 + 1) > 0) { + do { + temp_v0 = func_800C21E8(arg0, arg1); + if (temp_v0 != 0) { + func_800C5578(temp_v0, arg1); + } + temp_t9 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t9; + } while (temp_t9 < (D_800EA1C0 + 1)); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C99E0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C9A88: + +Unable to determine jump table for jr instruction at func_800C9A88.s line 46. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9A88.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800C21E8(void *, s32, s32); // extern +? func_800C550C(s32); // extern +extern ? gPlayers; + +void func_800C9D0C(s32 arg0) { + s32 temp_a2; + void *temp_v0; + + temp_a2 = arg0 & 0xFF; + temp_v0 = (temp_a2 * 0xDD8) + &gPlayers; + func_800C550C(func_800C21E8(temp_v0 + 0x14, temp_v0->unk254 + 0x31028000, temp_a2)); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9D0C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800C1C88(?, s32, s32, ? *, s32, s32); // extern +? play_sound(s32, void *, s32, ? *, ? *, ? *); // extern +extern u8 D_800EA0F0; +extern u8 D_800EA108; +extern ? D_800EA178; +extern ? D_800EA17C; +extern u8 D_800EA1C0; +extern ? D_800EA1C8; +extern ? D_800EA1D4; +extern ? D_800EA1DC; + +void func_800C9D80(s32 arg0, s32 arg1, s32 arg2) { + s32 temp_t8; + u8 temp_v0; + void *temp_v0_2; + s32 phi_s0; + + if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) { + temp_v0 = D_800EA1C0; + if (temp_v0 < 4) { + phi_s0 = 0; + if (temp_v0 >= 0) { + do { + temp_v0_2 = func_800C1C88(0, arg0, arg1, &D_800EA1C8, phi_s0, arg2); + if (temp_v0_2 != 0) { + temp_v0_2->unk34 = 170.0f; + if (arg2 == 0x5103700B) { + play_sound(arg2, temp_v0_2 + 0x18, phi_s0 & 0xFF, &D_800EA178, &D_800EA17C, &D_800EA1DC); + } else { + play_sound(arg2, temp_v0_2 + 0x18, phi_s0 & 0xFF, temp_v0_2 + 0x2C, &D_800EA1D4, &D_800EA1DC); + } + } + temp_t8 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t8; + } while (temp_t8 < (D_800EA1C0 + 1)); + } + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9D80.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800C21E8(s32, ?); // extern +? func_800C5578(s32, ?); // extern +extern u8 D_800EA1C0; + +void func_800C9EF4(s32 arg0, ? arg1) { + s32 temp_t8; + s32 temp_v0; + s32 phi_s0; + + phi_s0 = 0; + if ((D_800EA1C0 + 1) > 0) { + do { + temp_v0 = func_800C21E8(arg0, arg1); + if (temp_v0 != 0) { + func_800C5578(temp_v0, arg1); + } + temp_t8 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t8; + } while (temp_t8 < (D_800EA1C0 + 1)); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9EF4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CBBB8(?, ?); // extern +? play_sound2(?); // extern +extern s8 D_800EA16C; + +void func_800C9F90(s32 arg0) { + if ((arg0 & 0xFF) != 0) { + play_sound2(0x49008005); + func_800CBBB8(0xF1000000, 0); + D_800EA16C = 1; + return; + } + play_sound2(0x49008006); + func_800CBBB8(0xF2000000, 0); + D_800EA16C = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9F90.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(s32); // extern +? func_800C36C4(?, ?, ?, ?); // extern + +void func_800CA008(u8 arg0, u8 arg1) { + u8 phi_v0; + + func_800C36C4(0, 0, 0x7F, 1); + func_800C36C4(1, 0, 0x7F, 1); + phi_v0 = arg1; + if (arg1 >= 4) { + if ((arg1 == 0xC) || (arg1 == 4)) { + phi_v0 = 5; + } else { + phi_v0 = 4; + } + } + func_800C3448((arg0 << 8) | 0xF0000000 | phi_v0); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA008.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern s8 D_800EA108; + +void func_800CA0A0(void) { + D_800EA108 = 1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0A0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern s8 D_800EA108; + +void func_800CA0B8(void) { + D_800EA108 = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0B8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern s8 D_800EA108; + +void func_800CA0CC(void) { + D_800EA108 = 1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0CC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C5278(?); // extern + +void func_800CA0E4(void) { + func_800C5278(3); + func_800C5278(5); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0E4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CA0E4(? *, s8); // extern +extern ? D_800E9EA4; +extern ? D_800EA0EC; +extern s8 D_800EA0F0; +extern u8 D_800EA1C0; + +void func_800CA118(s32 arg0) { + s32 temp_t6; + u8 temp_v0; + + temp_t6 = arg0 & 0xFF; + *(&D_800EA0EC + temp_t6) = 1; + temp_v0 = D_800EA1C0; + *(&D_800E9EA4 + (temp_t6 * 4)) = 1; + if (temp_v0 != 0) { + if (temp_v0 != 1) { + if (temp_v0 != 2) { + if (temp_v0 != 3) { + return; + } + if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1) && (D_800EA0EC.unk2 == 1) && (D_800EA0EC.unk3 == 1)) { + D_800EA0F0 = 1; + func_800CA0E4(&D_800EA0EC, 1); + } + // Duplicate return node #18. Try simplifying control flow for better match + return; + } + if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1) && (D_800EA0EC.unk2 == 1)) { + D_800EA0F0 = 1; + func_800CA0E4(&D_800EA0EC, 1); + return; + } + // Duplicate return node #18. Try simplifying control flow for better match + return; + } + if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1)) { + D_800EA0F0 = 1; + func_800CA0E4(&D_800EA0EC, 1); + return; + } + return; + } + D_800EA0F0 = 1; + func_800CA0E4(&D_800EA0EC, 1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA118.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800EA0EC; + +void func_800CA24C(s32 arg0) { + *(&D_800EA0EC + (arg0 & 0xFF)) = 2; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA24C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern s8 D_800EA0F4; + +void func_800CA270(void) { + D_800EA0F4 = 1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA270.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800E9F90; + +void func_800CA288(s32 arg0, s8 arg1) { + *(&D_800E9F90 + ((arg0 & 0xFF) * 0x3C)) = arg1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA288.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800E9F90; + +void func_800CA2B8(s32 arg0) { + *(&D_800E9F90 + ((arg0 & 0xFF) * 0x3C)) = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA2B8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800EA06C; + +void func_800CA2E4(s32 arg0, s8 arg1) { + *(&D_800EA06C + 0xC + ((arg0 & 0xFF) * 0x10)) = arg1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA2E4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_800EA06C; + +void func_800CA30C(s32 arg0) { + *(&D_800EA06C + 0xC + ((arg0 & 0xFF) * 0x10)) = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA30C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(s32, s32); // extern + +void func_800CA330(s32 arg0) { + s32 sp34; + s32 temp_a1; + s32 temp_v0; + + temp_a1 = arg0 & 0xFF; + temp_v0 = temp_a1 << 0x10; + sp34 = temp_v0; + func_800C3448(temp_v0 | 0x100000FF, temp_a1); + func_800C3448(temp_v0 | 0x110000FF); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA330.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C58B8(?, ?, s32); // extern + +void func_800CA388(s32 arg0) { + s32 temp_s0; + + temp_s0 = (arg0 * 2) & 0xFF; + func_800C58B8(0, 0, temp_s0 & 0xFFFF); + func_800C58B8(1, 0, temp_s0 & 0xFFFF); + func_800C58B8(2, 0, temp_s0 & 0xFFFF); + func_800C58B8(3, 0, temp_s0 & 0xFFFF); + func_800C58B8(5, 0, temp_s0 & 0xFFFF); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA388.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(s32); // extern +s32 func_800C3508(?); // extern +? func_800C35E8(?); // extern +extern u8 D_800EA104; + +void func_800CA414(u16 arg0, u16 arg1) { + if (D_800EA104 == 0) { + func_800C3448(func_800C3508(0) | 0x30000000); + func_800C35E8(0); + func_800C3448(arg1 | 0xC1510000); + func_800C3448(arg0 | 0x1000000); + } + D_800EA104 = 1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA414.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(s32, ?); // extern +? func_800C8EF8(?); // extern +? func_800C9060(s32, ?); // extern +extern u8 D_800EA108; +extern u16 D_800EA15C; +extern u8 D_800EA164; +extern u8 D_800EA1C0; +extern u8 D_8018FC08; + +void func_800CA49C(s32 arg0) { + if (D_800EA108 == 0) { + if (D_800EA1C0 >= 2) { + func_800C9060(arg0 & 0xFF, 0x1900FF3A); + } else if (D_800EA164 != 0) { + func_800C3448(0x100100FF, 0x19000000); + func_800C3448(0x110100FF); + func_800C8EF8(0xC); + func_800C3448(0xC1510011); + } else { + func_800C3448(0x100100FF, 0x19000000); + func_800C3448(0x110100FF); + func_800C8EF8(0xC); + func_800C3448(D_800EA15C | 0xC1500000); + func_800C3448(0xC130017D); + } + D_8018FC08 = D_8018FC08 + 1; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA49C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(?); // extern +s32 func_800C3508(?, ?); // extern +s32 func_800C357C(?); // extern +? func_800C8EF8(?, ?); // extern +? func_800C8F80(u8, ?); // extern +? play_sound(s32, void *, u8, ? *, ? *, void *); // extern +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA104; +extern u8 D_800EA108; +extern ? D_800EA10C; +extern s8 D_800EA164; +extern u8 D_800EA1C0; +extern ? D_800EA1D4; +extern u8 D_8018FC08; +extern ? gPlayers; + +void func_800CA59C(u8 arg0) { + u8 temp_a2; + void *temp_a1; + + temp_a2 = arg0 & 0xFF; + if ((*(&D_800EA0EC + temp_a2) == 0) && (D_800EA108 == 0)) { + temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C; + arg0 = temp_a2; + play_sound((*(&gPlayers + 0x254 + (temp_a2 * 0xDD8)) * 0x10) + 0x29008001, temp_a1, temp_a2, &D_800EA1D4, &D_800EA1D4, temp_a1 + 0x14); + D_800EA164 = 1; + if (D_800EA1C0 >= 2) { + func_800C8F80(arg0, 0x100FF2C); + } else { + func_800C3448(0x100100FF); + if (D_800EA104 != 0) { + func_800C8F80(arg0, 0x100FF2C); + } else if (D_8018FC08 != 0) { + if ((func_800C3508(1, 0x100FF2C) == 0xC) || (func_800C357C(0x101000C) == 0)) { + func_800C3448(0xC1F00000); + func_800C3448(0xC1510011); + } else { + func_800C8EF8(0x11); + } + } else { + func_800C8EF8(0x11, 0x100FF2C); + } + } + *(&D_800EA10C + arg0) = 1; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA59C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(s32, ?, u8); // extern +s32 func_800C3508(?, ?, u8); // extern +s32 func_800C357C(?); // extern +? func_800C3608(?, ?, u8); // extern +? func_800C8EAC(u16); // extern +? func_800C9018(s32, ?, u8); // extern +? play_sound(s32, void *, u8, ? *, ? *, void *); // extern +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA104; +extern u8 D_800EA108; +extern ? D_800EA10C; +extern u16 D_800EA15C; +extern s8 D_800EA164; +extern u8 D_800EA1C0; +extern ? D_800EA1D4; +extern u8 D_8018FC08; +extern u32 D_803B1658; +extern ? gPlayers; + +void func_800CA730(u8 arg0) { + u8 *sp3C; + u8 *temp_v1; + u8 temp_a2; + void *temp_a1; + + temp_a2 = arg0 & 0xFF; + if (*(&D_800EA0EC + temp_a2) == 0) { + temp_v1 = &D_800EA10C + temp_a2; + if ((D_800EA108 == 0) && (*temp_v1 != 0)) { + temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C; + sp3C = temp_v1; + arg0 = temp_a2; + play_sound((*(&gPlayers + 0x254 + (temp_a2 * 0xDD8)) * 0x10) + 0x29008008, temp_a1, temp_a2, &D_800EA1D4, &D_800EA1D4, temp_a1 + 0x14); + if (*sp3C != 0) { + if (D_800EA1C0 >= 2) { + func_800C9018(arg0 & 0xFF, 0x100FF2C, arg0); + } else { + *sp3C = 0; + if (D_800EA104 != 0) { + func_800C9018(arg0 & 0xFF, 0x100FF2C, arg0); + } else if ((D_800EA10C.unk0 == 0) && (D_800EA10C.unk1 == 0)) { + if (D_8018FC08 != 0) { + if ((D_803B1658 >> 0x1F) == 0) { + func_800C3608(1, 5, arg0); + func_800C8EAC(D_800EA15C); + func_800C3448(0xB001307D); + } else if ((func_800C3508(1, 0x1000000, arg0) == 0xC) || (func_800C357C(0x101000C) == 0)) { + func_800C3448(0xC1F00000); + func_800C3448(D_800EA15C | 0xC1500000); + func_800C3448(0xC130017D); + } else { + func_800C3448(0x110100FF); + func_800C8EAC(D_800EA15C); + func_800C3448(0xB001307D); + } + } else { + func_800C3448(0x110100FF, 0x1000000, arg0); + func_800C8EAC(D_800EA15C); + } + } + D_800EA164 = 0; + } + } + *sp3C = 0; + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA730.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800C1C88(s32, void *, ? *, void *, s32, s32); // extern +? play_sound(s32, s32, s32, ? *, ? *, ? *); // extern +extern u8 D_800EA0F0; +extern u8 D_800EA108; +extern u8 D_800EA1C0; +extern ? D_800EA1C8; +extern ? D_800EA1D4; +extern ? D_800EA1DC; +extern ? gPlayers; + +void func_800CA984(s32 arg0) { + s32 temp_s5; + s32 temp_t2; + s32 temp_v0_2; + void *temp_v0; + s32 phi_s0; + + temp_s5 = arg0 & 0xFF; + if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) { + phi_s0 = 0; + if ((D_800EA1C0 + 1) > 0) { + temp_v0 = (temp_s5 * 0xDD8) + &gPlayers; + do { + temp_v0_2 = func_800C1C88(temp_s5 & 0xFF, temp_v0 + 0x14, &D_800EA1C8, temp_v0 + 0x98, phi_s0, 0x31029008); + if (temp_v0_2 != 0) { + play_sound(0x31029008, temp_v0_2 + 0x18, phi_s0 & 0xFF, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); + } + temp_t2 = (phi_s0 + 1) & 0xFF; + phi_s0 = temp_t2; + } while (temp_t2 < (D_800EA1C0 + 1)); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA984.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800C21E8(void *, ?, s32); // extern +? func_800C5578(s32, ?); // extern +extern u8 D_800EA108; +extern ? gPlayers; + +void func_800CAACC(s32 arg0) { + s32 temp_a2; + + temp_a2 = arg0 & 0xFF; + if (D_800EA108 == 0) { + func_800C5578(func_800C21E8((temp_a2 * 0xDD8) + 0x14 + &gPlayers, 0x31029008, temp_a2), 0x31029008); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAACC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C36C4(?, ?, ?, ?); // extern +? func_800C9060(u8, ?); // extern +? play_sound(?, ? *, ?, ? *, ? *, ? *); // extern +extern ? D_800EA0EC; +extern u8 D_800EA108; +extern s8 D_800EA168; +extern ? D_800EA1C8; +extern ? D_800EA1D4; +extern ? D_800EA1DC; + +void func_800CAB4C(u8 arg0) { + u8 *temp_v1; + u8 temp_v0; + + if (D_800EA108 == 0) { + temp_v1 = arg0 + &D_800EA0EC; + temp_v0 = *temp_v1; + if (temp_v0 != 0) { + if (temp_v0 == 2) { + *temp_v1 = 1; + goto block_4; + } + } else { +block_4: + func_800C36C4(0, 1, 0x55, 5); + func_800C9060(arg0, 0x1900F013); + play_sound(0x5101C00C, &D_800EA1C8, 0, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); + } + D_800EA168 = 1; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAB4C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C36C4(?, ?, ?, ?); // extern +? func_800C56F0(?); // extern +extern u8 D_800EA108; +extern s8 D_800EA168; + +void func_800CAC08(void) { + if (D_800EA108 == 0) { + func_800C36C4(0, 1, 0x7F, 0x19); + func_800C56F0(0x5101C00C); + D_800EA168 = 0; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAC08.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C36C4(?, ?, ?, ?); // extern +? play_sound(?, ? *, ?, ? *, ? *, ? *); // extern +extern u8 D_800EA0F0; +extern u8 D_800EA108; +extern ? D_800EA10C; +extern s8 D_800EA168; +extern ? D_800EA1C8; +extern ? D_800EA1D4; +extern ? D_800EA1DC; + +void func_800CAC60(s32 arg0) { + if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) { + play_sound(0x1900F00C, &D_800EA1C8, 0, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); + if ((D_800EA10C.unk0 != 1) && (D_800EA10C.unk1 != 1)) { + func_800C36C4(0, 1, 0x37, 5); + play_sound(0x5101C00C, &D_800EA1C8, 0, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); + D_800EA168 = 1; + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAC60.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C36C4(?, ?, ?, ?); // extern +? func_800C56F0(?); // extern +extern u8 D_800EA108; +extern s8 D_800EA168; +extern ? D_800EA170; + +void func_800CAD40(s32 arg0) { + if (D_800EA108 == 0) { + if ((D_800EA170.unk0 == 0) && (D_800EA170.unk1 == 0) && (D_800EA170.unk2 == 0) && (D_800EA170.unk3 == 0)) { + func_800C36C4(0, 1, 0x7F, 0x19); + } + func_800C56F0(0x5101C00C); + D_800EA168 = 0; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAD40.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? play_sound(f32, ?, void *, s32, ? *, f32 *, void *); // extern +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA108; +extern ? D_800EA110; +extern ? D_800EA1D4; +extern f32 D_800F39A8; +extern f32 D_800F39AC; + +void func_800CADD0(s32 arg0, f32 arg1) { + f32 *temp_v0_2; + f32 temp_f12; + s32 temp_a2; + u8 *temp_v1; + u8 temp_v0; + void *temp_a1; + f32 phi_f12; + f32 phi_f12_2; + + temp_a2 = arg0 & 0xFF; + if (D_800EA108 == 0) { + temp_v1 = temp_a2 + &D_800EA0EC; + temp_v0 = *temp_v1; + if (temp_v0 != 0) { + if (temp_v0 == 2) { + *temp_v1 = 1; + goto block_4; + } + } else { +block_4: + temp_f12 = (arg1 * D_800F39A8) + D_800F39AC; + temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C; + temp_v0_2 = (temp_a2 * 4) + &D_800EA110; + phi_f12 = temp_f12; + if (temp_f12 > 1.0f) { + phi_f12 = 1.0f; + } + phi_f12_2 = phi_f12; + if (phi_f12 < 0.0f) { + phi_f12_2 = 0.0f; + } + *temp_v0_2 = phi_f12_2; + play_sound(phi_f12_2, 0x1900A209, temp_a1, temp_a2, &D_800EA1D4, temp_v0_2, temp_a1 + 0x14); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CADD0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? play_sound(f32, s32, void *, s32, ? *, f32 *, void *); // extern +extern ? D_800E9F7C; +extern ? D_800EA0EC; +extern u8 D_800EA108; +extern ? D_800EA120; +extern ? D_800EA1D4; +extern f32 D_800F39B0; +extern f32 D_800F39B4; + +void func_800CAEC4(s32 arg0, f32 arg1) { + f32 *temp_v0_2; + f32 temp_f12; + s32 temp_a2; + u8 *temp_v1; + u8 temp_v0; + void *temp_a1; + f32 phi_f12; + f32 phi_f12_2; + + temp_a2 = arg0 & 0xFF; + if (D_800EA108 == 0) { + temp_v1 = temp_a2 + &D_800EA0EC; + temp_v0 = *temp_v1; + if (temp_v0 != 0) { + if (temp_v0 == 2) { + *temp_v1 = 1; + goto block_4; + } + } else { +block_4: + temp_f12 = (arg1 * D_800F39B0) + D_800F39B4; + temp_v0_2 = (temp_a2 * 4) + &D_800EA120; + temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C; + phi_f12 = temp_f12; + if (temp_f12 > 1.0f) { + phi_f12 = 1.0f; + } + phi_f12_2 = phi_f12; + if (phi_f12 < 0.0f) { + phi_f12_2 = 0.0f; + } + *temp_v0_2 = phi_f12_2; + play_sound(phi_f12_2, gCurrentCourseId + 0x19007020, temp_a1, temp_a2, &D_800EA1D4, temp_v0_2, temp_a1 + 0x14); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAEC4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C36C4(?, ?, ?, ?); // extern +? func_800C8F80(u8, ?); // extern +? func_800C9060(u8, ?); // extern +extern ? D_800EA0EC; +extern u8 D_800EA108; +extern ? D_800EA170; + +void func_800CAFC0(u8 arg0) { + u8 *temp_v1; + u8 temp_v0; + + if (D_800EA108 == 0) { + temp_v1 = arg0 + &D_800EA0EC; + temp_v0 = *temp_v1; + if (temp_v0 != 0) { + if (temp_v0 == 2) { + *temp_v1 = 1; + goto block_4; + } + } else { +block_4: + func_800C36C4(0, 1, 0x55, 5); + func_800C9060(arg0, 0x19009E59); + func_800C8F80(arg0, 0x100FA4C); + *(&D_800EA170 + arg0) = 1; + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAFC0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C36C4(?, ?, ?, ?); // extern +? func_800C9018(u8, ?); // extern +? func_800C90F4(u8, s32); // extern +extern u8 D_800EA108; +extern u8 D_800EA168; +extern ? D_800EA170; +extern ? gPlayers; + +void func_800CB064(u8 arg0) { + u8 *sp34; + u8 *temp_t9; + + if (D_800EA108 == 0) { + temp_t9 = arg0 + &D_800EA170; + sp34 = temp_t9; + if (*temp_t9 == 1) { + if (D_800EA168 == 0) { + func_800C36C4(0, 1, 0x7F, 0x19); + } + func_800C90F4(arg0, (*(&gPlayers + 0x254 + (arg0 * 0xDD8)) * 0x10) + 0x29008008); + func_800C9018(arg0, 0x100FA4C); + *sp34 = 0; + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CB064.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern s16 D_800EA174; + +void func_800CB134(void) { + D_800EA174 = 1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CB134.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C3448(?); // extern +? func_800C8EAC(?); // extern +? func_800C8EF8(?); // extern +extern u16 D_800EA174; + +void func_800CB14C(void) { + u16 temp_t6; + u16 temp_v0; + u16 temp_v1; + u16 phi_v0; + u16 phi_v0_2; + u16 phi_v0_3; + u16 phi_v0_4; + u16 phi_v0_5; + u16 phi_v0_6; + u16 phi_v0_7; + + temp_v1 = D_800EA174; + if (temp_v1 != 0) { + temp_t6 = temp_v1 + 1; + temp_v0 = temp_t6 & 0xFFFF; + D_800EA174 = temp_t6; + phi_v0 = temp_v0; + if (temp_v0 == 3) { + func_800C8EAC(0x1A); + func_800C3448(0x4000007F); + phi_v0 = D_800EA174; + } + phi_v0_2 = phi_v0; + if (phi_v0 == 0x12C) { + func_800C8EAC(0x1B); + func_800C3448(0x4000007F); + func_800C8EF8(0x1D); + func_800C3448(0x41000000); + phi_v0_2 = D_800EA174; + } + phi_v0_3 = phi_v0_2; + if (phi_v0_2 == 0x230) { + func_800C3448(0x40640000); + func_800C3448(0xB0640073); + func_800C3448(0x4150007F); + func_800C3448(0xB1640073); + phi_v0_3 = D_800EA174; + } + phi_v0_4 = phi_v0_3; + if (phi_v0_3 == 0x2A8) { + func_800C3448(0x100100FF); + phi_v0_4 = D_800EA174; + } + phi_v0_5 = phi_v0_4; + if (phi_v0_4 == 0x41A) { + func_800C3448(0xB1500001); + func_800C3448(0x51500001); + phi_v0_5 = D_800EA174; + } + phi_v0_6 = phi_v0_5; + if (phi_v0_5 == 0x46A) { + func_800C3448(0x41320000); + phi_v0_6 = D_800EA174; + } + phi_v0_7 = phi_v0_6; + if (phi_v0_6 == 0x4B0) { + func_800C3448(0x110100FF); + phi_v0_7 = D_800EA174; + } + if (phi_v0_7 == 0x4CE) { + func_800C8EAC(0x14); + func_800C3448(0x4000007F); + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CB14C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800C1F8C(); // extern +? func_800C2274(?); // extern +? func_800C3478(); // extern +? func_800C3724(); // extern +? func_800C5848(); // extern +? func_800C59C4(); // extern +? func_800C8CCC(); // extern +? func_800CBC24(); // extern + +void func_800CB2C4(void) { + func_800C1F8C(); + func_800C3724(); + func_800C3478(); + func_800C5848(); + func_800C59C4(); + func_800C8CCC(); + func_800C2274(0); + func_800CBC24(); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/external/func_800CB2C4.s") +#endif diff --git a/src/audio/heap.c b/src/audio/heap.c new file mode 100644 index 000000000..e0c51a67c --- /dev/null +++ b/src/audio/heap.c @@ -0,0 +1,1087 @@ +#include +#include + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern u8 D_803B0380; +extern u8 D_803B03C0; +extern ? D_803B0400; +extern ? D_803B0500; + +void func_800B8DE0(void) { + ? *temp_v1_3; + u8 *temp_v1; + u8 *temp_v1_2; + u8 *phi_v1; + u8 *phi_v1_2; + ? *phi_v1_3; + + phi_v1 = &D_803B03C0; + do { + if (*phi_v1 != 5) { + *phi_v1 = 0; + } + temp_v1 = phi_v1 + 1; + phi_v1 = temp_v1; + } while (temp_v1 < &D_803B0400); + phi_v1_2 = &D_803B0380; + do { + if (*phi_v1_2 != 5) { + *phi_v1_2 = 0; + } + temp_v1_2 = phi_v1_2 + 1; + phi_v1_2 = temp_v1_2; + } while (temp_v1_2 < &D_803B03C0); + phi_v1_3 = &D_803B0400; + do { + if (phi_v1_3->unk0 != 5) { + phi_v1_3->unk0 = 0; + } + if (phi_v1_3->unk1 != 5) { + phi_v1_3->unk1 = 0; + } + if (phi_v1_3->unk2 != 5) { + phi_v1_3->unk2 = 0; + } + if (phi_v1_3->unk3 != 5) { + phi_v1_3->unk3 = 0; + } + temp_v1_3 = phi_v1_3 + 4; + phi_v1_3 = temp_v1_3; + } while (temp_v1_3 != &D_803B0500); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B8DE0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BCB48(void *); // extern +? func_800BD6F4(void *); // extern +? func_800BF004(? *, void *); // extern +extern s32 D_803B1508; +extern ? D_803B5FC8; +extern s32 D_803B70B0; + +void func_800B8EA8(s32 arg0) { + s32 temp_s2; + s32 temp_v0; + u8 *temp_v0_2; + u8 *temp_v0_3; + void *temp_s0; + s32 phi_s1; + s32 phi_s2; + s32 phi_v0; + + temp_v0 = D_803B70B0; + phi_s2 = 0; + phi_v0 = temp_v0; + if (temp_v0 > 0) { + phi_s1 = 0; + do { + temp_s0 = phi_s1 + D_803B1508; + if (arg0 == temp_s0->unkB2) { + if (temp_s0->unk30 >= 2) { + temp_v0_2 = temp_s0->unk44; + *temp_v0_2 = *temp_v0_2 & 0xFF7F; + temp_v0_3 = temp_s0->unk44; + *temp_v0_3 = *temp_v0_3 | 0x40; + } + func_800BCB48(temp_s0); + func_800BD6F4(temp_s0); + func_800BF004(&D_803B5FC8, temp_s0); + phi_v0 = D_803B70B0; + } + temp_s2 = phi_s2 + 1; + phi_s1 += 0xC0; + phi_s2 = temp_s2; + } while (temp_s2 < phi_v0); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B8EA8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BEF2C(? *); // extern +extern ? D_803B1510; +extern ? D_803B1A30; + +void func_800B8F8C(s32 arg0) { + ? *temp_s0; + ? *phi_s0; + + phi_s0 = &D_803B1510; + do { + if (((phi_s0->unk0 >> 0x1F) != 0) && (arg0 == phi_s0->unk4)) { + func_800BEF2C(phi_s0); + } + temp_s0 = phi_s0 + 0x148; + phi_s0 = temp_s0; + } while (temp_s0 != &D_803B1A30); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B8F8C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +u32 func_800B8FFC(void *arg0, s32 arg1) { + s32 temp_t6; + s8 *temp_a1; + u32 temp_a2; + u32 temp_t1; + s8 *phi_a1; + + temp_a2 = arg0->unk4; + temp_t6 = (arg1 + 0xF) & ~0xF; + if ((arg0->unk0 + arg0->unk8) >= (temp_a2 + temp_t6)) { + temp_t1 = temp_a2 + temp_t6; + arg0->unk4 = temp_t1; + phi_a1 = temp_a2; + if (temp_a2 < temp_t1) { + do { + *phi_a1 = 0; + temp_a1 = phi_a1 + 1; + phi_a1 = temp_a1; + } while (temp_a1 < arg0->unk4); + } + arg0->unkC = arg0->unkC + 1; + return temp_a2; + } + return 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B8FFC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800B907C(void *arg0, s32 arg1, s32 arg2) { + s32 temp_t6; + + temp_t6 = (arg1 + 0xF) & ~0xF; + arg0->unk0 = temp_t6; + arg0->unk4 = temp_t6; + arg0->unk8 = arg2; + arg0->unkC = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B907C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800B909C(void *arg0) { + arg0->unk10 = 0; + arg0->unk0 = 0; + arg0->unk8 = arg0->unk4; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B909C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800B90B0(void *arg0) { + s32 temp_v0; + + temp_v0 = arg0->unk4; + arg0->unk10 = 0; + arg0->unk0 = 0; + arg0->unk20 = temp_v0 + arg0->unkC; + arg0->unk1E = -1; + arg0->unk2A = -1; + arg0->unk8 = temp_v0; + arg0->unk14 = temp_v0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B90B0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800B907C(? *, ? *, s32, s32); // extern +extern s32 D_800EA5D0; +extern ? D_803AFBC8; +extern ? D_803AFBD8; +extern ? D_803B71B0; + +void func_800B90F0(s32 arg0) { + s32 temp_a2; + + temp_a2 = arg0; + arg0 = temp_a2; + func_800B907C(&D_803AFBD8, &D_803B71B0, temp_a2); + func_800B907C(&D_803AFBC8, arg0 + &D_803B71B0, D_800EA5D0 - arg0, arg0); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B90F0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B8FFC(? *, s32); // extern +? func_800B907C(? *, s32, s32); // extern +extern ? D_803AFBC8; +extern ? D_803AFBE8; +extern ? D_803AFC18; + +void func_800B914C(void *arg0) { + D_803AFBC8.unk4 = D_803AFBC8.unk0; + func_800B907C(&D_803AFBE8, func_800B8FFC(&D_803AFBC8, arg0->unk0), arg0->unk0); + func_800B907C(&D_803AFC18, func_800B8FFC(&D_803AFBC8, arg0->unkC), arg0->unkC); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B914C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B8FFC(? *, s32); // extern +? func_800B907C(? *, s32, s32); // extern +extern ? D_803AFC18; +extern ? D_803AFC28; +extern ? D_803AFC38; + +void func_800B91C8(void *arg0) { + D_803AFC18.unk4 = D_803AFC18.unk0; + func_800B907C(&D_803AFC28, func_800B8FFC(&D_803AFC18, arg0->unk0), arg0->unk0); + func_800B907C(&D_803AFC38, func_800B8FFC(&D_803AFC18, arg0->unk4), arg0->unk4); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B91C8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B8FFC(? *, s32); // extern +? func_800B907C(? *, s32, s32); // extern +? func_800B909C(? *); // extern +extern ? D_803AFC28; +extern ? D_803AFC48; +extern ? D_803AFC4C; +extern ? D_803AFE18; +extern ? D_803AFE1C; +extern ? D_803AFFE8; +extern ? D_803AFFEC; + +void func_800B9244(void *arg0) { + D_803AFC28.unk4 = D_803AFC28.unk0; + func_800B907C(&D_803AFC4C, func_800B8FFC(&D_803AFC28, arg0->unk0), arg0->unk0); + func_800B907C(&D_803AFE1C, func_800B8FFC(&D_803AFC28, arg0->unk4), arg0->unk4); + func_800B907C(&D_803AFFEC, func_800B8FFC(&D_803AFC28, arg0->unk8), arg0->unk8); + func_800B909C(&D_803AFC48); + func_800B909C(&D_803AFE18); + func_800B909C(&D_803AFFE8); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B9244.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B8FFC(? *, s32); // extern +? func_800B907C(? *, s32, s32); // extern +? func_800B90B0(? *); // extern +extern ? D_803AFC38; +extern ? D_803AFDDC; +extern ? D_803AFDE0; +extern ? D_803AFFAC; +extern ? D_803AFFB0; +extern ? D_803B017C; +extern ? D_803B0180; + +void func_800B9300(void *arg0) { + D_803AFC38.unk4 = D_803AFC38.unk0; + func_800B907C(&D_803AFDE0, func_800B8FFC(&D_803AFC38, arg0->unk0), arg0->unk0); + func_800B907C(&D_803AFFB0, func_800B8FFC(&D_803AFC38, arg0->unk4), arg0->unk4); + func_800B907C(&D_803B0180, func_800B8FFC(&D_803AFC38, arg0->unk8), arg0->unk8); + func_800B90B0(&D_803AFDDC); + func_800B90B0(&D_803AFFAC); + func_800B90B0(&D_803B017C); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B9300.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800B8EA8(s16, s32, s16, s32 *); // extern +? func_800B8F8C(s16, s32); // extern +s32 func_800B8FFC(s32, s32); // extern +extern ? D_803AFC48; +extern ? D_803AFE18; +extern ? D_803AFFE8; +extern ? D_803B0380; +extern ? D_803B03C0; +extern ? D_803B0400; +extern void *D_803B1508; +extern ? D_803B1510; +extern ? D_803B1A30; +extern s32 D_803B70B0; + +u32 func_800B93BC(s32 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { + ? *sp34; + u8 sp33; + s32 *sp28; + void *sp24; + s32 sp20; + ? *temp_v0_4; + ? *temp_v0_5; + s16 temp_a0; + s16 temp_a2; + s16 temp_v1_5; + s32 *temp_a3; + s32 temp_a0_2; + s32 temp_a1; + s32 temp_a1_2; + s32 temp_a1_3; + s32 temp_a1_4; + s32 temp_v0_6; + s32 temp_v0_9; + s32 temp_v1; + s32 temp_v1_2; + s32 temp_v1_3; + s32 temp_v1_4; + s32 temp_v1_8; + u32 temp_v0; + u32 temp_v0_7; + u32 temp_v0_8; + u8 *temp_v0_2; + u8 *temp_v0_3; + void *temp_v1_6; + void *temp_v1_7; + s32 phi_a3; + u8 phi_t1; + void *phi_v0; + s32 phi_v1; + s32 phi_v1_2; + u8 phi_t2; + void *phi_v0_2; + s32 phi_v1_3; + s32 phi_v1_4; + u8 phi_t1_2; + u8 phi_t2_2; + ? *phi_v0_3; + ? *phi_v0_4; + ? *phi_v0_5; + ? *phi_v0_6; + void *phi_v0_7; + s32 phi_v1_5; + s32 phi_v1_6; + void *phi_v0_8; + s32 phi_v1_7; + s32 phi_v1_8; + s32 phi_v0_9; + s16 phi_a2; + s16 phi_ra; + s32 phi_t4; + s32 *phi_a3_2; + void *phi_v1_9; + s32 *phi_a3_3; + void *phi_v1_10; + s32 *phi_a3_4; + u32 phi_v1_11; + s16 phi_a2_2; + s32 *phi_a3_5; + u32 phi_v0_10; + + phi_a3 = arg3; + phi_t4 = 1; +loop_1: + phi_ra = arg4; + phi_t4 = 1; + if (phi_a3 == 0) { + temp_a3 = arg0 + 0x194; + if (arg0 == &D_803AFC48) { + sp34 = &D_803B0400; + sp33 = 0; + } else if (arg0 == &D_803AFE18) { + sp33 = 1; + sp34 = &D_803B03C0; + } else if (arg0 == &D_803AFFE8) { + sp33 = 2; + sp34 = &D_803B0380; + } + temp_a2 = temp_a3->unk1E; + phi_a2 = temp_a2; + phi_a2_2 = temp_a2; + phi_a2 = temp_a2; + if (temp_a2 == -1) { + phi_t1 = 0; + } else { + phi_t1 = *(temp_a2 + sp34); + } + temp_a0 = temp_a3->unk2A; + phi_t1_2 = phi_t1; + phi_t1_2 = phi_t1; + if (temp_a0 == -1) { + phi_t2 = 0; + } else { + phi_t2 = *(temp_a0 + sp34); + } + sp20 = sp33; + phi_t2_2 = phi_t2; + if (sp33 == 1) { + if (phi_t1 == 4) { + temp_a1 = D_803B70B0; + phi_v1 = 0; + phi_v1_2 = 0; + if (temp_a1 > 0) { + phi_v0 = D_803B1508; +loop_18: + phi_v1_2 = phi_v1; + if ((phi_v0->unkB2 != temp_a2) || ((phi_v0->unkB0 >> 0x1F) == 0)) { + temp_v1 = phi_v1 + 1; + phi_v0 += 0xC0; + phi_v1 = temp_v1; + phi_v1_2 = temp_v1; + if (temp_v1 < temp_a1) { + goto loop_18; + } + } + } + temp_v0_2 = &D_803B03C0 + temp_a2; + if (phi_v1_2 == temp_a1) { + phi_t1_2 = 3; + if (*temp_v0_2 != 5) { + *temp_v0_2 = 3; + } + } + } + if (phi_t2 == 4) { + temp_a1_2 = D_803B70B0; + phi_v1_3 = 0; + phi_v1_4 = 0; + if (temp_a1_2 > 0) { + phi_v0_2 = D_803B1508; +loop_27: + phi_v1_4 = phi_v1_3; + if ((phi_v0_2->unkB2 != temp_a3->unk2A) || ((phi_v0_2->unkB0 >> 0x1F) == 0)) { + temp_v1_2 = phi_v1_3 + 1; + phi_v0_2 += 0xC0; + phi_v1_3 = temp_v1_2; + phi_v1_4 = temp_v1_2; + if (temp_v1_2 < temp_a1_2) { + goto loop_27; + } + } + } + if (phi_v1_4 == temp_a1_2) { + temp_v0_3 = &D_803B03C0 + temp_a3->unk2A; + phi_t2_2 = 3; + if (*temp_v0_3 != 5) { + *temp_v0_3 = 3; + } + } + } + } + if (phi_t1_2 == 0) { + temp_a3->unk0 = 0; + phi_v0_9 = 0; + goto block_84; + } + if (phi_t2_2 == 0) { + temp_a3->unk0 = 1; + phi_v0_9 = 1; + goto block_84; + } + if ((phi_t1_2 == 3) && (phi_t2_2 == 3)) { + phi_v0_9 = temp_a3->unk0; + goto block_84; + } + if (phi_t1_2 == 3) { + temp_a3->unk0 = 0; + phi_v0_9 = 0; + goto block_84; + } + if (phi_t2_2 == 3) { + temp_a3->unk0 = 1; + phi_v0_9 = 1; + goto block_84; + } + if (sp20 == 0) { + if (phi_t1_2 == 2) { + phi_v0_3 = &D_803B1510; +loop_47: + phi_v0_4 = phi_v0_3; + if (((phi_v0_3->unk0 >> 0x1F) == 0) || (phi_v0_3->unk4 != temp_a3->unk1E)) { + temp_v0_4 = phi_v0_3 + 0x148; + phi_v0_3 = temp_v0_4; + phi_v0_4 = temp_v0_4; + if (temp_v0_4 != &D_803B1A30) { + goto loop_47; + } + } + if (phi_v0_4 == &D_803B1A30) { + temp_a3->unk0 = 0; + phi_v0_9 = 0; + goto block_84; + } + goto block_52; + } +block_52: + if (phi_t2_2 == 2) { + phi_v0_5 = &D_803B1510; +loop_54: + phi_v0_6 = phi_v0_5; + if (((phi_v0_5->unk0 >> 0x1F) == 0) || (phi_v0_5->unk4 != temp_a3->unk2A)) { + temp_v0_5 = phi_v0_5 + 0x148; + phi_v0_5 = temp_v0_5; + phi_v0_6 = temp_v0_5; + if (temp_v0_5 != &D_803B1A30) { + goto loop_54; + } + } + if (phi_v0_6 == &D_803B1A30) { + temp_a3->unk0 = 1; + phi_v0_9 = 1; + goto block_84; + } + goto block_76; + } + goto block_76; + } + if (sp20 == 1) { + if (phi_t1_2 == 2) { + temp_a1_3 = D_803B70B0; + phi_v1_5 = 0; + phi_v1_6 = 0; + if (temp_a1_3 > 0) { + phi_v0_7 = D_803B1508; +loop_63: + phi_v1_6 = phi_v1_5; + if ((phi_v0_7->unkB2 != temp_a3->unk1E) || ((phi_v0_7->unkB0 >> 0x1F) == 0)) { + temp_v1_3 = phi_v1_5 + 1; + phi_v0_7 += 0xC0; + phi_v1_5 = temp_v1_3; + phi_v1_6 = temp_v1_3; + if (temp_v1_3 < temp_a1_3) { + goto loop_63; + } + } + } + phi_a2 = temp_a3->unk1E; + phi_a2_2 = temp_a3->unk1E; + if (phi_v1_6 == temp_a1_3) { + temp_a3->unk0 = 0; + phi_v0_9 = 0; + goto block_84; + } + goto block_68; + } +block_68: + phi_a2 = phi_a2_2; + phi_a2 = phi_a2_2; + if (phi_t2_2 == 2) { + temp_a1_4 = D_803B70B0; + phi_v1_7 = 0; + phi_v1_8 = 0; + if (temp_a1_4 > 0) { + phi_v0_8 = D_803B1508; +loop_71: + phi_v1_8 = phi_v1_7; + if ((phi_v0_8->unkB2 != temp_a3->unk2A) || ((phi_v0_8->unkB0 >> 0x1F) == 0)) { + temp_v1_4 = phi_v1_7 + 1; + phi_v0_8 += 0xC0; + phi_v1_7 = temp_v1_4; + phi_v1_8 = temp_v1_4; + if (temp_v1_4 < temp_a1_4) { + goto loop_71; + } + } + } + if (phi_v1_8 == temp_a1_4) { + temp_a3->unk0 = 1; + phi_v0_9 = 1; + goto block_84; + } + goto block_76; + } + goto block_76; + } +block_76: + temp_v0_6 = temp_a3->unk0; + phi_v0_9 = temp_v0_6; + if (temp_v0_6 == 0) { + if (phi_t1_2 == 1) { + if (phi_t2_2 != 1) { + temp_a3->unk0 = 1; + phi_v0_9 = 1; + goto block_84; + } + goto block_83; + } + goto block_84; + } + if (phi_t2_2 == 1) { + if (phi_t1_2 != 1) { + temp_a3->unk0 = 0; + phi_v0_9 = 0; + goto block_84; + } +block_83: + return 0; + } +block_84: + temp_v1_5 = (temp_a3 + (phi_v0_9 * 0xC))->unk1E; + if (temp_v1_5 != -1) { + *(sp34 + temp_v1_5) = 0; + if (sp20 == 1) { + arg4 = arg4; + sp28 = temp_a3; + func_800B8EA8((temp_a3 + (temp_a3->unk0 * 0xC))->unk1E, sp20, phi_a2, temp_a3); + phi_ra = arg4; + } + } + temp_a0_2 = (arg0 + 0x194)->unk0; + temp_v1_6 = arg0 + 0x198; + phi_a3_2 = arg0 + 0x194; + phi_a3_3 = arg0 + 0x194; + phi_v1_10 = temp_v1_6; + phi_a3_5 = arg0 + 0x194; + phi_a3_4 = arg0 + 0x194; + if (temp_a0_2 != 0) { + temp_v1_7 = arg0 + 0x198; + phi_v1_9 = temp_v1_7; + if (temp_a0_2 != 1) { + return 0; + } + (arg0 + 0x194)->unk2A = phi_ra; + temp_v0_7 = ((temp_v1_7->unk0 + temp_v1_7->unk8) - arg2) - 0x10; + (arg0 + 0x194)->unk20 = temp_v0_7; + (arg0 + 0x194)->unk24 = arg2; + phi_v0_10 = temp_v0_7; + if (temp_v0_7 < temp_v1_7->unk4) { + *(sp34 + (arg0 + 0x194)->unk1E) = 0; + if (sp20 != 0) { + if (sp20 != phi_t4) { + + } else { + sp28 = arg0 + 0x194; + sp24 = temp_v1_7; + func_800B8EA8((arg0 + 0x194)->unk1E, sp20); + goto block_106; + } + } else { + sp28 = arg0 + 0x194; + sp24 = temp_v1_7; + func_800B8F8C((arg0 + 0x194)->unk1E, sp20); +block_106: + phi_a3_2 = sp28; + phi_v1_9 = arg0 + 0x198; + } + phi_a3_2->unk1E = -1; + phi_v1_9->unk4 = phi_v1_9->unk0; + phi_a3_4 = phi_a3_2; + phi_v0_10 = phi_a3_2->unk20; + } + phi_v1_11 = phi_v0_10; + goto block_99; + } + (arg0 + 0x194)->unk1E = phi_ra; + (arg0 + 0x194)->unk14 = temp_v1_6->unk0; + (arg0 + 0x194)->unk18 = arg2; + temp_v0_8 = temp_v1_6->unk0 + arg2; + temp_v1_6->unk4 = temp_v0_8; + if ((arg0 + 0x194)->unk20 < temp_v0_8) { + *(sp34 + (arg0 + 0x194)->unk2A) = 0; + if (sp20 != 0) { + if (sp20 != phi_t4) { + + } else { + sp28 = arg0 + 0x194; + sp24 = temp_v1_6; + func_800B8EA8((arg0 + 0x194)->unk2A, sp20); + goto block_96; + } + } else { + sp28 = arg0 + 0x194; + sp24 = temp_v1_6; + func_800B8F8C((arg0 + 0x194)->unk2A, sp20); +block_96: + phi_a3_3 = sp28; + phi_v1_10 = arg0 + 0x198; + } + phi_a3_3->unk2A = -1; + phi_a3_3->unk20 = phi_v1_10->unk0 + phi_v1_10->unk8; + phi_a3_5 = phi_a3_3; + } + phi_a3_4 = phi_a3_5; + phi_v1_11 = phi_a3_5->unk14; +block_99: + *phi_a3_4 = *phi_a3_4 ^ 1; + return phi_v1_11; + } + arg4 = arg4; + arg3 = phi_a3; + temp_v0_9 = func_800B8FFC(arg0 + 4, arg1 * arg2); + (arg0 + (*arg0 * 0xC))->unk14 = temp_v0_9; + if (temp_v0_9 == 0) { + if ((arg3 != 0) && (arg3 != 1)) { + if (arg3 == 2) { + phi_a3 = 0; + goto loop_1; + } + goto block_116; + } + return 0; + } +block_116: + (arg0 + (*arg0 * 0xC))->unk1E = arg4; + (arg0 + (*arg0 * 0xC))->unk18 = arg2; + temp_v1_8 = *arg0; + temp_v0 = (arg0 + (temp_v1_8 * 0xC))->unk14; + *arg0 = temp_v1_8 + 1; + return temp_v0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B93BC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800B9AD8(s32, s32, s32); // extern +s32 func_800BA858(s32); // extern + +void func_800B9A90(s32 arg0, s32 arg1, s32 arg2) { + if (func_800BA858(arg2) != 0) { + return; + } + func_800B9AD8(arg0, arg1, arg2); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B9A90.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +u32 func_800B9A90(s32, ?, s32); // extern +extern u32 D_803AFC48; +extern u32 D_803AFE18; +extern u32 D_803AFFE8; + +u32 func_800B9AD8(s32 arg0, s32 arg1, s32 arg2) { + u32 temp_v0; + void *temp_v1; + u32 *phi_a1; + u32 *phi_v1; + u32 phi_v0; + u32 phi_v0_2; + + if (arg0 != 0) { + if (arg0 != 1) { + if (arg0 != 2) { + phi_a1 = sp18; + } else { + phi_a1 = &D_803AFFE8; + } + } else { + phi_a1 = &D_803AFE18; + } + } else { + phi_a1 = &D_803AFC48; + } + temp_v1 = phi_a1 + 0x194; + if (arg1 == 0) { + if (arg2 == temp_v1->unk1E) { + temp_v1->unk0 = 1; + return temp_v1->unk14; + } + if (arg2 == temp_v1->unk2A) { + temp_v1->unk0 = 0; + return temp_v1->unk20; + } + return 0; + } + phi_v1 = phi_a1; + phi_v0 = 0; + phi_v0_2 = 0; + if (*phi_a1 != 0) { +loop_14: + if (arg2 == phi_v1->unk1E) { + return phi_v1->unk14; + } + temp_v0 = phi_v0 + 1; + phi_v1 += 0xC; + phi_v0 = temp_v0; + if (temp_v0 >= *phi_a1) { + goto block_17; + } + goto loop_14; + } +block_17: + if (arg1 == 2) { + phi_v0_2 = func_800B9A90(arg0, 0, arg0); + } + return phi_v0_2; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B9AD8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_803AF790; +extern s8 D_803AFBC3; + +void func_800B9FB8(void) { + ? *temp_v0; + s8 temp_v1; + u16 temp_v1_2; + ? *phi_v0; + + temp_v1 = D_803AFBC3; + phi_v0 = &D_803AF790; + if (temp_v1 > 0) { + do { + temp_v1_2 = phi_v0->unk8; + temp_v0 = phi_v0 + 0x108; + temp_v0->unk-100 = temp_v1_2 - (temp_v1_2 / 4); + phi_v0 = temp_v0; + } while (temp_v0 < ((temp_v1 * 0x108) + &D_803AF790)); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B9FB8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800BA00C: + +Unable to determine jump table for jr instruction at func_800BA00C.s line 17. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800BA00C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800B8DE0(); // extern +s32 func_800B8FFC(? *, s32); // extern +? func_800B914C(? *, s16, s16, u16); // extern +? func_800B91C8(? *); // extern +? func_800B9244(? *); // extern +? func_800B9300(? *); // extern +? func_800BB030(s32); // extern +? func_800BD368(); // extern +? func_800BDD34(); // extern +extern ? D_800EA4D8; +extern s16 D_800EA5CC; +extern f32 D_800F2E98; +extern f32 D_800F2E9C; +extern ? D_803AF790; +extern ? D_803AFBB0; +extern u16 D_803AFBC0; +extern u8 D_803AFBC3; +extern s32 D_803AFBC4; +extern s32 D_803AFBD0; +extern ? D_803AFBE8; +extern ? D_803B0348; +extern ? D_803B0358; +extern ? D_803B0360; +extern ? D_803B0370; +extern u8 D_803B0501; +extern s32 D_803B1508; +extern s32 D_803B6E58; +extern ? D_803B7088; +extern s32 D_803B70AC; +extern s32 D_803B70B0; +extern s16 D_803B70B4; +extern ? D_803B70C8; +extern ? D_803B70D0; +extern f32 D_803B7178; +extern s32 D_803B717C; + +void func_800BA250(void) { + ? *temp_s0_2; + f32 temp_f0; + s16 temp_a1; + s16 temp_a2; + s16 temp_t0; + s16 temp_t1; + s16 temp_v1; + s32 *temp_s6; + s32 temp_s0; + s32 temp_s1; + s32 temp_s1_2; + s32 temp_s5; + s32 temp_t2; + s32 temp_t6; + s32 temp_t8; + s32 temp_t9; + s32 temp_v0_2; + s32 temp_v0_3; + u16 temp_a3; + u16 temp_t7; + u32 temp_s2; + u8 temp_v1_2; + void *temp_v0; + ? *phi_s0; + ? *phi_s2; + s32 phi_s5; + ? *phi_s2_2; + ? *phi_s0_2; + s32 phi_s1; + + temp_s6 = (D_803B0501 * 0x28) + &D_800EA4D8; + D_803B6E58 = 0; + temp_t9 = temp_s6->unk0; + D_803B7088.unk2 = temp_t9; + D_803B7088.unk4 = osAiSetFrequency(temp_t9 & 0xFFFF); + temp_a3 = D_803B7088.unk2; + D_803B7088.unk6 = ((temp_a3 / D_803B717C) + 0xF) & 0xFFF0; + temp_v1 = D_803B7088.unk6; + temp_t0 = temp_v1 + 0x10; + D_803B7088.unkA = temp_v1 - 0x10; + D_803B7088.unk8 = temp_t0; + D_803B7088.unkC = (temp_t0 / 0xC0) + 1; + temp_a2 = D_803B7088.unkC; + D_803B7088.unkE = (temp_v1 / temp_a2) & 0xFFF8; + temp_t1 = D_803B7088.unkE; + temp_f0 = temp_a2; + D_803B7088.unk10 = temp_t1 + 8; + D_803B7088.unk12 = temp_t1 - 8; + D_803B7088.unk14 = 32000.0f / temp_a3; + D_803B7088.unk1C = D_800F2E98 / temp_f0; + D_803B7088.unk18 = 1.0f / temp_f0; + D_803B70B0 = temp_s6->unk5; + D_803AFBC0 = temp_s6->unkC; + D_803B70B4 = ((temp_f0 * D_800F2E9C) / D_800EA5CC) / D_803B7178; + D_803B7088.unk0 = temp_s6->unk4; + temp_a1 = D_803B7088.unk0; + D_803B7088.unk6 = temp_v1 * temp_a1; + D_803B7088.unk8 = D_803B7088.unk8 * temp_a1; + D_803B7088.unkA = D_803B7088.unkA * temp_a1; + D_803B7088.unkC = temp_a2 * temp_a1; + D_803B70AC = (D_803B70B0 * 0x14 * D_803B7088.unkC) + (temp_s6->unk6 << 5) + 0x1E0; + temp_s0 = temp_s6->unk10 + temp_s6->unk14 + temp_s6->unk18; + temp_s1 = temp_s6->unk1C + temp_s6->unk20 + temp_s6->unk24; + temp_t2 = temp_s0 + temp_s1; + D_803B0348.unk0 = (D_803AFBD0 - temp_t2) - 0x100; + D_803B0348.unkC = temp_t2; + func_800B914C(&D_803B0348, temp_a1, temp_a2, temp_a3); + D_803B0358.unk0 = temp_s0; + D_803B0358.unk4 = temp_s1; + func_800B91C8(&D_803B0358); + D_803B0360.unk0 = temp_s6->unk10; + D_803B0360.unk4 = temp_s6->unk14; + D_803B0360.unk8 = temp_s6->unk18; + func_800B9244(&D_803B0360); + D_803B0370.unk0 = temp_s6->unk1C; + D_803B0370.unk4 = temp_s6->unk20; + D_803B0370.unk8 = temp_s6->unk24; + func_800B9300(&D_803B0370); + func_800B8DE0(); + D_803B1508 = func_800B8FFC(&D_803AFBE8, D_803B70B0 * 0xC0); + func_800BDD34(); + func_800BD368(); + D_803AFBC4 = func_800B8FFC(&D_803AFBE8, D_803B7088.unkC * D_803B70B0 * 0x10); + phi_s0 = &D_803B70C8; + do { + temp_s0_2 = phi_s0 + 4; + temp_s0_2->unk-4 = func_800B8FFC(&D_803AFBE8, D_803B70AC * 8); + phi_s0 = temp_s0_2; + } while (temp_s0_2 != &D_803B70D0); + phi_s2 = &D_803AF790; + do { + temp_s2 = phi_s2 + 0x108; + temp_s2->unk-107 = 0; + phi_s2 = temp_s2; + } while (temp_s2 < &D_803AFBB0); + D_803AFBC3 = temp_s6->unk6; + phi_s5 = 0; + phi_s2_2 = &D_803AF790; + if (D_803AFBC3 > 0) { + do { + temp_v0 = temp_s6->unk8 + (phi_s5 * 4); + temp_t7 = temp_v0->unk1 << 6; + phi_s2_2->unk6 = temp_t7; + phi_s2_2->unk4 = temp_v0->unk0; + phi_s2_2->unk1 = 8; + phi_s2_2->unk8 = temp_v0->unk2; + phi_s2_2->unk18 = func_800B8FFC(&D_803AFBE8, (temp_t7 & 0xFFFF) * 2); + temp_v1_2 = phi_s2_2->unk4; + phi_s2_2->unk1C = func_800B8FFC(&D_803AFBE8, phi_s2_2->unk6 * 2); + phi_s2_2->unkC = 0; + phi_s2_2->unk10 = 0; + phi_s2_2->unk3 = 0; + phi_s2_2->unk2 = 2; + phi_s2_2->unk14 = phi_s2_2->unk6; + if (temp_v1_2 != 1) { + phi_s2_2->unk0 = 1; + phi_s2_2->unkA = 0x8000 / temp_v1_2; + phi_s2_2->unk20 = func_800B8FFC(&D_803AFBE8, 0x20); + phi_s2_2->unk24 = func_800B8FFC(&D_803AFBE8, 0x20); + phi_s2_2->unk28 = func_800B8FFC(&D_803AFBE8, 0x20); + phi_s2_2->unk2C = func_800B8FFC(&D_803AFBE8, 0x20); + phi_s1 = 0; + if (D_803B7088.unkC > 0) { + phi_s0_2 = phi_s2_2; + do { + temp_v0_2 = func_800B8FFC(&D_803AFBE8, 0x300); + temp_t6 = temp_v0_2 + 0x180; + phi_s0_2->unk34 = temp_v0_2; + phi_s0_2->unk38 = temp_t6; + temp_v0_3 = func_800B8FFC(&D_803AFBE8, 0x300); + temp_t8 = temp_v0_3 + 0x180; + phi_s0_2->unk98 = temp_v0_3; + phi_s0_2->unk9C = temp_t8; + temp_s1_2 = phi_s1 + 1; + phi_s0_2 += 0x14; + phi_s1 = temp_s1_2; + } while (temp_s1_2 < D_803B7088.unkC); + } + } + temp_s5 = phi_s5 + 1; + phi_s5 = temp_s5; + phi_s2_2 += 0x108; + } while (temp_s5 < D_803AFBC3); + } + func_800BB030(D_803B70B0); + osWritebackDCacheAll(); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800BA250.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_803B01B8; +extern s32 D_803B01C4; + +s32 func_800BA858(s32 arg0, s32 arg1) { + s32 temp_v0; + s32 temp_v1; + ? *phi_a1; + s32 phi_v0; + + temp_v1 = D_803B01C4; + phi_v0 = 0; + if (temp_v1 > 0) { + phi_a1 = &D_803B01B8; +loop_2: + temp_v0 = phi_v0 + 1; + phi_v0 = temp_v0; + if ((arg0 == phi_a1->unk18) && (arg1 == phi_a1->unk1A)) { + return phi_a1->unk10; + } + phi_a1 += 0xC; + if (temp_v0 >= temp_v1) { + // Duplicate return node #6. Try simplifying control flow for better match + return 0; + } + goto loop_2; + } + return 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/heap/func_800BA858.s") +#endif diff --git a/src/audio/load.c b/src/audio/load.c new file mode 100644 index 000000000..370c7af37 --- /dev/null +++ b/src/audio/load.c @@ -0,0 +1,1190 @@ +#include +#include + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? osPiStartDma(? *, ?, ?, s32, void *, u32, OSMesgQueue *); // extern +extern OSMesgQueue D_803B6720; +extern ? D_803B6740; + +void func_800BAA80(s32 arg0, void *arg1, u32 arg2) { + osInvalDCache(arg1, arg2); + osPiStartDma(&D_803B6740, 1, 0, arg0, arg1, arg2, &D_803B6720); + osRecvMesg(&D_803B6720, NULL, 1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BAA80.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? osPiStartDma(s32, ?, ?, s32, void *, u32, s32); // extern + +void func_800BAAF8(s32 arg0, void *arg1, u32 arg2, s32 arg3, s32 arg4) { + osInvalDCache(arg1, arg2); + osPiStartDma(arg4, 0, 0, arg0, arg1, arg2, arg3); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BAAF8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? osPiStartDma(s32, ?, ?, s32, void *, u32, s32); // extern + +void func_800BAB58(s32 *arg0, void **arg1, s32 *arg2, s32 arg3, s32 arg4) { + s32 temp_v0; + u32 phi_s0; + + temp_v0 = *arg2; + phi_s0 = temp_v0; + if (temp_v0 >= 0x1000) { + phi_s0 = 0x1000; + } + *arg2 = temp_v0 - phi_s0; + osInvalDCache(*arg1, phi_s0); + osPiStartDma(arg4, 0, 0, *arg0, *arg1, phi_s0, arg3); + *arg0 = *arg0 + phi_s0; + *arg1 = *arg1 + phi_s0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BAB58.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_803B6758; +extern u32 D_803B6E58; +extern u32 D_803B6E5C; +extern s32 D_803B6E60; +extern ? D_803B6E68; +extern ? D_803B6F68; +extern u8 D_803B706A; +extern u8 D_803B706B; + +void func_800BAC04(void) { + u32 temp_v0; + u32 temp_v0_2; + u8 temp_t4; + u8 temp_t6; + u8 temp_t6_2; + u8 temp_t8; + u8 temp_v1; + u8 temp_v1_2; + u8 temp_v1_3; + u8 temp_v1_4; + ? *phi_a0; + s8 phi_v0; + void *phi_a0_2; + s8 phi_v0_2; + + phi_a0 = &D_803B6758; + phi_v0 = 0; + if (D_803B6E5C != 0) { + do { + temp_v1 = phi_a0->unkE; + temp_t6 = temp_v1 - 1; + if (temp_v1 != 0) { + phi_a0->unkE = temp_t6; + if ((temp_t6 & 0xFF) == 0) { + temp_v1_2 = D_803B706A; + temp_t8 = D_803B706A; + *(&D_803B6E68 + temp_v1_2) = phi_v0; + D_803B706A = temp_v1_2 + 1; + phi_a0->unkD = temp_t8; + } + } + temp_v0 = phi_v0 + 1; + phi_a0 += 0x10; + phi_v0 = temp_v0; + } while (temp_v0 < D_803B6E5C); + } + phi_v0_2 = D_803B6E5C; + if (D_803B6E5C < D_803B6E58) { + phi_a0_2 = (D_803B6E5C * 0x10) + &D_803B6758; + do { + temp_v1_3 = phi_a0_2->unkE; + temp_t4 = temp_v1_3 - 1; + if (temp_v1_3 != 0) { + phi_a0_2->unkE = temp_t4; + if ((temp_t4 & 0xFF) == 0) { + temp_v1_4 = D_803B706B; + temp_t6_2 = D_803B706B; + *(&D_803B6F68 + temp_v1_4) = phi_v0_2; + D_803B706B = temp_v1_4 + 1; + phi_a0_2->unkD = temp_t6_2; + } + } + temp_v0_2 = phi_v0_2 + 1; + phi_a0_2 += 0x10; + phi_v0_2 = temp_v0_2; + } while (temp_v0_2 < D_803B6E58); + } + D_803B6E60 = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BAC04.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? osPiStartDma(void *, ?, ?, s32, s32, s32, ? *); // extern +extern ? D_803B6008; +extern ? D_803B6120; +extern ? D_803B6758; +extern u32 D_803B6E58; +extern u32 D_803B6E5C; +extern ? D_803B6E68; +extern ? D_803B6F68; +extern u8 D_803B7068; +extern u8 D_803B7069; +extern u8 D_803B706B; +extern s32 D_803B70BC; + +s32 func_800BAD0C(s32 arg0, s32 arg1, s32 arg2, u8 *arg3) { + void *sp40; + s32 sp30; + s32 temp_s0; + s32 temp_t9; + s32 temp_v0_2; + s32 temp_v0_4; + s32 temp_v1_6; + u16 temp_v0_6; + u32 temp_a1; + u32 temp_a1_2; + u32 temp_v1; + u32 temp_v1_3; + u32 temp_v1_4; + u8 *temp_v0_3; + u8 *temp_v0_5; + u8 temp_a0; + u8 temp_a1_3; + u8 temp_a1_4; + u8 temp_a3; + u8 temp_t2; + u8 temp_t2_2; + u8 temp_v0; + u8 temp_v1_2; + u8 temp_v1_5; + void *temp_t0; + void *temp_t0_2; + void *phi_t0; + u32 phi_v1; + void *phi_a0; + u8 phi_v1_2; + s32 phi_t3; + void *phi_t0_2; + s32 phi_t2; + + phi_t3 = 0; + phi_t3 = 0; + if ((arg2 != 0) || (temp_a1 = D_803B6E5C, temp_v0 = *arg3, phi_v1 = 0, ((temp_v0 < temp_a1) == 0))) { + temp_a1_2 = D_803B6E58; + temp_v1_3 = D_803B6E5C; + phi_v1_2 = temp_v1_3; + if (temp_v1_3 < temp_a1_2) { + phi_a0 = (temp_v1_3 * 0x10) + &D_803B6758; +loop_4: + temp_v0_4 = arg0 - phi_a0->unk4; + if ((temp_v0_4 >= 0) && ((phi_a0->unkA - arg1) >= temp_v0_4)) { + if (phi_a0->unkE == 0) { + temp_a1_3 = D_803B7069; + if (D_803B706B != temp_a1_3) { + temp_a3 = phi_a0->unkD; + temp_v0_5 = &D_803B6F68 + temp_a1_3; + if (temp_a1_3 != temp_a3) { + *(&D_803B6F68 + temp_a3) = *temp_v0_5; + (&D_803B6758 + (*temp_v0_5 * 0x10))->unkD = phi_a0->unkD; + } + D_803B7069 = temp_a1_3 + 1; + } + } + phi_a0->unkE = 0x3C; + *arg3 = phi_v1_2; + return (phi_a0->unk0 + arg0) - phi_a0->unk4; + } + temp_v1_4 = phi_v1_2 + 1; + phi_a0 += 0x10; + phi_v1_2 = temp_v1_4; + if (temp_v1_4 >= temp_a1_2) { + sp40 = phi_a0; + goto block_14; + } + goto loop_4; + } +block_14: + temp_a1_4 = D_803B7069; + phi_t0_2 = sp40; + if ((D_803B706B != temp_a1_4) && (arg2 != 0)) { + temp_t2 = *(&D_803B6F68 + temp_a1_4); + D_803B7069 = temp_a1_4 + 1; + sp30 = temp_t2; + phi_t3 = 1; + phi_t0_2 = &D_803B6758 + (temp_t2 * 0x10); + } + goto block_27; + } + temp_t0 = &D_803B6758 + (temp_v0 * 0x10); + phi_t0 = temp_t0; + phi_t0_2 = temp_t0; + if (temp_a1 != 0) { +loop_19: + temp_v1 = phi_v1 + 1; + temp_v0_2 = arg0 - phi_t0->unk4; + phi_v1 = temp_v1; + if ((temp_v0_2 >= 0) && ((phi_t0->unkA - arg1) >= temp_v0_2)) { + if (phi_t0->unkE == 0) { + temp_v1_2 = D_803B7068; + temp_a0 = phi_t0->unkD; + temp_v0_3 = &D_803B6E68 + temp_v1_2; + if (temp_v1_2 != temp_a0) { + *(&D_803B6E68 + temp_a0) = *temp_v0_3; + (&D_803B6758 + (*temp_v0_3 * 0x10))->unkD = phi_t0->unkD; + } + D_803B7068 = temp_v1_2 + 1; + } + phi_t0->unkE = 2; + return (phi_t0->unk0 + arg0) - phi_t0->unk4; + } + temp_t0_2 = &D_803B6758 + (phi_v1 * 0x10); + phi_t0 = temp_t0_2; + phi_t0_2 = temp_t0_2; + if (temp_v1 >= temp_a1) { + goto block_27; + } + goto loop_19; + } +block_27: + phi_t2 = sp30; + if (phi_t3 == 0) { + temp_v1_5 = D_803B7068; + temp_t2_2 = *(&D_803B6E68 + temp_v1_5); + D_803B7068 = temp_v1_5 + 1; + phi_t0_2 = &D_803B6758 + (temp_t2_2 * 0x10); + phi_t2 = temp_t2_2; + } + temp_v0_6 = phi_t0_2->unkA; + temp_s0 = arg0 & ~0xF; + phi_t0_2->unkE = 2; + phi_t0_2->unk4 = temp_s0; + phi_t0_2->unk8 = temp_v0_6; + temp_v1_6 = D_803B70BC; + temp_t9 = temp_v1_6 * 0x18; + D_803B70BC = temp_v1_6 + 1; + sp30 = phi_t2; + sp40 = phi_t0_2; + osPiStartDma(temp_t9 + &D_803B6120, 0, 0, temp_s0, phi_t0_2->unk0, temp_v0_6, &D_803B6008); + *arg3 = phi_t2; + return (arg0 - temp_s0) + phi_t0_2->unk0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BAD0C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B8FFC(? *, s32, u32); // extern +extern ? D_803AFBE8; +extern ? D_803B6758; +extern u32 D_803B6E58; +extern u32 D_803B6E5C; +extern s8 D_803B6E68; +extern ? D_803B6F68; +extern s8 D_803B7068; +extern s8 D_803B7069; +extern s8 D_803B706A; +extern s8 D_803B706B; +extern s16 D_803B7088; +extern s32 D_803B70A8; +extern s32 D_803B70B0; + +void func_800BB030(s32 arg0, u32 arg2) { + s32 temp_a1; + s32 temp_a1_2; + s32 temp_s0; + s32 temp_s0_3; + s32 temp_v0; + s32 temp_v0_3; + s8 temp_v0_4; + u32 temp_a1_3; + u32 temp_a2; + u32 temp_a2_2; + u32 temp_a2_3; + u32 temp_s0_2; + u32 temp_s0_4; + u32 temp_v0_2; + u32 temp_v0_5; + void *temp_v1; + void *temp_v1_2; + s32 phi_a1; + u32 phi_a2; + s32 phi_s0; + s8 phi_s0_2; + s8 *phi_v0; + ? *phi_v1; + void *phi_v0_2; + s32 phi_a1_2; + s32 phi_s0_3; + u32 phi_a2_2; + s8 phi_s0_4; + s8 *phi_a0; + s8 phi_v0_3; + void *phi_v1_2; + s32 phi_a3; + void *phi_v0_4; + u32 phi_a2_3; + + D_803B70A8 = 0x5A0; + phi_a1 = 0x5A0; + phi_a2 = arg2; + phi_s0 = 0; + phi_s0_3 = 0; + if ((D_803B70B0 * 3 * D_803B7088) > 0) { +loop_1: + temp_v0 = func_800B8FFC(&D_803AFBE8, phi_a1, phi_a2); + temp_a2 = D_803B6E58; + temp_v1 = &D_803B6758 + (temp_a2 * 0x10); + temp_v1->unk0 = temp_v0; + phi_a2 = temp_a2; + if (temp_v0 == 0) { + + } else { + temp_a1 = D_803B70A8; + temp_s0 = phi_s0 + 1; + temp_v1->unk4 = 0; + temp_v1->unk8 = 0; + temp_v1->unkC = 0; + temp_v1->unkE = 0; + D_803B6E58 = temp_a2 + 1; + temp_v1->unkA = temp_a1; + phi_a1 = temp_a1; + phi_s0 = temp_s0; + if (temp_s0 >= (D_803B70B0 * 3 * D_803B7088)) { + + } else { + goto loop_1; + } + } + } + temp_a2_2 = D_803B6E58; + phi_s0_2 = 0; + phi_a2_2 = temp_a2_2; + if (temp_a2_2 != 0) { + phi_v0 = &D_803B6E68; + phi_v1 = &D_803B6758; + do { + *phi_v0 = phi_s0_2; + phi_v1->unkD = phi_s0_2; + temp_s0_2 = phi_s0_2 + 1; + phi_s0_2 = temp_s0_2; + phi_v0 += 1; + phi_v1 += 0x10; + } while (temp_s0_2 < temp_a2_2); + } + phi_a3 = temp_a2_2; + if (temp_a2_2 < 0x100) { + phi_v0_2 = temp_a2_2 + &D_803B6E68; + do { + temp_v0_2 = phi_v0_2 + 1; + temp_v0_2->unk-1 = 0; + phi_v0_2 = temp_v0_2; + } while (temp_v0_2 < &D_803B6F68); + } + D_803B7068 = 0; + D_803B706A = temp_a2_2; + D_803B6E5C = temp_a2_2; + D_803B70A8 = 0x180; + if (D_803B70B0 > 0) { + phi_a1_2 = 0x180; +loop_13: + temp_v0_3 = func_800B8FFC(&D_803AFBE8, phi_a1_2, D_803B6E58); + temp_a2_3 = D_803B6E58; + temp_s0_3 = phi_s0_3 + 1; + temp_v1_2 = &D_803B6758 + (temp_a2_3 * 0x10); + temp_v1_2->unk0 = temp_v0_3; + phi_s0_3 = temp_s0_3; + phi_a2_3 = temp_a2_3; + if (temp_v0_3 == 0) { + + } else { + temp_a1_2 = D_803B70A8; + temp_v1_2->unk4 = 0; + temp_v1_2->unk8 = 0; + temp_v1_2->unkC = 0; + temp_v1_2->unkE = 0; + D_803B6E58 = temp_a2_3 + 1; + temp_v1_2->unkA = temp_a1_2; + phi_a1_2 = temp_a1_2; + if (temp_s0_3 >= D_803B70B0) { + phi_a2_3 = D_803B6E58; + } else { + goto loop_13; + } + } + phi_a2_2 = phi_a2_3; + phi_a3 = phi_a2_3; + } + temp_a1_3 = D_803B6E5C; + phi_s0_4 = temp_a1_3; + if (temp_a1_3 < phi_a2_2) { + temp_v0_4 = temp_a1_3 * 0; + phi_a0 = temp_v0_4 + &D_803B6F68; + phi_v0_3 = temp_v0_4; + phi_v1_2 = (temp_a1_3 * 0x10) + &D_803B6758; + do { + *phi_a0 = phi_s0_4; + temp_s0_4 = phi_s0_4 + 1; + phi_v1_2->unkD = phi_v0_3; + phi_s0_4 = temp_s0_4; + phi_a0 += 1; + phi_v0_3 += 1; + phi_v1_2 += 0x10; + } while (temp_s0_4 < phi_a2_2); + } + if (phi_a3 < 0x100) { + phi_v0_4 = phi_a3 + &D_803B6F68; + do { + temp_v0_5 = phi_v0_4 + 1; + temp_v0_5->unk-1 = temp_a1_3; + phi_v0_4 = temp_v0_5; + } while (temp_v0_5 < &D_803B7068); + } + D_803B7069 = 0; + D_803B706B = phi_a2_2 - temp_a1_3; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB030.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B8FFC(? *, s32, void *); // extern +? func_800BAA80(s32, s32, s32, void *); // extern +extern ? D_803AFBE8; + +void func_800BB304(void *arg0) { + s32 sp1C; + s32 temp_a0; + s32 temp_a1; + s32 temp_a1_2; + s32 temp_a2; + s32 temp_v0; + void *temp_a3; + void *temp_a3_2; + + temp_a3 = arg0; + if (arg0 == 0) { + return; + } + if (temp_a3->unk1 == 1) { + temp_a1 = temp_a3->unk10; + arg0 = temp_a3; + temp_v0 = func_800B8FFC(&D_803AFBE8, temp_a1, temp_a3); + temp_a3_2 = arg0; + temp_a1_2 = temp_v0; + if (temp_v0 == 0) { + return; + } + temp_a0 = temp_a3_2->unk4; + temp_a2 = temp_a3_2->unk10; + arg0 = temp_a3_2; + sp1C = temp_a1_2; + func_800BAA80(temp_a0, temp_a1_2, temp_a2, temp_a3_2); + arg0->unk1 = 0x81; + arg0->unk4 = temp_a1_2; + // Duplicate return node #6. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB304.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BB304(s32); // extern +void *func_800BC948(); // extern +void *func_800BC9F8(?); // extern + +void func_800BB388(s32 arg1, ? arg2) { + void *sp1C; + void *temp_ret; + void *temp_v0; + void *temp_v0_2; + + if (arg1 < 0x7F) { + temp_ret = func_800BC948(); + temp_v0 = temp_ret; + if (temp_v0 == 0) { + return; + } + if (temp_v0->unk1 != 0) { + sp1C = temp_v0; + func_800BB304(temp_v0->unk8); + } + sp1C = temp_ret; + func_800BB304(temp_ret->unk10); + if (temp_ret->unk2 != 0x7F) { + func_800BB304(temp_ret->unk18); + return; + } + // Duplicate return node #11. Try simplifying control flow for better match + return; + } + if (arg1 == 0x7F) { + temp_v0_2 = func_800BC9F8(arg2); + if (temp_v0_2 == 0) { + return; + } + func_800BB304(temp_v0_2->unk4); + // Duplicate return node #11. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB388.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800BB43C(void *arg0, s32 arg1) { + s16 temp_v1; + s32 temp_v0; + void *phi_a2; + s32 phi_v0; + s32 phi_v1; + + temp_v1 = arg0->unk2; + phi_a2 = arg0; + phi_v0 = 0; + phi_v1 = temp_v1; + if (temp_v1 > 0) { + do { + temp_v0 = phi_v0 + 1; + phi_v0 = temp_v0; + if (phi_a2->unk8 != 0) { + phi_a2->unk4 = phi_a2->unk4 + arg1; + phi_v1 = arg0->unk2; + } + phi_a2 += 8; + } while (temp_v0 < phi_v1); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB43C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B8FFC(? *, s32, s32); // extern +? func_800BAA80(s32, s32, s32, s32); // extern +extern ? D_803AFBE8; + +void func_800BB484(void **arg0, s32 arg1, s32 arg2) { + void *sp2C; + s32 sp28; + s32 sp24; + s32 temp_a3_2; + s32 temp_v0_2; + u8 temp_a0; + void *temp_a3; + void *temp_v0; + + temp_v0 = *arg0; + temp_a3 = temp_v0 + arg1; + if (temp_v0 != 0) { + *arg0 = temp_a3; + temp_a0 = temp_a3->unk1; + if (temp_a0 == 0) { + temp_a3->unk4 = temp_a3->unk4 + arg2; + temp_a3->unk8 = temp_a3->unk8 + arg1; + temp_a3->unkC = temp_a3->unkC + arg1; + temp_a3->unk1 = 1; + return; + } + if (temp_a0 == 0x80) { + temp_a3_2 = temp_a3->unk4 + arg2; + sp28 = temp_a3_2; + sp2C = temp_a3; + temp_v0_2 = func_800B8FFC(&D_803AFBE8, temp_a3->unk10, temp_a3_2); + if (temp_v0_2 == 0) { + temp_a3->unk4 = temp_a3_2; + temp_a3->unk1 = 1; + } else { + sp24 = temp_v0_2; + sp2C = temp_a3; + func_800BAA80(temp_a3_2, temp_v0_2, temp_a3->unk10, temp_a3_2); + temp_a3->unk1 = 0x81; + temp_a3->unk4 = temp_v0_2; + } + (temp_v0 + arg1)->unk8 = (temp_v0 + arg1)->unk8 + arg1; + (temp_v0 + arg1)->unkC = (temp_v0 + arg1)->unkC + arg1; + } + // Duplicate return node #8. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB484.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BB624(s32, s32, u8, u8); // extern +extern s32 D_803B7074; +extern s32 D_803B7080; + +void func_800BB584(s32 arg0) { + s32 sp18; + s32 temp_v1; + s32 temp_v1_2; + void *temp_v0; + void *temp_v0_2; + void *temp_v0_3; + s32 phi_a1; + + temp_v1 = D_803B7074; + temp_v0 = temp_v1 + (arg0 * 8); + if (temp_v0->unk8 == 0) { + phi_a1 = (temp_v1 + (temp_v0->unk4 * 8))->unk4; + } else { + phi_a1 = temp_v0->unk4; + } + temp_v1_2 = arg0 * 0xC; + temp_v0_2 = D_803B7080 + temp_v1_2; + sp18 = temp_v1_2; + func_800BB624(temp_v0_2->unk4 - 4, phi_a1, temp_v0_2->unk1, temp_v0_2->unk2); + temp_v0_3 = D_803B7080 + temp_v1_2; + temp_v0_3->unk8 = temp_v0_3->unk4->unk-4; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB584.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BB484(void *, void **, ?); // extern + +void func_800BB624(void **arg0, ? arg1, s32 arg2, s32 arg3) { + s32 temp_s2; + void **temp_s2_2; + void **temp_v0_2; + void *temp_s0; + void *temp_s0_2; + void *temp_t2; + void *temp_v0; + void *temp_v0_3; + s32 phi_s4; + s32 phi_s2; + void **phi_s2_2; + + temp_v0 = *arg0; + if ((temp_v0 != 0) && (arg3 != 0)) { + *arg0 = temp_v0 + arg0; + phi_s2 = 0; + if (arg3 != 0) { + phi_s4 = 0; + do { + temp_v0_2 = *arg0 + phi_s4; + temp_s0 = *temp_v0_2; + temp_s0_2 = temp_s0 + arg0; + if (temp_s0 != 0) { + *temp_v0_2 = temp_s0_2; + if (temp_s0_2->unk2 == 0) { + func_800BB484(temp_s0_2 + 4, arg0, arg1); + temp_s0_2->unk2 = 1; + temp_s0_2->unkC = temp_s0_2->unkC + arg0; + } + } + temp_s2 = phi_s2 + 1; + phi_s4 += 4; + phi_s2 = temp_s2; + } while (temp_s2 != arg3); + } + } + phi_s2_2 = arg0 + 4; + if (arg2 != 0) { + do { + temp_v0_3 = *phi_s2_2; + temp_t2 = temp_v0_3 + arg0; + if (temp_v0_3 != 0) { + *phi_s2_2 = temp_t2; + if (temp_t2->unk0 == 0) { + func_800BB484(temp_t2 + 8, arg0, arg1); + func_800BB484(temp_t2 + 0x10, arg0, arg1); + func_800BB484(temp_t2 + 0x18, arg0, arg1); + temp_t2->unk0 = 1; + temp_t2->unk4 = temp_t2->unk4 + arg0; + } + } + temp_s2_2 = phi_s2_2 + 4; + phi_s2_2 = temp_s2_2; + } while (((arg2 * 4) + arg0 + 4) != temp_s2_2); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB624.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B93BC(? *, ?, s32, ?, s32); // extern +? func_800BAA80(s32, s32, s32); // extern +? func_800BB584(s32); // extern +extern ? D_803AFE18; +extern ? D_803B03C0; +extern s32 D_803B7070; +extern s32 D_803B7080; + +s32 func_800BB780(s32 arg0, ? arg1) { + s32 sp54; + s32 sp2C; + s32 sp28; + s32 temp_a2; + s32 temp_v0_2; + u8 *temp_v0_3; + void *temp_v0; + + temp_v0 = D_803B7070 + (arg0 * 8); + temp_a2 = ((temp_v0->unk8 + 0x1E) & ~0xF) - 0x10; + sp54 = temp_a2; + sp28 = temp_v0->unk4; + temp_v0_2 = func_800B93BC(&D_803AFE18, 1, temp_a2, arg1, arg0); + if (temp_v0_2 == 0) { + return 0; + } + sp2C = temp_v0_2; + func_800BAA80(sp28 + 0x10, temp_v0_2, temp_a2); + (D_803B7080 + (arg0 * 0xC))->unk4 = sp2C + 4; + func_800BB584(arg0); + temp_v0_3 = arg0 + &D_803B03C0; + if (*temp_v0_3 != 5) { + *temp_v0_3 = 2; + } + return sp2C; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB780.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B93BC(? *, ?, s32, ?, s32); // extern +? func_800BAB58(void *, void *, void *, OSMesgQueue *, void *); // extern +extern ? D_803AFE18; +extern ? D_803B03C0; +extern s32 D_803B7070; +extern s32 D_803B7080; + +s32 func_800BB864(s32 arg0, ? arg1, void *arg2) { + s32 sp64; + s32 sp3C; + s32 sp38; + OSMesgQueue *sp2C; + OSMesgQueue *temp_a3; + s32 temp_a2; + s32 temp_v0_2; + s32 temp_v1; + u8 *temp_v0_3; + void *temp_v0; + + temp_v0 = D_803B7070 + (arg0 * 8); + temp_a2 = ((temp_v0->unk8 + 0x1E) & ~0xF) - 0x10; + sp64 = temp_a2; + sp38 = temp_v0->unk4; + temp_v0_2 = func_800B93BC(&D_803AFE18, 1, temp_a2, arg1, arg0); + sp3C = temp_v0_2; + if (temp_v0_2 == 0) { + return 0; + } + arg2->unk6 = arg0; + temp_v1 = arg0 * 0xC; + (D_803B7080 + temp_v1)->unk4 = temp_v0_2 + 4; + temp_a3 = arg2 + 0x108; + (D_803B7080 + temp_v1)->unk8 = 0; + arg2->unk13C = temp_v0_2; + arg2->unk144 = temp_a2; + arg2->unk140 = sp38 + 0x10; + sp2C = temp_a3; + osCreateMesgQueue(temp_a3, arg2 + 0x120, 1); + arg2->unk0 = arg2->unk0 | 8; + func_800BAB58(arg2 + 0x140, arg2 + 0x13C, arg2 + 0x144, temp_a3, arg2 + 0x124); + temp_v0_3 = arg0 + &D_803B03C0; + if (*temp_v0_3 != 5) { + *temp_v0_3 = 1; + } + return sp3C; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB864.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B93BC(? *, ?, s32, ?, s32); // extern +? func_800BAA80(s32, s32, s32); // extern +extern ? D_803AFC48; +extern ? D_803B0400; +extern s32 D_803B706C; + +s32 func_800BB99C(s32 arg0, ? arg1) { + s32 sp2C; + s32 sp28; + s32 sp24; + s32 temp_t9; + s32 temp_v0; + u8 *temp_v0_3; + void *temp_v0_2; + + temp_v0_2 = D_803B706C + (arg0 * 8); + temp_t9 = (temp_v0_2->unk8 + 0xF) & ~0xF; + sp2C = temp_t9; + sp24 = temp_v0_2->unk4; + temp_v0 = func_800B93BC(&D_803AFC48, 1, temp_t9, arg1, arg0); + if (temp_v0 == 0) { + return 0; + } + sp28 = temp_v0; + func_800BAA80(sp24, temp_v0, sp2C); + temp_v0_3 = arg0 + &D_803B0400; + if (*temp_v0_3 != 5) { + *temp_v0_3 = 2; + } + return temp_v0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB99C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B93BC(? *, ?, s32, ?, s32); // extern +? func_800BAA80(s32, s32, s32); // extern +? func_800BAAF8(s32, s32, s32, OSMesgQueue *, void *); // extern +extern ? D_803AFC48; +extern ? D_803B0400; +extern s32 D_803B706C; + +s32 func_800BBA50(s32 arg0, ? arg1, u8 *arg2) { + s32 sp3C; + OSMesgQueue *sp34; + OSMesgQueue *temp_a3; + s32 temp_a2; + s32 temp_s0; + s32 temp_v0; + u8 *temp_v0_3; + u8 *temp_v0_4; + void *temp_v0_2; + + temp_v0_2 = D_803B706C + (arg0 * 8); + temp_a2 = (temp_v0_2->unk8 + 0xF) & ~0xF; + temp_s0 = temp_a2; + sp3C = temp_v0_2->unk4; + temp_v0 = func_800B93BC(&D_803AFC48, 1, temp_a2, arg1, arg0); + if (temp_v0 == 0) { + return 0; + } + if (temp_s0 < 0x41) { + func_800BAA80(sp3C, temp_v0, temp_s0); + temp_v0_3 = arg0 + &D_803B0400; + if (*temp_v0_3 != 5) { + *temp_v0_3 = 2; + } + } else { + func_800BAA80(sp3C, temp_v0, 0x40); + temp_a3 = arg2 + 0xD4; + sp34 = temp_a3; + osCreateMesgQueue(temp_a3, arg2 + 0xEC, 1); + *arg2 = *arg2 | 0x10; + func_800BAAF8(sp3C + 0x40, temp_v0 + 0x40, temp_s0 - 0x40, temp_a3, arg2 + 0xF0); + temp_v0_4 = arg0 + &D_803B0400; + if (*temp_v0_4 != 5) { + *temp_v0_4 = 1; + } + } + return temp_v0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BBA50.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B9A90(s32, ?, u8); // extern +extern ? D_803B03C0; +extern s32 D_803B7078; + +s32 func_800BBBA0(s32 arg0, s32 *arg1, s32 *arg2) { + s32 temp_v0; + u16 temp_s1; + u8 temp_s0; + u8 temp_s2; + u8 temp_t0; + s32 phi_s1; + s32 phi_v1; + u8 phi_s2; + s32 phi_s7; + s32 phi_s7_2; + + *arg2 = 0; + *arg1 = 0; + temp_v0 = D_803B7078; + temp_s1 = *(temp_v0 + (arg0 * 2)); + temp_s2 = *(temp_s1 + temp_v0); + phi_s1 = (temp_s1 + 1) & 0xFFFF; + phi_s2 = temp_s2; + phi_s7 = 0; + phi_s7_2 = 0; + if (temp_s2 != 0) { + do { + temp_s0 = *(phi_s1 + D_803B7078); + phi_s1 = (phi_s1 + 1) & 0xFFFF; + phi_v1 = 0; + if (((*(&D_803B03C0 + temp_s0) < 2) ^ 1) == 1) { + phi_v1 = func_800B9A90(1, 2, temp_s0); + } + if (phi_v1 == 0) { + *arg2 = *arg2 + 1; + phi_s7_2 = temp_s0 & 0xFF; + } else { + *arg1 = *arg1 + 1; + } + temp_t0 = (phi_s2 - 1) & 0xFF; + phi_s2 = temp_t0; + phi_s7 = phi_s7_2; + } while (temp_t0 != 0); + } + return phi_s7; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BBBA0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B9A90(s32, ?, u8); // extern +s32 func_800BB780(u8, ?); // extern +extern ? D_803B03C0; +extern s32 D_803B7078; + +s32 func_800BBCD0(s32 arg0, s8 *arg1) { + s32 sp34; + s32 sp30; + s32 temp_v0; + u16 temp_s1; + u8 temp_s0; + u8 temp_s2; + u8 temp_t6; + s32 phi_s1; + s32 phi_v1; + u8 phi_s2; + s32 phi_v1_2; + + temp_v0 = D_803B7078; + temp_s1 = *(temp_v0 + (arg0 * 2)); + temp_s2 = *(temp_s1 + temp_v0); + phi_s1 = (temp_s1 + 1) & 0xFFFF; + phi_s2 = temp_s2; + if (temp_s2 != 0) { + do { + temp_s0 = *(phi_s1 + D_803B7078); + phi_s1 = (phi_s1 + 1) & 0xFFFF; + phi_v1 = 0; + if (((*(&D_803B03C0 + temp_s0) < 2) ^ 1) == 1) { + phi_v1 = func_800B9A90(1, 2, temp_s0); + } + phi_v1_2 = phi_v1; + if (phi_v1 == 0) { + phi_v1_2 = func_800BB780(temp_s0, 2); + } + temp_t6 = (phi_s2 - 1) & 0xFF; + phi_s2 = temp_t6; + } while (temp_t6 != 0); + sp34 = phi_v1_2; + sp30 = temp_s0; + } + *arg1 = sp30; + return sp34; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BBCD0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B9A90(?, ?, u32); // extern +s32 func_800BB99C(u32, ?, u32); // extern +? func_800BBCD0(u32, ? *, u32); // extern +extern s32 D_800EA5DC; +extern ? D_803B03C0; +extern s32 D_803B706C; +extern u16 D_803B707C; + +void func_800BBDDC(u32 arg0, s32 arg1) { + ? sp23; + s32 sp1C; + s32 temp_t6; + void *temp_v0; + u32 phi_a2; + u32 phi_a2_2; + s32 phi_v1; + u32 phi_a2_3; + + temp_t6 = arg1 & 0xFF; + phi_a2 = arg0; + if (arg0 < D_803B707C) { + temp_v0 = D_803B706C + (arg0 * 8); + if (temp_v0->unk8 == 0) { + phi_a2 = temp_v0->unk4; + } + D_800EA5DC = 0x19710515; + phi_a2_2 = phi_a2; + if ((temp_t6 & 2) != 0) { + sp1C = temp_t6; + arg0 = phi_a2; + func_800BBCD0(phi_a2, &sp23, phi_a2); + phi_a2_2 = arg0; + } + phi_a2_3 = phi_a2_2; + if ((arg1 & 0xFF & 1) != 0) { + phi_v1 = 0; + if (((*(&D_803B03C0 + phi_a2_2) < 2) ^ 1) == 1) { + arg0 = phi_a2_2; + phi_v1 = func_800B9A90(0, 2, phi_a2_2); + phi_a2_3 = arg0; + } + if ((phi_v1 == 0) && (func_800BB99C(phi_a2_3, 2, phi_a2_3) == 0)) { + D_800EA5DC = 0x76557364; + return; + } + goto block_11; + } +block_11: + D_800EA5DC = 0x76557364; + // Duplicate return node #12. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BBDDC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BBF44(); // extern +extern s32 D_800EA5DC; + +void func_800BBEF0(s32 arg2) { + if (arg2 == 0) { + D_800EA5DC = 0x19710515; + } + func_800BBF44(); + if (arg2 == 0) { + D_800EA5DC = 0x76557364; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BBEF0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B9A90(?, ?, s8); // extern +s32 func_800BB864(s32, ?, void *); // extern +s32 func_800BB99C(s8, ?); // extern +s32 func_800BBA50(s8, ?, void *); // extern +s32 func_800BBBA0(s8, s32 *, s32 *); // extern +s32 func_800BBCD0(s8, void *, s32 *); // extern +? func_800BEF2C(void *); // extern +? func_800C11B0(s32); // extern +extern ? D_803B1510; +extern s32 D_803B706C; +extern u16 D_803B707C; + +void func_800BBF44(s32 arg0, u32 arg1, s32 arg2) { + s32 sp3C; + s32 sp2C; + s32 sp28; + s32 sp24; + s32 *temp_a1; + s32 *temp_a2; + s32 temp_a0; + s32 temp_v0_2; + s32 temp_v0_3; + void *temp_s0; + void *temp_v0; + s8 phi_s1; + s32 phi_v0; + s32 phi_v1; + + phi_s1 = arg1; + if (arg1 < D_803B707C) { + temp_v0 = D_803B706C + (arg1 * 8); + if (temp_v0->unk8 == 0) { + phi_s1 = temp_v0->unk4; + } + temp_s0 = (arg0 * 0x148) + &D_803B1510; + func_800BEF2C(temp_s0); + temp_a1 = &sp28; + temp_a2 = &sp2C; + if (arg2 != 0) { + sp2C = 0; + sp28 = 0; + temp_v0_2 = func_800BBBA0(phi_s1, temp_a1, temp_a2); + temp_a0 = temp_v0_2; + if (sp2C == 1) { + sp24 = temp_v0_2; + if (func_800BB864(temp_a0, 2, temp_s0) != 0) { + temp_s0->unk5 = sp24; + goto block_10; + } + // Duplicate return node #17. Try simplifying control flow for better match + return; + } + if (func_800BBCD0(phi_s1, temp_s0 + 5) == 0) { + return; + } + goto block_10; + } + if (func_800BBCD0(phi_s1, temp_s0 + 5, temp_a2) != 0) { +block_10: + temp_s0->unk4 = phi_s1; + temp_v0_3 = func_800B9A90(0, 2, phi_s1); + phi_v1 = temp_v0_3; + if (temp_v0_3 == 0) { + if ((temp_s0->unk0 * 8) >= 0) { + if (arg2 != 0) { + phi_v0 = func_800BBA50(phi_s1, 2, temp_s0); + } else { + phi_v0 = func_800BB99C(phi_s1, 2); + } + phi_v1 = phi_v0; + if (phi_v0 != 0) { + goto block_16; + } + } + } else { +block_16: + sp3C = phi_v1; + func_800C11B0(arg0); + temp_s0->unk88 = 0; + temp_s0->unkE = 0; + temp_s0->unk0 = temp_s0->unk0 | 0x80; + temp_s0->unk14 = phi_v1; + temp_s0->unk70 = phi_v1; + } + } + // Duplicate return node #17. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/load/func_800BBF44.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function audio_init: + +Last instruction is missing a delay slot: +jr $ra +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/load/audio_init.s") +#endif diff --git a/src/audio/playback.c b/src/audio/playback.c new file mode 100644 index 000000000..d33b31e7b --- /dev/null +++ b/src/audio/playback.c @@ -0,0 +1,1231 @@ +#include +#include + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern f32 D_800F2EB0; +extern f32 D_800F2EB4; +extern s8 D_803B70B6; +extern ? gDefaultPanVolume; +extern ? gHeadsetPanQuantization; +extern ? gHeadsetPanVolume; +extern ? gStereoPanVolume; + +void func_800BC5D0(void *arg0, f32 arg1, s32 arg2, u8 arg3) { + f32 temp_f14; + f32 temp_f2; + s32 temp_a1; + s32 temp_a3; + s32 temp_t4; + s32 temp_t8; + s8 temp_t3; + s8 temp_v1; + u8 temp_t1; + u8 temp_t8_2; + void *temp_v0; + void *temp_v0_2; + s32 phi_a1; + s32 phi_a0; + s32 phi_a1_2; + f32 phi_f12; + f32 phi_f12_2; + f32 phi_f0; + void *phi_v0; + f32 phi_f2; + + temp_t8 = arg2 & 0x7F; + phi_f12 = arg1; + if ((arg0->unkB0 & 0x2000000) && (temp_a1 = temp_t8 >> 3, temp_v0 = arg0 + 0xB0, phi_a1 = temp_a1, phi_v0 = temp_v0, (D_803B70B6 == 1))) { + if (temp_a1 >= 0x10) { + phi_a1 = 0xF; + } + temp_a3 = phi_a1 * 2; + temp_v0->unk4 = *(&gHeadsetPanQuantization + temp_a3); + temp_t8_2 = temp_v0->unk0 & 0xFFF7; + temp_t1 = temp_t8_2 & 0xFB; + temp_v0->unk0 = temp_t8_2; + temp_v0->unk0 = temp_t1; + temp_v0->unk0 = temp_t1 | 1; + temp_v0->unk3 = *(&gHeadsetPanQuantization + 0x1E + -temp_a3); + phi_f0 = *(&gHeadsetPanVolume + (temp_t8 * 4)); + phi_f2 = *(&gHeadsetPanVolume + 0x1FC + -(temp_t8 * 4)); + } else { + temp_v0_2 = arg0 + 0xB0; + temp_v1 = D_803B70B6; + phi_v0 = temp_v0_2; + if ((temp_v0_2->unk0 & 0x2000000) && (phi_a0 = 0, (temp_v1 == 0))) { + temp_v0_2->unk3 = 0; + temp_v0_2->unk4 = 0; + temp_v0_2->unk0 = temp_v0_2->unk0 & 0xFFFE; + phi_a1_2 = 0; + phi_f0 = *(&gStereoPanVolume + (temp_t8 * 4)); + phi_f2 = *(&gStereoPanVolume + 0x1FC + -(temp_t8 * 4)); + if (temp_t8 < 0x20) { + phi_a1_2 = 1; + } else if (temp_t8 >= 0x61) { + phi_a0 = 1; + } + temp_t3 = ((phi_a0 * 8) & 8) | (temp_v0_2->unk0 & 0xFFF7); + temp_t4 = temp_t3 & 0xFB; + temp_v0_2->unk0 = temp_t3; + temp_v0_2->unk0 = ((phi_a1_2 * 4) & 4) | temp_t4; + } else if (temp_v1 == 3) { + temp_f2 = D_800F2EB0; + phi_f0 = temp_f2; + phi_f2 = temp_f2; + } else { + phi_f0 = *(&gDefaultPanVolume + (temp_t8 * 4)); + phi_f2 = *(&gDefaultPanVolume + 0x1FC + -(temp_t8 * 4)); + } + } + if (arg1 < 0.0f) { + phi_f12 = 0.0f; + } + phi_f12_2 = phi_f12; + if (phi_f12 > 1.0f) { + phi_f12_2 = 1.0f; + } + temp_f14 = D_800F2EB4; + phi_v0->unk6 = phi_f12_2 * phi_f0 * temp_f14; + phi_v0->unk8 = phi_f12_2 * phi_f2 * temp_f14; + if (arg3 != phi_v0->unk5) { + phi_v0->unk5 = arg3; + phi_v0->unk0 = phi_v0->unk0 | 0x10; + return; + } + if ((phi_v0->unk0 * 2) < 0) { + phi_v0->unk0 = phi_v0->unk0 | 0x10; + return; + } + phi_v0->unk0 = phi_v0->unk0 & 0xFFEF; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BC5D0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern f32 D_800F2EB8; +extern f32 D_800F2EBC; +extern f32 D_800F2EC0; + +void func_800BC840(void *arg0, f32 arg1) { + f32 temp_f2; + void *temp_v0; + void *temp_v0_2; + f32 phi_f12; + f32 phi_f0; + + temp_v0 = arg0 + 0xB0; + phi_f12 = arg1; + if (arg1 < 0.0f) { + phi_f12 = 0.0f; + } + if (phi_f12 < 2.0f) { + temp_f2 = D_800F2EB8; + temp_v0_2 = arg0 + 0xB0; + temp_v0_2->unk1 = temp_v0_2->unk1 & 0xFFFE; + if (temp_f2 < phi_f12) { + phi_f0 = temp_f2; + } else { + phi_f0 = phi_f12; + } + } else { + temp_v0->unk1 = temp_v0->unk1 | 1; + if (D_800F2EBC < phi_f12) { + phi_f0 = D_800F2EC0; + } else { + phi_f0 = phi_f12 * 0.5f; + } + } + arg0->unkBA = phi_f0 * 32768.0f; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BC840.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800BC90C(void *arg0, s32 arg1) { + if (arg1 < arg0->unk1) { + return arg0 + 8; + } + if (arg0->unk2 >= arg1) { + return arg0 + 0x10; + } + return arg0 + 0x18; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BC90C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_803B03C0; +extern s32 D_803B7080; +extern s32 D_803B7198; + +s32 func_800BC948(s32 arg0, s32 arg1) { + s32 temp_v1; + void *temp_v0; + + if (*(&D_803B03C0 + arg0) < 2) { + D_803B7198 = arg0 + 0x10000000; + return 0; + } + temp_v0 = D_803B7080 + (arg0 * 0xC); + if (arg1 >= temp_v0->unk1) { + D_803B7198 = (arg0 << 8) + arg1 + 0x3000000; + return 0; + } + temp_v1 = *(temp_v0->unk4 + (arg1 * 4)); + if (temp_v1 == 0) { + D_803B7198 = (arg0 << 8) + arg1 + 0x1000000; + return temp_v1; + } + return temp_v1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BC948.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_803B03C0; +extern s32 D_803B7080; +extern s32 D_803B7198; + +s32 func_800BC9F8(s32 arg0, s32 arg1) { + s32 temp_a2; + u32 temp_v1; + void *temp_v0; + + if (*(&D_803B03C0 + arg0) < 2) { + D_803B7198 = arg0 + 0x10000000; + return 0; + } + temp_v0 = D_803B7080 + (arg0 * 0xC); + if (arg1 >= temp_v0->unk2) { + D_803B7198 = (arg0 << 8) + arg1 + 0x4000000; + return 0; + } + temp_v1 = temp_v0->unk8; + if (temp_v1 < 0x80000000) { + return 0; + } + temp_a2 = *(temp_v1 + (arg1 * 4)); + if (temp_a2 == 0) { + D_803B7198 = (arg0 << 8) + arg1 + 0x5000000; + } + return temp_a2; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BC9F8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BE5BC(void *, s32, void *, void *); // extern +extern ? gDefaultNoteSub; + +void func_800BCAB4(void *arg0) { + s32 temp_a1; + void *temp_a0; + void *temp_a2; + void *temp_a3; + void *temp_v0; + + temp_v0 = arg0->unk44; + temp_a3 = arg0; + if (temp_v0->unk18 == 0) { + temp_a0 = arg0 + 0x58; + temp_a2 = temp_a3 + 0x34; + temp_a1 = temp_v0->unk4C->unk80; + arg0 = temp_a3; + func_800BE5BC(temp_a0, temp_a1, temp_a2, temp_a3); + } else { + arg0 = temp_a3; + func_800BE5BC(temp_a3 + 0x58, temp_v0->unk1C, temp_a3 + 0x34, temp_a3); + } + arg0->unk59 = 1; + arg0->unkB0 = gDefaultNoteSub.unk0; + arg0->unkB4 = gDefaultNoteSub.unk4; + arg0->unkB8 = gDefaultNoteSub.unk8; + arg0->unkBC = gDefaultNoteSub.unkC; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BCAB4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BC5D0(?, ?, ?); // extern + +void func_800BCB48(void *arg0) { + if (((arg0->unkB0 * 2) >> 0x1F) == 1) { + arg0->unkB0 = arg0->unkB0 & 0xFFBF; + } else { + func_800BC5D0(0, 0x40, 0); + } + arg0->unk30 = 0; + arg0->unkB0 = arg0->unkB0 & 0xFF7F; + arg0->unk44 = -1; + arg0->unk40 = -1; + arg0->unkB0 = arg0->unkB0 & 0xFFDF; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BCB48.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BC5D0(void *, f32, u8, u8); // extern +? func_800BC840(void *, f32, u8, u8); // extern +? func_800BCB48(void *, void *); // extern +? func_800BD140(u32, u32); // extern +? func_800BD6B4(s32, void *); // extern +? func_800BD6F4(void *); // extern +? func_800BD7C0(void *, void *); // extern +? func_800BE468(void *); // extern +? func_800BE4D4(void *); // extern +f32 func_800BE5E0(void *); // extern +? func_800BEBA4(void *, u32); // extern +? func_800BF004(s32, void *); // extern +extern s32 D_803B1508; +extern s32 D_803B70B0; + +void func_800BCBC4(void) { + u8 sp4B; + u8 sp49; + f32 temp_f22; + s32 *temp_s3; + s32 *temp_s3_2; + s32 *temp_v0; + s32 temp_s5; + s32 temp_v1; + s32 temp_v1_2; + s32 temp_v1_3; + u32 temp_a1; + u8 *temp_s1; + u8 *temp_s1_2; + u8 temp_v0_2; + void *temp_a0; + void *temp_a0_2; + void *temp_a1_2; + void *temp_a1_3; + void *temp_s0; + void *temp_v0_3; + s32 phi_s5; + u8 phi_v0; + u8 *phi_s1; + u8 phi_a3; + u8 phi_a2; + f32 phi_f0; + f32 phi_f20; + s32 phi_s2; + s32 *phi_s3; + s32 phi_v0_2; + s32 phi_v1; + + temp_v1 = D_803B70B0; + phi_v1 = temp_v1; + if (temp_v1 > 0) { + phi_s5 = 0; + do { + temp_s0 = phi_s5 + D_803B1508; + temp_s1 = temp_s0 + 0x30; + phi_s1 = temp_s1; + if (temp_s0->unk44 != -1) { + temp_s1_2 = temp_s0 + 0x30; + temp_a1 = temp_s1_2->unk14; + phi_s1 = temp_s1_2; + if (temp_a1 < 0x7FFFFFFF) { + phi_v0_2 = phi_v1 * 3; + } else if (((temp_a1->unk0 >> 0x1F) != 0) || (temp_s1_2->unk0 < 2)) { + temp_a0 = temp_a1->unk4C; + temp_v0 = temp_a0->unk44; + if (temp_v0 == 0) { + func_800BEBA4(temp_a0, temp_a1); + temp_s1_2->unk0 = 1; + temp_v1_2 = D_803B70B0; + phi_v0_2 = temp_v1_2 * 3; + phi_v1 = temp_v1_2; + } else { + if (((*temp_v0 * 4) >= 0) || ((temp_a0->unk3 & 0xC0) == 0)) { + phi_v0 = temp_s1_2->unk0; + } else { + goto block_12; + } + goto block_15; + } + } else { +block_12: + func_800BD140(temp_a1, temp_a1); + func_800BD6F4(temp_s0); + func_800BD6B4(temp_s0->unkC + 0x10, temp_s0); + temp_s1_2->unk0 = 1; + phi_v0 = 1 & 0xFF; + goto block_15; + } + } else { + temp_v0_2 = *temp_s1; + phi_v0 = temp_v0_2; + if (temp_v0_2 >= 2) { + phi_v0_2 = phi_v1 * 3; + } else { +block_15: + if (phi_v0 != 0) { + temp_s3 = temp_s0 + 0xB0; + phi_s3 = temp_s3; + if ((phi_v0 == 1) || ((*temp_s3 * 4) < 0)) { + temp_s3_2 = temp_s0 + 0xB0; + phi_s3 = temp_s3_2; + if ((phi_s1->unk29 == 0) || ((*temp_s3_2 * 4) < 0)) { + if (phi_s1->unk18 != -1) { + func_800BCB48(temp_s0); + temp_a1_2 = phi_s1->unk18; + if (temp_a1_2->unk4C != 0) { + func_800BD7C0(temp_s0, temp_a1_2); + func_800BE4D4(temp_s0); + func_800BD6F4(temp_s0); + func_800BF004(temp_s0->unkC + 0x30, temp_s0); + phi_s1->unk18 = -1; + phi_s3 = temp_s0 + 0xB0; + goto block_27; + } + func_800BCB48(temp_s0, temp_a1_2); + func_800BD6F4(temp_s0); + func_800BF004(temp_s0->unkC, temp_s0); + phi_s1->unk18 = -1; + } else { + func_800BCB48(temp_s0); + func_800BD6F4(temp_s0); + func_800BF004(temp_s0->unkC, temp_s0); + } + } else { + goto block_27; + } + } else if (phi_s1->unk29 == 0) { + func_800BCB48(temp_s0); + func_800BD6F4(temp_s0); + func_800BF004(temp_s0->unkC, temp_s0); + } else { +block_27: + temp_f22 = func_800BE5E0(phi_s1 + 0x28); + func_800BE468(temp_s0); + temp_v0_3 = phi_s1 + 0x1C; + if (phi_s1->unk0 == 1) { + phi_a3 = temp_v0_3->unk0; + phi_a2 = temp_v0_3->unk1; + phi_f0 = temp_v0_3->unk4; + phi_f20 = temp_v0_3->unk8; + phi_s2 = ((phi_s3->unk0 << 0xB) >> 0x1D) & 0xFF; + } else { + temp_a1_3 = phi_s1->unk14; + temp_a0_2 = temp_a1_3->unk4C; + phi_a3 = temp_a0_2->unk4; + phi_a2 = temp_a1_3->unk6; + phi_f0 = temp_a1_3->unk30; + phi_f20 = temp_a1_3->unk2C; + phi_s2 = temp_a0_2->unk8 & 7; + } + sp4B = phi_a3; + sp49 = phi_a2; + func_800BC840(temp_s0, phi_f0 * (phi_s1->unkC * phi_s1->unk8), phi_a2, phi_a3); + func_800BC5D0(temp_s0, phi_f20 * temp_f22, phi_a2, phi_a3); + phi_s3->unk1 = ((phi_s2 * 4) & 0x1C) | (phi_s3->unk1 & 0xFFE3); + } + } + temp_v1_3 = D_803B70B0; + phi_v0_2 = temp_v1_3 * 3; + phi_v1 = temp_v1_3; + } + } + temp_s5 = phi_s5 + 0xC0; + phi_s5 = temp_s5; + } while (temp_s5 < (phi_v0_2 << 6)); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BCBC4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD6B4(s32, void *); // extern +? func_800BD6F4(void *, void *, s32, s32); // extern +extern f32 D_803B70A0; +extern f32 D_803B70A4; + +void func_800BCF44(void *arg0, s32 arg1) { + void *sp1C; + f32 temp_f16; + f32 temp_f18; + s32 temp_t6; + s32 temp_v0_2; + u8 temp_t3; + u8 temp_v0_4; + void *temp_v0; + void *temp_v0_3; + void *temp_v1; + f32 phi_f18; + f32 phi_f16; + + if ((arg0 != -1) && (temp_v0 = arg0->unk40, (temp_v0 != 0))) { + if (arg0 == temp_v0->unk48) { + temp_v0->unk48 = -1; + } + temp_v0_2 = temp_v0->unk44; + if (arg0 != temp_v0_2) { + if ((temp_v0_2 == -1) && (temp_v0->unk48 == -1) && (arg0 == temp_v0->unk40) && (arg1 != 6)) { + temp_v0->unk58 = temp_v0->unk58 | 0x10; + temp_v0->unk68 = D_803B70A0; + return; + } + // Duplicate return node #25. Try simplifying control flow for better match + return; + } + arg0->unk2 = 0; + if (temp_v0->unk59 != 6) { + temp_v0_3 = temp_v0 + 0x4C; + temp_v0_3->unk4 = arg0->unk30; + temp_v0_3->unk8 = arg0->unk2C; + temp_v0_3->unk1 = arg0->unk6; + temp_v1 = arg0->unk4C; + if (temp_v1 != 0) { + temp_v0_3->unk0 = temp_v1->unk4; + } + temp_t6 = temp_v0->unk44; + temp_v0->unk30 = 1; + temp_v0->unk44 = -1; + temp_v0->unk40 = temp_t6; + if (arg1 == 7) { + temp_v0->unk58 = temp_v0->unk58 | 0x10; + temp_v0->unk68 = D_803B70A0; + } else { + temp_v0->unk58 = temp_v0->unk58 | 0x20; + temp_v0_4 = arg0->unk18; + if (temp_v0_4 == 0) { + temp_t3 = arg0->unk4C->unk7C; + temp_f18 = temp_t3; + phi_f18 = temp_f18; + if (temp_t3 < 0) { + phi_f18 = temp_f18 + 4294967296.0f; + } + temp_v0->unk68 = phi_f18 * D_803B70A4; + } else { + temp_f16 = temp_v0_4; + phi_f16 = temp_f16; + if (temp_v0_4 < 0) { + phi_f16 = temp_f16 + 4294967296.0f; + } + temp_v0->unk68 = phi_f16 * D_803B70A4; + } + temp_v0->unk60 = arg0->unk4C->unk7D * temp_v0->unk6C * 0.00390625f; + } + } + if (arg1 == 6) { + sp1C = temp_v0; + func_800BD6F4(temp_v0, temp_v0, -1, arg1); + func_800BD6B4(temp_v0->unkC + 0x10, temp_v0); + } + // Duplicate return node #25. Try simplifying control flow for better match + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BCF44.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BCF44(?); // extern + +void func_800BD120(void) { + func_800BCF44(6); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD120.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BCF44(?); // extern + +void func_800BD140(void) { + func_800BCF44(7); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD140.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern f32 D_800F2EC4; +extern f32 D_800F2EC8; +extern f32 D_800F2ECC; +extern f32 D_800F2ED0; +extern ? gUnknownWave7; + +s8 func_800BD160(void *arg0, void *arg1, s32 arg2) { + f32 temp_f12; + f32 temp_f2; + f32 phi_f0; + f32 phi_f0_2; + s8 phi_a2; + s8 phi_v1; + + phi_a2 = arg2; + phi_v1 = 0; + if (arg2 < 0x80) { + phi_a2 = 0x80; + } + temp_f2 = arg1->unk24; + phi_f0 = temp_f2; + if (arg1->unk8 != 0) { + temp_f12 = arg1->unk14; + if (temp_f12 > 0.0f) { + phi_f0 = temp_f2 * (temp_f12 + 1.0f); + } + } + if (phi_f0 < 1.0f) { + phi_f0_2 = D_800F2EC4; + } else { + phi_v1 = 1; + if (phi_f0 < 2.0f) { + phi_f0_2 = D_800F2EC8; + } else { + phi_v1 = 3; + if (phi_f0 < 4.0f) { + phi_f0_2 = D_800F2ECC; + phi_v1 = 2; + } else { + phi_f0_2 = D_800F2ED0; + } + } + } + arg1->unk24 = temp_f2 * phi_f0_2; + arg0->unk31 = phi_a2; + arg0->unk32 = phi_v1; + arg0->unkBC = *(&gUnknownWave7 + (phi_a2 * 4)) + (phi_v1 << 7); + return phi_v1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD160.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800BD160(u8); // extern +extern ? D_800E98F4; + +void func_800BD264(void *arg0, void *arg1) { + s32 sp1C; + u8 temp_a2; + u8 phi_a2; + + temp_a2 = arg1->unk1; + phi_a2 = temp_a2; + if (temp_a2 == 0xFF) { + phi_a2 = arg1->unk4C->unk1C; + } + sp1C = arg0->unk32; + arg0->unk18 = (arg0->unk18 * *(&D_800E98F4 + func_800BD160(phi_a2))) / *(&D_800E98F4 + sp1C); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD264.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800BD308(void *arg0) { + arg0->unk0 = arg0; + arg0->unk4 = arg0; + arg0->unk8 = 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD308.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD308(s32); // extern + +void func_800BD318(void *arg0) { + func_800BD308(); + func_800BD308(arg0 + 0x10); + func_800BD308(arg0 + 0x20); + func_800BD308(arg0 + 0x30); + arg0->unkC = arg0; + arg0->unk1C = arg0; + arg0->unk2C = arg0; + arg0->unk3C = arg0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD318.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD318(? *); // extern +? func_800BF004(? *, s32); // extern +extern s32 D_803B1508; +extern ? D_803B5FC8; +extern s32 D_803B70B0; + +void func_800BD368(void) { + s32 temp_s1; + s32 temp_v0; + s32 phi_s0; + s32 phi_s1; + + func_800BD318(&D_803B5FC8); + phi_s0 = 0; + phi_s1 = 0; + if (D_803B70B0 > 0) { + do { + temp_v0 = D_803B1508; + (temp_v0 + phi_s0)->unk8 = phi_s0 + temp_v0; + *(D_803B1508 + phi_s0) = 0; + func_800BF004(&D_803B5FC8, phi_s0 + D_803B1508); + temp_s1 = phi_s1 + 1; + phi_s0 += 0xC0; + phi_s1 = temp_s1; + } while (temp_s1 < D_803B70B0); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD368.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD6F4(s32, ? *, ? *); // extern +? func_800BF004(? *, s32); // extern +extern ? D_803B5FC8; +extern ? D_803B5FD8; +extern ? D_803B5FE8; +extern ? D_803B5FF8; + +void func_800BD418(void *arg0) { + void *sp48; + ? *sp40; + s32 temp_s0; + s32 temp_s3; + s32 phi_s3; + s32 phi_s0; + void *phi_s1; + s32 phi_s0_2; + ? *phi_a1; + ? *phi_a2; + ? *phi_s2; + void *phi_s1_2; + ? *phi_a1_2; + ? *phi_a2_2; + ? *phi_v1; + ? *phi_v0; + + phi_s3 = 0; + phi_a1_2 = &D_803B5FD8; + phi_a2_2 = &D_803B5FC8; + phi_s1_2 = sp48; + phi_s2 = sp40; + phi_v1 = &D_803B5FE8; + phi_v0 = &D_803B5FF8; + do { + phi_a1 = phi_a1_2; + phi_a2 = phi_a2_2; + if (phi_s3 != 0) { + if (phi_s3 != 1) { + if (phi_s3 != 2) { + if (phi_s3 != 3) { + + } else { + phi_s1_2 = arg0 + 0x30; + phi_s2 = phi_v0; + } + } else { + phi_s1_2 = arg0 + 0x20; + phi_s2 = phi_v1; + } + } else { + phi_s1_2 = arg0 + 0x10; + phi_s2 = phi_a1_2; + } + phi_s0 = phi_s1_2->unk4; + phi_s1 = phi_s1_2; + } else { + phi_s0 = arg0->unk4; + phi_s1 = arg0; + phi_s2 = phi_a2_2; + } + phi_s0_2 = phi_s0; + phi_s1_2 = phi_s1; + if (phi_s0 != phi_s1) { +loop_12: + phi_a1_2 = phi_a1; + phi_a2_2 = phi_a2; + if (phi_s0_2 != 0) { + func_800BD6F4(phi_s0_2, phi_a1, phi_a2); + func_800BF004(phi_s2, phi_s0_2); + temp_s0 = phi_s1->unk4; + phi_s0_2 = temp_s0; + phi_a1 = &D_803B5FD8; + phi_a2 = &D_803B5FC8; + phi_a1_2 = &D_803B5FD8; + phi_a2_2 = &D_803B5FC8; + phi_v1 = &D_803B5FE8; + phi_v0 = &D_803B5FF8; + phi_v1 = &D_803B5FE8; + phi_v0 = &D_803B5FF8; + if (temp_s0 != phi_s1) { + goto loop_12; + } + } + } + temp_s3 = phi_s3 + 1; + phi_s3 = temp_s3; + } while (temp_s3 != 4); + sp40 = phi_s2; + sp48 = phi_s1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD418.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD418(); // extern +? func_800BF004(s32, s32); // extern +s32 func_800BF044(? *); // extern +extern ? D_803B5FC8; +extern ? D_803B5FD8; +extern ? D_803B5FE8; +extern ? D_803B5FF8; + +void func_800BD578(s32 arg0, s32 arg1) { + ? *sp48; + s32 sp44; + s32 temp_s0; + s32 temp_v0; + s32 phi_s4; + s32 phi_s0; + ? *phi_s1; + s32 phi_s2; + s32 phi_s0_2; + s32 phi_s0_3; + + func_800BD418(); + phi_s4 = 0; + phi_s0 = 0; + if (arg1 > 0) { + phi_s1 = sp48; + phi_s2 = sp44; +loop_2: + phi_s0_2 = phi_s0; + phi_s0_3 = phi_s0; + if (phi_s4 != 4) { + if (phi_s4 != 0) { + if (phi_s4 != 1) { + if (phi_s4 != 2) { + if (phi_s4 != 3) { + + } else { + phi_s1 = &D_803B5FF8; + phi_s2 = arg0 + 0x30; + } + } else { + phi_s1 = &D_803B5FE8; + phi_s2 = arg0 + 0x20; + } + } else { + phi_s1 = &D_803B5FD8; + phi_s2 = arg0 + 0x10; + } + } else { + phi_s1 = &D_803B5FC8; + phi_s2 = arg0; + } + if (phi_s0 < arg1) { +loop_13: + temp_v0 = func_800BF044(phi_s1); + phi_s0_3 = phi_s0_2; + if (temp_v0 != 0) { + func_800BF004(phi_s2, temp_v0); + temp_s0 = phi_s0_2 + 1; + phi_s0_2 = temp_s0; + phi_s0_3 = temp_s0; + if (temp_s0 < arg1) { + goto loop_13; + } + } + } + phi_s4 += 1; + phi_s0 = phi_s0_3; + if (phi_s0_3 >= arg1) { + sp44 = phi_s2; + sp48 = phi_s1; + } else { + goto loop_2; + } + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD578.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800BD6B4(void *arg0, ? *arg1) { + if (arg1->unk0 == 0) { + arg1->unk0 = arg0; + arg1->unk4 = arg0->unk4; + *arg0->unk4 = arg1; + arg0->unk4 = arg1; + arg0->unk8 = arg0->unk8 + 1; + arg1->unkC = arg0->unkC; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD6B4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800BD6F4(void *arg0) { + void *temp_v0; + + temp_v0 = arg0->unk0; + if (temp_v0 != 0) { + temp_v0->unk4 = arg0->unk4; + *arg0->unk4 = arg0->unk0; + arg0->unk0 = NULL; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD6F4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD6F4(void *, void *); // extern + +void *func_800BD720(void *arg0, s32 arg1) { + void *sp18; + void *temp_v0; + void *temp_v0_2; + void *phi_a0; + void *phi_v0; + void *phi_a0_2; + void *phi_a0_3; + + temp_v0 = arg0->unk4; + phi_v0 = temp_v0; + if (temp_v0 == arg0) { + return NULL; + } + phi_a0 = temp_v0; + phi_a0_2 = temp_v0; + if (temp_v0 != arg0) { + do { + phi_a0_3 = phi_a0; + if (phi_a0->unk8->unk30 >= phi_v0->unk8->unk30) { + phi_a0_3 = phi_v0; + } + temp_v0_2 = phi_v0->unk4; + phi_a0 = phi_a0_3; + phi_v0 = temp_v0_2; + phi_a0_2 = phi_a0_3; + } while (temp_v0_2 != arg0); + } + if (phi_a0_2 == 0) { + return NULL; + } + if (phi_a0_2->unk8->unk30 >= arg1) { + return NULL; + } + sp18 = phi_a0_2; + func_800BD6F4(phi_a0_2, arg0); + return phi_a0_2->unk8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD720.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BCAB4(); // extern +? func_800BD160(void *, void *, s32); // extern + +void func_800BD7C0(void *arg0, void *arg1) { + void *sp1C; + u8 temp_a2; + void *temp_a1; + void *temp_v0; + s32 phi_a2; + void *phi_a1; + + arg0->unk40 = -1; + arg0->unk44 = arg1; + arg0->unk30 = arg1->unk4C->unk5; + arg1->unk2 = 3; + arg1->unk0 = arg1->unk0 | 4; + arg1->unk40 = arg0; + arg1->unk4C->unk38 = arg0; + arg1->unk4C->unk3C = arg1; + arg1->unk2C = 0.0f; + func_800BCAB4(); + temp_a1 = arg1; + temp_a2 = temp_a1->unk1; + temp_v0 = arg0 + 0xB0; + phi_a2 = temp_a2; + phi_a1 = temp_a1; + if (temp_a2 == 0xFF) { + phi_a2 = temp_a1->unk4C->unk1C; + } + temp_v0->unkC = temp_a1->unk48; + if (phi_a2 >= 0x80) { + temp_v0->unk1 = temp_v0->unk1 | 2; + } else { + temp_v0->unk1 = temp_v0->unk1 & 0xFFFD; + } + if (temp_v0->unk0 & 0x20000) { + sp1C = temp_v0; + arg1 = temp_a1; + func_800BD160(arg0, temp_a1, phi_a2); + phi_a1 = arg1; + } + (arg0 + 0xB0)->unk2 = phi_a1->unk4C->unk6; + (arg0 + 0xB0)->unk0 = ((((phi_a1->unk4C->unk0 << 5) >> 0x1F) * 2) & 2) | ((arg0 + 0xB0)->unk0 & 0xFFFD); + (arg0 + 0xB0)->unk1 = ((phi_a1->unk4C->unk7 & 3) << 5) | ((arg0 + 0xB0)->unk1 & 0xFF1F); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD7C0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD140(s32); // extern + +void func_800BD8F4(void *arg0, s32 arg1) { + func_800BD140(arg0->unk44); + arg0->unk48 = arg1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD8F4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern f32 D_803B70A0; + +void func_800BD928(void *arg0, s32 arg1) { + arg0->unk48 = arg1; + arg0->unk30 = 1; + arg0->unk58 = arg0->unk58 | 0x10; + arg0->unk68 = D_803B70A0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD928.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD6B4(s32, s32); // extern +? func_800BD7C0(s32, s32); // extern +s32 func_800BF044(); // extern + +s32 func_800BD950(s32 arg0, s32 arg1) { + s32 sp1C; + s32 temp_v0; + + temp_v0 = func_800BF044(); + sp1C = temp_v0; + if (temp_v0 != 0) { + func_800BD7C0(temp_v0, arg1); + func_800BD6B4(arg0 + 0x30, sp1C); + } + return sp1C; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD950.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD928(s32, s32); // extern +? func_800BF004(s32, s32); // extern +s32 func_800BF044(s32); // extern + +s32 func_800BD99C(s32 arg0, s32 arg1) { + s32 sp1C; + s32 temp_v0; + + temp_v0 = func_800BF044(arg0 + 0x10); + sp1C = temp_v0; + if (temp_v0 != 0) { + func_800BD928(temp_v0, arg1); + func_800BF004(arg0 + 0x20, sp1C); + } + return sp1C; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD99C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800BD720(s32, u8); // extern +? func_800BD8F4(s32, void *); // extern +? func_800BF004(s32, s32); // extern + +s32 func_800BD9EC(s32 arg0, void *arg1) { + s32 sp1C; + s32 temp_v0; + + temp_v0 = func_800BD720(arg0 + 0x30, arg1->unk4C->unk5); + sp1C = temp_v0; + if (temp_v0 != 0) { + func_800BD8F4(temp_v0, arg1); + func_800BF004(arg0 + 0x20, sp1C); + } + return sp1C; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BD9EC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD6F4(void *); // extern +? func_800BD928(void *, void *, void *); // extern +void *func_800BD950(? *, void *, void *); // extern +void *func_800BD99C(? *, void *, void *); // extern +void *func_800BD9EC(? *, void *, void *); // extern +? func_800BF004(s32, void *); // extern +extern ? D_803B5FC8; + +void *func_800BDA44(void *arg0, void *arg2) { + void *sp24; + u8 temp_v0; + void *temp_a2; + void *temp_v0_10; + void *temp_v0_11; + void *temp_v0_12; + void *temp_v0_13; + void *temp_v0_14; + void *temp_v0_15; + void *temp_v0_16; + void *temp_v0_17; + void *temp_v0_18; + void *temp_v0_19; + void *temp_v0_20; + void *temp_v0_21; + void *temp_v0_22; + void *temp_v0_2; + void *temp_v0_3; + void *temp_v0_4; + void *temp_v0_5; + void *temp_v0_6; + void *temp_v0_7; + void *temp_v0_8; + void *temp_v0_9; + void *temp_v1; + void *phi_a2; + void *phi_a2_2; + + temp_v1 = arg0->unk4C; + temp_v0 = temp_v1->unk2; + phi_a2 = arg2; + if (((temp_v0 & 1) != 0) && (temp_a2 = arg0->unk40, phi_a2 = temp_a2, (temp_a2 != 0)) && (arg0 == temp_a2->unk40) && (temp_a2->unk48 == -1)) { + sp24 = temp_a2; + func_800BD928(temp_a2, arg0, temp_a2); + func_800BD6F4(sp24); + func_800BF004(sp24->unkC + 0x20, sp24); + return sp24; + } + if ((temp_v0 & 2) != 0) { + temp_v0_2 = func_800BD950(temp_v1 + 0x84, arg0, phi_a2); + phi_a2_2 = temp_v0_2; + if ((temp_v0_2 == 0) && (temp_v0_3 = func_800BD99C(arg0->unk4C + 0x84, arg0, temp_v0_2), phi_a2_2 = temp_v0_3, (temp_v0_3 == 0)) && (temp_v0_4 = func_800BD9EC(arg0->unk4C + 0x84, arg0, temp_v0_3), phi_a2_2 = temp_v0_4, (temp_v0_4 == 0))) { + arg0->unk2 = 0; + return NULL; + } + goto block_36; + } + if ((temp_v0 & 4) != 0) { + temp_v0_5 = func_800BD950(temp_v1 + 0x84, arg0, phi_a2); + phi_a2_2 = temp_v0_5; + if ((temp_v0_5 == 0) && (temp_v0_6 = func_800BD950(arg0->unk4C->unk44 + 0x94, arg0, temp_v0_5), phi_a2_2 = temp_v0_6, (temp_v0_6 == 0)) && (temp_v0_7 = func_800BD99C(arg0->unk4C + 0x84, arg0, temp_v0_6), phi_a2_2 = temp_v0_7, (temp_v0_7 == 0)) && (temp_v0_8 = func_800BD99C(arg0->unk4C->unk44 + 0x94, arg0, temp_v0_7), phi_a2_2 = temp_v0_8, (temp_v0_8 == 0)) && (temp_v0_9 = func_800BD9EC(arg0->unk4C + 0x84, arg0, temp_v0_8), phi_a2_2 = temp_v0_9, (temp_v0_9 == 0)) && (temp_v0_10 = func_800BD9EC(arg0->unk4C->unk44 + 0x94, arg0, temp_v0_9), phi_a2_2 = temp_v0_10, (temp_v0_10 == 0))) { + arg0->unk2 = 0; + return NULL; + } + goto block_36; + } + if ((temp_v0 & 8) != 0) { + temp_v0_11 = func_800BD950(&D_803B5FC8, arg0, phi_a2); + phi_a2_2 = temp_v0_11; + if ((temp_v0_11 == 0) && (temp_v0_12 = func_800BD99C(&D_803B5FC8, arg0, temp_v0_11), phi_a2_2 = temp_v0_12, (temp_v0_12 == 0)) && (temp_v0_13 = func_800BD9EC(&D_803B5FC8, arg0, temp_v0_12), phi_a2_2 = temp_v0_13, (temp_v0_13 == 0))) { + arg0->unk2 = 0; + return NULL; + } + goto block_36; + } + temp_v0_14 = func_800BD950(temp_v1 + 0x84, arg0, phi_a2); + phi_a2_2 = temp_v0_14; + if ((temp_v0_14 == 0) && (temp_v0_15 = func_800BD950(arg0->unk4C->unk44 + 0x94, arg0, temp_v0_14), phi_a2_2 = temp_v0_15, (temp_v0_15 == 0)) && (temp_v0_16 = func_800BD950(&D_803B5FC8, arg0, temp_v0_15), phi_a2_2 = temp_v0_16, (temp_v0_16 == 0)) && (temp_v0_17 = func_800BD99C(arg0->unk4C + 0x84, arg0, temp_v0_16), phi_a2_2 = temp_v0_17, (temp_v0_17 == 0)) && (temp_v0_18 = func_800BD99C(arg0->unk4C->unk44 + 0x94, arg0, temp_v0_17), phi_a2_2 = temp_v0_18, (temp_v0_18 == 0)) && (temp_v0_19 = func_800BD99C(&D_803B5FC8, arg0, temp_v0_18), phi_a2_2 = temp_v0_19, (temp_v0_19 == 0)) && (temp_v0_20 = func_800BD9EC(arg0->unk4C + 0x84, arg0, temp_v0_19), phi_a2_2 = temp_v0_20, (temp_v0_20 == 0)) && (temp_v0_21 = func_800BD9EC(arg0->unk4C->unk44 + 0x94, arg0, temp_v0_20), phi_a2_2 = temp_v0_21, (temp_v0_21 == 0)) && (temp_v0_22 = func_800BD9EC(&D_803B5FC8, arg0, temp_v0_21), phi_a2_2 = temp_v0_22, (temp_v0_22 == 0))) { + arg0->unk2 = 0; + return NULL; + } +block_36: + return phi_a2_2; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BDA44.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B8FFC(? *, ?); // extern +extern ? D_803AFBE8; +extern s32 D_803B1508; +extern s32 D_803B70B0; +extern ? gZeroNoteSub; + +void func_800BDD34(void) { + s32 temp_s1; + void *temp_s0; + s32 phi_s2; + s32 phi_s1; + + phi_s1 = 0; + if (D_803B70B0 > 0) { + phi_s2 = 0; + do { + temp_s0 = phi_s2 + D_803B1508; + temp_s0->unkB0 = gZeroNoteSub.unk0; + temp_s0->unkB4 = gZeroNoteSub.unk4; + temp_s0->unkB8 = gZeroNoteSub.unk8; + temp_s0->unk30 = 0; + temp_s0->unk44 = -1; + temp_s0->unk48 = -1; + temp_s0->unk40 = -1; + temp_s0->unk31 = 0; + temp_s0->unk54 = 0.0f; + temp_s0->unk34 = 0; + temp_s0->unk59 = 0; + temp_s0->unk58 = 0; + temp_s0->unkA0 = 0; + temp_s0->unk80 = 0.0f; + temp_s0->unk84 = 0.0f; + temp_s0->unkBC = gZeroNoteSub.unkC; + temp_s0->unk1C = func_800B8FFC(&D_803AFBE8, 0xA0); + temp_s1 = phi_s1 + 1; + phi_s2 += 0xC0; + phi_s1 = temp_s1; + } while (temp_s1 < D_803B70B0); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/playback/func_800BDD34.s") +#endif diff --git a/src/audio/port_eu.c b/src/audio/port_eu.c new file mode 100644 index 000000000..311d2f16c --- /dev/null +++ b/src/audio/port_eu.c @@ -0,0 +1,433 @@ +#include +#include + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B70EC(s32, s32 *, s32, s16); // extern +s32 func_800BA00C(); // extern +? func_800BAC04(); // extern +? func_800CBCB0(void *); // extern +extern OSMesgQueue *D_800EA3A8; +extern OSMesgQueue *D_800EA3AC; +extern OSMesgQueue *D_800EA3B0; +extern OSMesgQueue *D_800EA3B4; +extern s32 D_800EA484; +extern u8 D_803B0500; +extern u8 D_803B0501; +extern OSMesgQueue D_803B6008; +extern ? D_803B7088; +extern s32 D_803B70B8; +extern s32 D_803B70BC; +extern s32 D_803B70C0; +extern s32 D_803B70C4; +extern ? D_803B70C8; +extern s32 D_803B70D0; +extern void *D_803B70D4; +extern ? D_803B70D8; +extern ? D_803B7180; +extern ? D_803B718C; +extern s32 D_803B7194; +extern ? aspMainDataEnd; +extern ? aspMainDataStart; +extern ? aspMainTextStart; +extern ? rspbootTextEnd; +extern ? rspbootTextStart; + +void *create_next_audio_frame_task(void) { + u32 sp74; + s32 sp70; + s32 sp60; + void *sp58; + void *sp54; + s32 *sp40; + s16 *temp_s1_3; + s16 temp_a0; + s16 temp_v0_2; + s16 temp_v1; + s32 *temp_a3; + s32 temp_hi; + s32 temp_s0; + s32 temp_s0_2; + s32 temp_s0_3; + s32 temp_s0_4; + s32 temp_s1; + s32 temp_s1_2; + s32 temp_t3; + s32 temp_t5; + s32 temp_v0; + void *temp_v1_2; + s32 phi_s0; + s32 phi_s1; + s32 phi_s0_2; + s32 phi_s0_3; + s32 phi_s1_2; + s32 phi_s1_3; + + D_803B70B8 = D_803B70B8 + 1; + if ((D_803B70B8 % D_803B7088.unk0) != 0) { + return NULL; + } + osSendMesg(D_800EA3A8, D_803B70B8, 0); + temp_t3 = D_803B70C4 + 1; + temp_t5 = temp_t3 % 3; + temp_hi = (temp_t5 + 1) % 3; + D_803B70C4 = temp_t3; + D_803B70C0 = D_803B70C0 ^ 1; + D_803B70C4 = temp_t5; + sp74 = osAiGetLength() >> 2; + temp_v1 = *(&D_803B718C + (temp_hi * 2)); + if (temp_v1 != 0) { + osAiSetNextBuffer(*(&D_803B7180 + (temp_hi * 4)), temp_v1 * 4); + } + temp_s1 = D_803B70BC; + phi_s0 = 0; + phi_s1 = temp_s1; + phi_s0_2 = 0; + phi_s0_3 = 0; + phi_s1_3 = temp_s1; + if (temp_s1 > 0) { + do { + phi_s1_2 = phi_s1_3; + if (osRecvMesg(&D_803B6008, NULL, 0) == 0) { + phi_s1_2 = phi_s1_3 - 1; + } + temp_s0 = phi_s0 + 1; + phi_s0 = temp_s0; + phi_s1 = phi_s1_2; + phi_s1_3 = phi_s1_2; + } while (temp_s0 < D_803B70BC); + } + if ((phi_s1 != 0) && (phi_s1 > 0)) { + do { + osRecvMesg(&D_803B6008, NULL, 1); + temp_s0_2 = phi_s0_2 + 1; + phi_s0_2 = temp_s0_2; + } while (temp_s0_2 != phi_s1); + } + temp_s1_2 = D_803B6008.validCount; + if ((temp_s1_2 != 0) && (temp_s1_2 > 0)) { + do { + osRecvMesg(&D_803B6008, NULL, 0); + temp_s0_3 = phi_s0_3 + 1; + phi_s0_3 = temp_s0_3; + } while (temp_s0_3 != temp_s1_2); + } + D_803B70BC = 0; + func_800BAC04(); + if (osRecvMesg(D_800EA3B0, &sp58, 0) != -1) { + D_803B0501 = sp58; + D_803B0500 = 5; + } + if ((D_803B0500 != 0) && (func_800BA00C() == 0)) { + if (D_803B0500 == 0) { + osSendMesg(D_800EA3B4, D_803B0501, 0); + } + return NULL; + } + temp_v0 = D_803B70C0; + D_803B70D4 = (temp_v0 * 0x50) + &D_803B70D8; + temp_s0_4 = D_803B70C4; + temp_a3 = (temp_s0_4 * 4) + &D_803B7180; + D_803B70D0 = *(&D_803B70C8 + (temp_v0 * 4)); + sp60 = *temp_a3; + temp_s1_3 = (temp_s0_4 * 2) + &D_803B718C; + *temp_s1_3 = (((D_803B7088.unk6 - sp74) + 0x40) & 0xFFF0) + 0x10; + temp_a0 = D_803B7088.unkA; + if (*temp_s1_3 < temp_a0) { + *temp_s1_3 = temp_a0; + } + temp_v0_2 = D_803B7088.unk8; + if (temp_v0_2 < *temp_s1_3) { + *temp_s1_3 = temp_v0_2; + } + sp40 = temp_a3; + if (osRecvMesg(D_800EA3AC, &sp54, 0) != -1) { + func_800CBCB0(sp54); + } + D_803B70D0 = func_800B70EC(D_803B70D0, &sp70, sp60, *temp_s1_3); + D_803B7194 = osGetCount() * (D_803B7194 + D_803B70B8); + D_803B7194 = *(*sp40 + ((D_803B70B8 & 0xFF) * 2)) + D_803B7194; + D_803B70D4->unk40 = 0; + D_803B70D4->unk44 = 0; + temp_v1_2 = D_803B70D4; + temp_v1_2->unk0 = 2; + temp_v1_2->unk4 = 0; + temp_v1_2->unk8 = &rspbootTextStart; + temp_v1_2->unkC = &rspbootTextEnd - &rspbootTextStart; + temp_v1_2->unk10 = &aspMainTextStart; + temp_v1_2->unk18 = &aspMainDataStart; + temp_v1_2->unk14 = 0x1000; + temp_v1_2->unk1C = ((&aspMainDataEnd - &aspMainDataStart) >> 3) * 8; + temp_v1_2->unk20 = 0; + temp_v1_2->unk24 = 0; + temp_v1_2->unk28 = 0; + temp_v1_2->unk2C = 0; + temp_v1_2->unk30 = *(&D_803B70C8 + (D_803B70C0 * 4)); + temp_v1_2->unk38 = 0; + temp_v1_2->unk3C = 0; + temp_v1_2->unk34 = sp70 * 8; + if (D_800EA484 < sp70) { + D_800EA484 = sp70; + } + return D_803B70D4; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/create_next_audio_frame_task.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BB388(u8, u8, u8, void *); // extern +? func_800BBDDC(u8, ?, void *); // extern +? func_800BBEF0(u8, u8, u8, void *); // extern +? func_800BEF2C(u32 *, s32, void *); // extern +? func_800CBA08(u8, s32, void *); // extern +? func_800CBA64(u8, s32); // extern +extern u8 D_803B1510; +extern u8 D_803B1658; +extern u8 D_803B17A0; +extern u8 D_803B18E8; +extern s8 D_803B70B6; + +void func_800CB818(void *arg0) { + s32 temp_a1; + u32 *temp_a0; + u8 temp_a0_2; + u8 temp_a1_2; + u8 temp_a2; + u8 temp_v0; + u8 temp_v0_2; + void *temp_a3; + + temp_v0 = arg0->unk0; + temp_a3 = arg0; + if (temp_v0 != 0x81) { + if (temp_v0 != 0x82) { + if (temp_v0 != 0x83) { + if (temp_v0 != 0x88) { + if (temp_v0 != 0xF0) { + if (temp_v0 != 0xF1) { + if (temp_v0 != 0xF2) { + if (temp_v0 != 0xF3) { + return; + } + func_800BB388(temp_a3->unk1, temp_a3->unk2, temp_a3->unk3, temp_a3); + // Duplicate return node #19. Try simplifying control flow for better match + return; + } + D_803B1510 = (D_803B1510 & 0xFFDF) | 4; + D_803B1658 = (D_803B1658 & 0xFFDF) | 4; + D_803B17A0 = (D_803B17A0 & 0xFFDF) | 4; + D_803B18E8 = (D_803B18E8 & 0xFFDF) | 4; + return; + } + D_803B1510 = D_803B1510 | 0x24; + D_803B1658 = D_803B1658 | 0x24; + D_803B17A0 = D_803B17A0 | 0x24; + D_803B18E8 = D_803B18E8 | 0x24; + return; + } + D_803B70B6 = temp_a3->unk4; + return; + } + goto block_10; + } + temp_v0_2 = temp_a3->unk1; + temp_a0 = (temp_v0_2 * 0x148) + &D_803B1510; + if ((*temp_a0 >> 0x1F) != 0) { + temp_a1 = temp_a3->unk4; + if (temp_a1 == 0) { + func_800BEF2C(temp_a0, temp_a1, temp_a3); + return; + } + func_800CBA08(temp_v0_2, temp_a1, temp_a3); + return; + } + return; + } +block_10: + temp_a0_2 = temp_a3->unk1; + temp_a1_2 = temp_a3->unk2; + temp_a2 = temp_a3->unk3; + arg0 = temp_a3; + func_800BBEF0(temp_a0_2, temp_a1_2, temp_a2, temp_a3); + func_800CBA64(arg0->unk1, arg0->unk4); + return; + } + func_800BBDDC(temp_a3->unk2, 3, temp_a3); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CB818.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_803B1510; + +void func_800CBA08(s32 arg0, s16 arg1) { + ? sp-10; + void *temp_v0; + s16 phi_a1; + + phi_a1 = arg1; + if (arg1 == 0) { + phi_a1 = 1; + } + temp_v0 = (arg0 * 0x148) + &D_803B1510; + temp_v0->unk1 = 2; + temp_v0->unk10 = phi_a1; + temp_v0->unk1C = -(temp_v0->unk18 / phi_a1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBA08.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_803B1510; + +void func_800CBA64(s32 arg0, s16 arg1) { + ? sp-10; + void *temp_v0; + + if (arg1 != 0) { + temp_v0 = (arg0 * 0x148) + &D_803B1510; + temp_v0->unk1 = 1; + temp_v0->unk12 = arg1; + temp_v0->unk10 = arg1; + temp_v0->unk18 = 0.0f; + temp_v0->unk1C = 0.0f; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBA64.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern s8 D_800EA3A0; +extern s8 D_800EA3A4; +extern OSMesgQueue *D_800EA3A8; +extern OSMesgQueue *D_800EA3AC; +extern OSMesgQueue *D_800EA3B0; +extern OSMesgQueue *D_800EA3B4; +extern void *D_80194020; +extern void *D_80194028; +extern void *D_80194038; +extern void *D_8019403C; + +void func_800CBAB4(void) { + D_800EA3A0 = 0; + D_800EA3A4 = 0; + osCreateMesgQueue(D_800EA3A8, &D_80194020, 1); + osCreateMesgQueue(D_800EA3AC, &D_80194028, 4); + osCreateMesgQueue(D_800EA3B0, &D_80194038, 1); + osCreateMesgQueue(D_800EA3B4, &D_8019403C, 1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBAB4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern u8 D_800EA3A0; +extern ? D_80193820; + +void func_800CBB48(s32 arg0, s32 *arg1) { + void *temp_v0; + + temp_v0 = (D_800EA3A0 * 8) + &D_80193820; + temp_v0->unk0 = arg0; + temp_v0->unk4 = *arg1; + D_800EA3A0 = D_800EA3A0 + 1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBB48.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CBB48(? *); // extern + +void func_800CBB88(? arg1) { + func_800CBB48(&arg1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBB88.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CBB48(? *); // extern + +void func_800CBBB8(? arg1) { + func_800CBB48(&arg1); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBBB8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800CBB48(s32 *); // extern + +void func_800CBBE8(s32 arg1) { + s32 sp34; + + sp34 = arg1 << 0x18; + func_800CBB48(&sp34); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBBE8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern u8 D_800EA3A0; +extern u8 D_800EA3A4; +extern OSMesgQueue *D_800EA3AC; +extern s32 D_800EA4A4; + +void func_800CBC24(void) { + s32 temp_t6; + u8 temp_v0; + u8 temp_v1; + + temp_v1 = D_800EA3A4; + temp_v0 = D_800EA3A0; + temp_t6 = ((temp_v0 - temp_v1) + 0x100) & 0xFF; + if (D_800EA4A4 < temp_t6) { + D_800EA4A4 = temp_t6; + } + osSendMesg(D_800EA3AC, ((temp_v1 & 0xFF) << 8) | (temp_v0 & 0xFF), 0); + D_800EA3A4 = D_800EA3A0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBC24.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800CBCB0: + +Unable to determine jump table for jr instruction at func_800CBCB0.s line 116. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBCB0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800CBF48: + +Last instruction is missing a delay slot: +jr $ra +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBF48.s") +#endif diff --git a/src/audio/seqplayer.c b/src/audio/seqplayer.c new file mode 100644 index 000000000..0679521b0 --- /dev/null +++ b/src/audio/seqplayer.c @@ -0,0 +1,807 @@ +#include +#include + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD318(void *, void *, s32); // extern + +void func_800BE8F0(void *arg0) { + s32 temp_a0; + u8 temp_t0; + u8 temp_t2; + u8 temp_t4; + u8 temp_t6; + u8 temp_t8; + u8 temp_t8_2; + void *temp_v1; + void *phi_v1; + s32 phi_a0; + + temp_t8 = arg0->unk0 & 0xFF7F; + temp_t0 = temp_t8 & 0xBF; + arg0->unk0 = temp_t8; + temp_t2 = temp_t0 & 0xDF; + arg0->unk0 = temp_t0; + temp_t4 = temp_t2 & 0xEF; + arg0->unk0 = temp_t2; + temp_t6 = temp_t4 & 0xF7; + arg0->unk0 = temp_t4; + temp_t8_2 = temp_t6 & 0xFB; + arg0->unk0 = temp_t6; + arg0->unk0 = temp_t8_2; + arg0->unk10 = 0x800; + arg0->unkC = 0x800; + arg0->unk1E = 0; + arg0->unk0 = temp_t8_2 & 0xFD; + arg0->unk8 = 0; + arg0->unk1 = 0xFF; + arg0->unk78 = 0; + arg0->unk9 = 0x40; + arg0->unkA = 0x80; + arg0->unk38 = 0; + arg0->unk7 = 0; + arg0->unk4 = 0; + arg0->unk5 = 3; + arg0->unk1A = 0; + arg0->unk80 = gDefaultEnvelope; + arg0->unk7C = 0x20; + arg0->unk7D = 0; + arg0->unk12 = 0; + arg0->unkE = 0; + arg0->unk14 = 0; + arg0->unk16 = 0; + arg0->unk18 = 0; + arg0->unk24 = 1.0f; + arg0->unk20 = 1.0f; + arg0->unk30 = 1.0f; + phi_v1 = arg0; + phi_a0 = 0; + do { + temp_a0 = phi_a0 + 4; + phi_v1->unk59 = -1; + phi_v1->unk5A = -1; + phi_v1->unk5B = -1; + temp_v1 = phi_v1 + 4; + temp_v1->unk54 = -1; + phi_v1 = temp_v1; + phi_a0 = temp_a0; + } while (temp_a0 != 8); + arg0->unk0 = arg0->unk0 & 0xFFFE; + func_800BD318(arg0 + 0x84, arg0, 8); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BE8F0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD120(s32, void *, s32); // extern +s32 func_800BF044(? *, void *, s32); // extern +extern ? D_803B5FB8; + +? func_800BEA10(void *arg0, s32 arg1) { + void *sp1C; + s32 temp_a3; + s32 temp_t7; + s32 temp_v0; + u8 temp_t0; + u8 temp_t1; + u8 temp_t5; + u8 temp_t7_2; + void *temp_a2; + void *temp_v1; + + temp_t7 = arg1 * 4; + temp_a2 = arg0 + temp_t7; + temp_a3 = temp_a2->unk48; + if (temp_a3 == 0) { + sp1C = temp_a2; + temp_v0 = func_800BF044(&D_803B5FB8, temp_a2, temp_a3); + temp_a2->unk48 = temp_v0; + if (temp_v0 == 0) { + temp_a2->unk48 = 0; + return -1; + } + goto block_4; + } + sp1C = temp_a2; + func_800BD120(temp_a3, temp_a2, temp_a3); +block_4: + temp_v1 = (arg0 + temp_t7)->unk48; + temp_v1->unk4C = arg0; + temp_t5 = temp_v1->unk0 | 0x80; + temp_t7_2 = temp_t5 & 0xDF; + temp_t0 = temp_t7_2 & 0xEF; + temp_v1->unk18 = arg0->unk7C; + temp_v1->unk0 = temp_t5; + temp_v1->unk1C = arg0->unk80; + temp_t1 = temp_t0 & 0xBF; + temp_v1->unk0 = temp_t7_2; + temp_v1->unk0 = temp_t0; + temp_v1->unk0 = temp_t1; + temp_v1->unk18 = 0; + temp_v1->unk0 = temp_t1 & 0xFD; + temp_v1->unk8 = 0; + temp_v1->unk68 = 0; + temp_v1->unk2 = 0; + temp_v1->unk3 = 0x80; + temp_v1->unk5 = 0x40; + temp_v1->unk22 = 0; + temp_v1->unk38 = 0; + temp_v1->unk3A = 0; + temp_v1->unk3C = 0; + temp_v1->unk40 = 0; + temp_v1->unk44 = 0; + temp_v1->unk1 = 0xFF; + temp_v1->unk28 = 0.0f; + temp_v1->unk24 = 1.0f; + return 0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEA10.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD120(); // extern + +void func_800BEB18(u8 *arg0) { + u8 temp_t0; + u8 temp_t9; + + if (arg0 != 0) { + func_800BD120(); + temp_t9 = *arg0 & 0xFF7F; + temp_t0 = temp_t9 | 0x40; + *arg0 = temp_t9; + *arg0 = temp_t0; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEB18.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BEB18(s32); // extern +? func_800BF004(? *, s32, s32); // extern +extern ? D_803B5FB8; + +void func_800BEB54(s32 arg0, s32 arg1) { + s32 sp1C; + void *sp18; + s32 temp_a2; + void *temp_v0; + + temp_v0 = arg0 + (arg1 * 4); + temp_a2 = temp_v0->unk48; + if (temp_a2 != 0) { + sp18 = temp_v0; + sp1C = temp_a2; + func_800BF004(&D_803B5FB8, temp_a2 + 0x6C, temp_a2); + func_800BEB18(sp1C); + temp_v0->unk48 = 0; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEB54.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD418(s32); // extern +? func_800BEB54(u8 *, s32); // extern + +void func_800BEBA4(u8 *arg0) { + s32 temp_s0; + u8 temp_t9; + s32 phi_s0; + + phi_s0 = 0; + do { + func_800BEB54(arg0, phi_s0); + temp_s0 = phi_s0 + 1; + phi_s0 = temp_s0; + } while (temp_s0 != 4); + func_800BD418(arg0 + 0x84); + temp_t9 = *arg0 & 0xFF7F; + *arg0 = temp_t9; + *arg0 = temp_t9 | 0x40; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEBA4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +extern ? D_803B1A30; +extern ? D_803B3EF0; +extern ? D_803B5EF0; + +? *func_800BEC10(void) { + ? *temp_v1; + ? *phi_v1; + + phi_v1 = &D_803B1A30; +loop_1: + if (phi_v1->unk44 == 0) { + return phi_v1; + } + if (phi_v1->unk108 == 0) { + return phi_v1 + 0xC4; + } + if (phi_v1->unk1CC == 0) { + return phi_v1 + 0x188; + } + if (phi_v1->unk290 == 0) { + return phi_v1 + 0x24C; + } + temp_v1 = phi_v1 + 0x310; + phi_v1 = temp_v1; + if (temp_v1 == &D_803B3EF0) { + return &D_803B5EF0; + } + goto loop_1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEC10.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BE8F0(s32); // extern +? func_800BEBA4(s32, s32); // extern +s32 func_800BEC10(); // extern +extern ? D_803B5EF0; +extern s32 D_803B7198; + +void func_800BEC8C(void *arg0, s32 arg1) { + s32 temp_s0; + s32 temp_s3; + s32 temp_v0; + void *temp_s2; + s32 phi_a1; + s32 phi_s3; + + phi_a1 = arg1 & 0xFFFF; + phi_s3 = 0; + do { + if ((phi_a1 & 1) != 0) { + temp_s2 = arg0 + (phi_s3 * 4); + temp_s0 = temp_s2->unk30; + if (((temp_s0 != &D_803B5EF0) == 1) && (arg0 == temp_s0->unk44)) { + func_800BEBA4(temp_s0, phi_a1); + temp_s0->unk44 = 0; + } + temp_v0 = func_800BEC10(); + if (temp_v0 == &D_803B5EF0) { + D_803B7198 = phi_s3 + 0x10000; + temp_s2->unk30 = temp_v0; + } else { + func_800BE8F0(temp_v0); + temp_s2->unk30 = temp_v0; + temp_v0->unk44 = arg0; + temp_v0->unk6 = arg0->unk5; + temp_v0->unk3 = arg0->unk3; + temp_v0->unk2 = arg0->unk2; + } + } + temp_s3 = phi_s3 + 1; + phi_a1 = (phi_a1 >> 1) & 0xFFFF; + phi_s3 = temp_s3; + } while (temp_s3 != 0x10); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEC8C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BEBA4(s32, s32); // extern +extern ? D_803B5EF0; + +void func_800BEDB8(s32 arg0, s32 arg1) { + s32 temp_s0; + s32 temp_s1; + void *temp_s3; + s32 phi_a1; + s32 phi_s1; + + phi_a1 = arg1 & 0xFFFF; + phi_s1 = 0; + do { + if ((phi_a1 & 1) != 0) { + temp_s3 = arg0 + (phi_s1 * 4); + temp_s0 = temp_s3->unk30; + if ((temp_s0 != &D_803B5EF0) == 1) { + if (arg0 == temp_s0->unk44) { + func_800BEBA4(temp_s0, phi_a1); + temp_s0->unk44 = 0; + } + temp_s3->unk30 = &D_803B5EF0; + } + } + temp_s1 = phi_s1 + 1; + phi_a1 = (phi_a1 >> 1) & 0xFFFF; + phi_s1 = temp_s1; + } while (temp_s1 != 0x10); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEDB8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BEB54(void *, s32); // extern +extern ? D_803B5EF0; + +void func_800BEE88(s32 arg0, s32 arg1, s32 arg2) { + s32 temp_s0; + u8 temp_t4; + void *temp_s2; + void *phi_s1; + s32 phi_s0; + + temp_s2 = (arg0 + ((arg1 & 0xFF) * 4))->unk30; + phi_s0 = 0; + if (temp_s2 != &D_803B5EF0) { + temp_s2->unk78 = 0; + temp_s2->unk60 = arg2; + temp_t4 = temp_s2->unk0 | 0x80; + temp_s2->unk0 = temp_t4; + temp_s2->unk0 = temp_t4 & 0xBF; + temp_s2->unk1A = 0; + phi_s1 = temp_s2; + do { + if (phi_s1->unk48 != 0) { + func_800BEB54(temp_s2, phi_s0); + } + temp_s0 = phi_s0 + 1; + phi_s1 += 4; + phi_s0 = temp_s0; + } while (temp_s0 != 4); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEE88.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD418(s32); // extern +? func_800BEDB8(?); // extern +extern ? D_803AFE18; +extern ? D_803B03C0; +extern ? D_803B0400; + +void func_800BEF2C(void *arg0) { + u8 *temp_v0; + u8 *temp_v1_2; + u8 temp_a0; + u8 temp_t0; + u8 temp_t9; + u8 temp_v1; + + func_800BEDB8(0xFFFF); + func_800BD418(arg0 + 0x94); + temp_t9 = arg0->unk0 | 0x40; + temp_t0 = temp_t9 & 0x7F; + arg0->unk0 = temp_t9; + arg0->unk0 = temp_t0; + temp_v0 = arg0->unk4 + &D_803B0400; + temp_v1 = *temp_v0; + if ((temp_v1 >= 2) && (temp_v1 != 5)) { + *temp_v0 = 3; + } + temp_v1_2 = arg0->unk5 + &D_803B03C0; + temp_a0 = *temp_v1_2; + if ((temp_a0 >= 2) && (temp_a0 != 5)) { + *temp_v1_2 = 4; + } + if (arg0->unk5 == D_803AFE18.unk1B2) { + D_803AFE18.unk194 = 1; + return; + } + if (arg0->unk5 == D_803AFE18.unk1BE) { + D_803AFE18.unk194 = 0; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BEF2C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800BF004(void *arg0, void *arg1) { + if (arg1->unk0 == 0) { + arg0->unk0->unk4 = arg1; + arg1->unk4 = arg0; + arg1->unk0 = arg0->unk0; + arg0->unk0 = arg1; + arg0->unk8 = arg0->unk8 + 1; + arg1->unkC = arg0->unkC; + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BF004.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800BF044(void *arg0) { + void *temp_v1; + + temp_v1 = arg0->unk0; + if (temp_v1 == arg0) { + return 0; + } + temp_v1->unk0->unk4 = arg0; + arg0->unk0 = temp_v1->unk0; + temp_v1->unk0 = NULL; + arg0->unk8 = arg0->unk8 - 1; + return temp_v1->unk8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BF044.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BF004(? *, ? *); // extern +extern ? D_803B3EF0; +extern ? D_803B3F5C; +extern ? D_803B5F5C; +extern ? D_803B5FB8; + +void func_800BF084(void) { + ? *temp_s1; + ? *phi_s0; + ? *phi_s1; + + D_803B5FB8.unk0 = &D_803B5FB8; + D_803B5FB8.unk4 = &D_803B5FB8; + D_803B5FB8.unk8 = 0; + D_803B5FB8.unkC = 0; + phi_s0 = &D_803B3EF0; + phi_s1 = &D_803B3F5C; + do { + phi_s0->unk74 = phi_s0; + phi_s0->unk6C = 0; + func_800BF004(&D_803B5FB8, phi_s1); + temp_s1 = phi_s1 + 0x80; + phi_s0 += 0x80; + phi_s1 = temp_s1; + } while (temp_s1 != &D_803B5F5C); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BF084.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +u8 func_800BF108(u8 **arg0) { + u8 *temp_a1; + u8 temp_v0; + + temp_a1 = *arg0; + temp_v0 = *temp_a1; + *arg0 = temp_a1 + 1; + return temp_v0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BF108.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s16 func_800BF11C(u8 **arg0) { + u8 *temp_a1; + u8 *temp_t9; + u8 temp_v1; + + temp_a1 = *arg0; + temp_v1 = *temp_a1; + temp_t9 = temp_a1 + 1; + *arg0 = temp_t9; + *arg0 = temp_t9 + 1; + return *temp_t9 | (temp_v1 << 8); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BF11C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +u8 func_800BF14C(u8 **arg0) { + u8 *temp_t6; + u8 *temp_v0; + u8 temp_v1; + u8 phi_v1; + + temp_v0 = *arg0; + temp_v1 = *temp_v0; + temp_t6 = temp_v0 + 1; + *arg0 = temp_t6; + phi_v1 = temp_v1; + if ((temp_v1 & 0x80) != 0) { + *arg0 = temp_t6 + 1; + phi_v1 = (*temp_t6 | ((temp_v1 << 8) & 0x7F00)) & 0xFFFF; + } + return phi_v1; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BF14C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800BF190: + +Unable to determine jump table for jr instruction at func_800BF190.s line 611. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BF190.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800BC948(u8, u8); // extern + +s32 func_800BFC68(void *arg0, u8 arg1, void **arg2, void *arg3) { + void *temp_v0; + + temp_v0 = func_800BC948(arg0->unk6, arg1); + if (temp_v0 == 0) { + *arg2 = NULL; + return 0; + } + arg3->unk4 = temp_v0->unk4; + arg3->unk0 = temp_v0->unk3; + *arg2 = temp_v0; + return (arg1 + 1) & 0xFF; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BFC68.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s16 func_800BFC68(s32, void *, void *); // extern + +void func_800BFCD8(u8 *arg0, s32 arg1) { + s16 temp_v0; + s32 temp_t6; + + temp_t6 = arg1 & 0xFF; + if (temp_t6 >= 0x80) { + arg0->unk1C = temp_t6; + arg0->unk40 = 0; + goto block_6; + } + if (temp_t6 == 0x7F) { + arg0->unk1C = 0; + arg0->unk40 = 1; + goto block_6; + } + temp_v0 = func_800BFC68(temp_t6, arg0 + 0x40, arg0 + 0x7C); + arg0->unk1C = temp_v0; + if (temp_v0 == 0) { + arg0->unk0 = arg0->unk0 & 0xFFF7; + return; + } +block_6: + arg0->unk0 = arg0->unk0 | 8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BFCD8.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_800BFD6C(void *arg0, s32 arg1) { + arg0->unk24 = (arg1 & 0xFF) / 127.0f; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BFD6C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800BFD90: + +Unable to determine jump table for jr instruction at func_800BFD90.s line 639. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800BFD90.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +/* +Failed to decompile function func_800C08CC: + +Unable to determine jump table for jr instruction at func_800C08CC.s line 530. + +There must be a read of a variable in the same block as +the instruction, which has a name starting with "jtbl"/"jpt_". +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800C08CC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BCBC4(); // extern +? func_800BDFF8(u32 *); // extern +? func_800C08CC(u32 *); // extern +extern u32 D_803B1510; +extern ? D_803B1A30; + +void func_800C1138(s32 arg0) { + u32 *temp_s0; + u32 *phi_s0; + + phi_s0 = &D_803B1510; + do { + if ((*phi_s0 >> 0x1F) == 1) { + func_800C08CC(phi_s0); + func_800BDFF8(phi_s0); + } + temp_s0 = phi_s0 + 0x148; + phi_s0 = temp_s0; + } while (temp_s0 != &D_803B1A30); + func_800BCBC4(); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800C1138.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BEF2C(void *); // extern +extern ? D_803B1510; +extern ? gDefaultShortNoteDurationTable; +extern ? gDefaultShortNoteVelocityTable; + +void func_800C11B0(s32 arg0) { + void *sp18; + void *temp_a0; + + temp_a0 = (arg0 * 0x148) + &D_803B1510; + sp18 = temp_a0; + func_800BEF2C(temp_a0); + temp_a0->unkE = 0; + temp_a0->unk1 = 1; + temp_a0->unk10 = 0; + temp_a0->unk12 = 0; + temp_a0->unkA = 0; + temp_a0->unk8 = 0x1680; + temp_a0->unkC = 0; + temp_a0->unk2 = 0; + temp_a0->unk8C = &gDefaultShortNoteVelocityTable; + temp_a0->unk90 = &gDefaultShortNoteDurationTable; + temp_a0->unk18 = 1.0f; + temp_a0->unk28 = 1.0f; + temp_a0->unk1C = 0.0f; + temp_a0->unk20 = 0.0f; + temp_a0->unk24 = 0.5f; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800C11B0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800BD318(? *); // extern +? func_800BF084(s32, ? *, u32, u8 *); // extern +? func_800C11B0(s32); // extern +extern ? D_803B1510; +extern ? D_803B15A4; +extern ? D_803B1A30; +extern u8 D_803B3EF0; +extern ? D_803B5EF0; + +void func_800C125C(void) { + ? *temp_a1; + ? *temp_v1; + ? *temp_v1_2; + s32 temp_s3; + s32 temp_v0; + s32 temp_v0_3; + u32 temp_a2; + u8 *temp_v0_2; + u8 temp_t4; + u8 temp_t6; + u8 temp_t8; + ? *phi_a1; + ? *phi_v1; + s32 phi_v0; + ? *phi_a2; + u8 *phi_v0_2; + ? *phi_v1_2; + s32 phi_v0_3; + ? *phi_s1; + ? *phi_s5; + s32 phi_s3; + ? *phi_s4; + + phi_a1 = &D_803B1A30; + phi_a2 = &D_803B1A30; + do { + phi_a1->unk44 = 0; + phi_a1->unk0 = phi_a1->unk0 & 0xFF7F; + phi_v1 = phi_a2; + phi_v0 = 0; + phi_v0_3 = 0; +loop_2: + temp_v0 = phi_v0 + 4; + phi_v1->unk4C = 0; + phi_v1->unk50 = 0; + phi_v1->unk54 = 0; + temp_v1 = phi_v1 + 0x10; + temp_v1->unk38 = 0; + phi_v1 = temp_v1; + phi_v0 = temp_v0; + if (temp_v0 != 0x40) { + goto loop_2; + } + temp_a2 = phi_a2 + 0xC4; + temp_a1 = phi_a1 + 0xC4; + phi_a1 = temp_a1; + phi_a2 = temp_a2; + } while (temp_a2 < &D_803B3EF0); + func_800BF084(0x40, temp_a1, temp_a2, &D_803B3EF0); + phi_v0_2 = &D_803B3EF0; + do { + temp_v0_2 = phi_v0_2 + 0x80; + temp_v0_2->unk-34 = 0; + temp_v0_2->unk-80 = *phi_v0_2 & 0xFF7F; + phi_v0_2 = temp_v0_2; + } while (temp_v0_2 < &D_803B5EF0); + phi_s1 = &D_803B1510; + phi_s5 = &D_803B15A4; + phi_s3 = 0; + phi_s4 = &D_803B1510; + do { + phi_v1_2 = phi_s4; +loop_8: + temp_v0_3 = phi_v0_3 + 4; + phi_v1_2->unk34 = &D_803B5EF0; + phi_v1_2->unk38 = &D_803B5EF0; + phi_v1_2->unk3C = &D_803B5EF0; + temp_v1_2 = phi_v1_2 + 0x10; + temp_v1_2->unk20 = &D_803B5EF0; + phi_v1_2 = temp_v1_2; + phi_v0_3 = temp_v0_3; + if (temp_v0_3 != 0x10) { + goto loop_8; + } + phi_s1->unk7 = -1; + phi_s1->unk3 = 0xE0; + temp_t4 = phi_s1->unk0 & 0xFF7F; + temp_t6 = temp_t4 & 0xDF; + phi_s1->unk0 = temp_t4; + temp_t8 = temp_t6 & 0xF7; + phi_s1->unk0 = temp_t6; + phi_s1->unk0 = temp_t8; + phi_s1->unk0 = temp_t8 & 0xEF; + func_800BD318(phi_s5); + func_800C11B0(phi_s3); + temp_s3 = phi_s3 + 1; + phi_s1 += 0x148; + phi_s5 += 0x148; + phi_s3 = temp_s3; + phi_s4 += 0x148; + } while (temp_s3 != 4); +} +#else +GLOBAL_ASM("asm/non_matchings/audio/seqplayer/func_800C125C.s") +#endif diff --git a/src/audio/synthesis.c b/src/audio/synthesis.c new file mode 100644 index 000000000..b41fc6a9c --- /dev/null +++ b/src/audio/synthesis.c @@ -0,0 +1,1469 @@ +#include +#include +#include "synthesis.h" +//#include "heap.h" +//#include "data.h" +//#include "load.h" +//#include "seqplayer.h" +#include "internal.h" +//#include "external.h" + + +#define DMEM_ADDR_TEMP 0x0 +#define DMEM_ADDR_RESAMPLED 0x20 +#define DMEM_ADDR_RESAMPLED2 0x160 +#define DMEM_ADDR_UNCOMPRESSED_NOTE 0x180 +#define DMEM_ADDR_NOTE_PAN_TEMP 0x200 +#define DMEM_ADDR_STEREO_STRONG_TEMP_DRY 0x200 +#define DMEM_ADDR_STEREO_STRONG_TEMP_WET 0x340 +#define DMEM_ADDR_COMPRESSED_ADPCM_DATA 0x3f0 +#define DMEM_ADDR_LEFT_CH 0x4c0 +#define DMEM_ADDR_RIGHT_CH 0x600 +#define DMEM_ADDR_WET_LEFT_CH 0x740 +#define DMEM_ADDR_WET_RIGHT_CH 0x880 + +#define aSetLoadBufferPair(pkt, c, off) \ + aSetBuffer(pkt, 0, c + DMEM_ADDR_WET_LEFT_CH, 0, DEFAULT_LEN_1CH - c); \ + aLoadBuffer(pkt, VIRTUAL_TO_PHYSICAL2(gSynthesisReverb.ringBuffer.left + (off))); \ + aSetBuffer(pkt, 0, c + DMEM_ADDR_WET_RIGHT_CH, 0, DEFAULT_LEN_1CH - c); \ + aLoadBuffer(pkt, VIRTUAL_TO_PHYSICAL2(gSynthesisReverb.ringBuffer.right + (off))) + +#define aSetSaveBufferPair(pkt, c, d, off) \ + aSetBuffer(pkt, 0, 0, c + DMEM_ADDR_WET_LEFT_CH, d); \ + aSaveBuffer(pkt, VIRTUAL_TO_PHYSICAL2(gSynthesisReverb.ringBuffer.left + (off))); \ + aSetBuffer(pkt, 0, 0, c + DMEM_ADDR_WET_RIGHT_CH, d); \ + aSaveBuffer(pkt, VIRTUAL_TO_PHYSICAL2(gSynthesisReverb.ringBuffer.right + (off))); + +#define ALIGN(val, amnt) (((val) + (1 << amnt) - 1) & ~((1 << amnt) - 1)) + +struct VolumeChange { + u16 sourceLeft; + u16 sourceRight; + u16 targetLeft; + u16 targetRight; +}; + +u64 *synthesis_do_one_audio_update(s16 *aiBuf, s32 bufLen, u64 *cmd, s32 updateIndex); +u64 *synthesis_process_note(struct Note *note, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s16 *aiBuf, s32 bufLen, u64 *cmd); +u64 *load_wave_samples(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s32 nSamplesToLoad); +u64 *final_resample(u64 *cmd, struct NoteSynthesisState *synthesisState, s32 count, u16 pitch, u16 dmemIn, u32 flags); +u64 *process_envelope(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s32 nSamples, u16 inBuf, s32 headsetPanSettings, u32 flags); +u64 *note_apply_headset_pan_effects(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *note, s32 bufLen, s32 flags, s32 leftRight); + +struct SynthesisReverb gSynthesisReverbs[4]; +u8 sAudioSynthesisPad[0x10]; +s16 gVolume; +s8 gUseReverb; +s8 gNumSynthesisReverbs; +struct NoteSubEu *gNoteSubsEu; + +extern struct Note *D_803B7088; +extern s32 D_803B70B0; + +f32 gLeftVolRampings[3][1024]; +f32 gRightVolRampings[3][1024]; +f32 *gCurrentLeftVolRamping; // Points to any of the three left buffers above +f32 *gCurrentRightVolRamping; // Points to any of the three right buffers above + +u8 audioString1[] = "pitch %x: delaybytes %d : olddelay %d\n"; +u8 audioString2[] = "cont %x: delaybytes %d : olddelay %d\n"; + +// Equivalent functionality as the US/JP version, +// just that the reverb structure is chosen from an array with index +void prepare_reverb_ring_buffer(s32 chunkLen, u32 updateIndex, s32 reverbIndex) { + struct ReverbRingBufferItem *item; + struct SynthesisReverb *reverb = &gSynthesisReverbs[reverbIndex]; + s32 srcPos; + s32 dstPos; + s32 nSamples; + s32 excessiveSamples; + s32 UNUSED pad[3]; + if (reverb->downsampleRate != 1) { + if (reverb->framesLeftToIgnore == 0) { + // Now that the RSP has finished, downsample the samples produced two frames ago by skipping + // samples. + item = &reverb->items[reverb->curFrame][updateIndex]; + + // Touches both left and right since they are adjacent in memory + osInvalDCache(item->toDownsampleLeft, 0x300); + + for (srcPos = 0, dstPos = 0; dstPos < item->lengthA / 2; + srcPos += reverb->downsampleRate, dstPos++) { + reverb->ringBuffer.left[item->startPos + dstPos] = + item->toDownsampleLeft[srcPos]; + reverb->ringBuffer.right[item->startPos + dstPos] = + item->toDownsampleRight[srcPos]; + } + for (dstPos = 0; dstPos < item->lengthB / 2; srcPos += reverb->downsampleRate, dstPos++) { + reverb->ringBuffer.left[dstPos] = item->toDownsampleLeft[srcPos]; + reverb->ringBuffer.right[dstPos] = item->toDownsampleRight[srcPos]; + } + } + } + + item = &reverb->items[reverb->curFrame][updateIndex]; + nSamples = chunkLen / reverb->downsampleRate; + excessiveSamples = (nSamples + reverb->nextRingBufferPos) - reverb->bufSizePerChannel; + if (excessiveSamples < 0) { + // There is space in the ring buffer before it wraps around + item->lengthA = nSamples * 2; + item->lengthB = 0; + item->startPos = (s32) reverb->nextRingBufferPos; + reverb->nextRingBufferPos += nSamples; + } else { + // Ring buffer wrapped around + item->lengthA = (nSamples - excessiveSamples) * 2; + item->lengthB = excessiveSamples * 2; + item->startPos = reverb->nextRingBufferPos; + reverb->nextRingBufferPos = excessiveSamples; + } + // These fields are never read later + item->numSamplesAfterDownsampling = nSamples; + item->chunkLen = chunkLen; +} + + +#ifdef NON_MATCHING +/* sm64 +u64 *synthesis_load_reverb_ring_buffer(u64 *cmd, u16 addr, u16 srcOffset, s32 len, s32 reverbIndex) { + aSetBuffer(cmd++, 0, addr, 0, len&0xFF<<0x10); + aLoadBuffer(cmd++, VIRTUAL_TO_PHYSICAL2(&gSynthesisReverbs[reverbIndex].ringBuffer.left[srcOffset])); + + aSetBuffer(cmd++, 0, addr + DEFAULT_LEN_1CH, 0, len&0xFF<<0x10); + aLoadBuffer(cmd++, VIRTUAL_TO_PHYSICAL2(&gSynthesisReverbs[reverbIndex].ringBuffer.right[srcOffset])); + + return cmd; +} + void *temp_t1; + void *temp_t3; + + temp_t0 = (((arg3 >> 4) & 0xFF) << 0x10) | 0x14000000; + arg0->unk0 = (s32) (temp_t0 | (arg1 & 0xFFFF)); + temp_t1 = (arg4 * 0x108) + &gSynthesisReverbs; + temp_t2 = (arg2 & 0xFFFF) * 2; + arg0->unk4 = (s32) (temp_t1->unk18 + temp_t2 + 0x80000000); + temp_t3 = arg0 + 8; + temp_t3->unk0 = (s32) (temp_t0 | ((arg1 + 0x180) & 0xFFFF)); + temp_t3->unk4 = (s32) (temp_t1->unk1C + temp_t2 + 0x80000000); + return temp_t3 + 8; +} +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/synthesis_load_reverb_ring_buffer.s") +#endif + +#ifdef NON_MATCHING +/* sm64 +void synthesis_load_note_subs_eu(s32 updateIndex) { + struct NoteSubEu *src; + struct NoteSubEu *dest; + s32 i; + + for (i = 0; i < D_803B70B0; i++) { + src = &D_803B7088[i].noteSubEu; + dest = &gNoteSubsEu[D_803B70B0 * updateIndex + i]; + if (src->enabled) { + *dest = *src; + src->needsInit = FALSE; + } else { + dest->enabled = FALSE; + } + } +} +// mk64 m2c (with minor edits) struct access appears quite different. +void func_800B6FB4(s32 arg0, s32 arg1) { + s32 *dest; + s32 temp_v0; + s32 temp_v0_2; + s32 phi_v0; + + temp_v0 = arg0 + 1; + if (i = 0; temp_v0 < (s32) D_803B7088.unkC; i++) { + phi_v0 = temp_v0; + + for(i = 0; temp_v0_2 < (s32) D_803B7088.unkC; i++) { + dest = &gNoteSubsEu[D_803B70B0 * phi_v0 + (arg1 * 0x10)]; + if ((*dest * 2) >= 0) { + temp_v0_2 = phi_v0 + 1; + *dest = (s8) ((u8) *dest & 0xFF7F); + phi_v0 = temp_v0_2; + + } + } + } +} +*/ +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B6F1C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +Tried to use struct NoteSubEu before it is defined. +extern ? D_803B7088; +extern s32 D_803B70B0; +extern ? gNoteSubsEu; + +void synthesis_load_note_subs_eu(s32 arg0, s32 arg1) { + s32 *temp_a0; + s32 temp_v0; + s32 temp_v0_2; + s32 phi_v0; + + temp_v0 = arg0 + 1; + phi_v0 = temp_v0; + if (temp_v0 < D_803B7088.unkC) { + // Error: Tried to use struct NoteSubEu before it is defined. + // At instruction: lui $a1, %hi(gNoteSubsEu) +loop_2: + temp_a0 = *arg1 + (D_803B70B0 * phi_v0 * 0x10) + (arg1 * 0x10); + if ((*temp_a0 * 2) >= 0) { + temp_v0_2 = phi_v0 + 1; + *temp_a0 = *temp_a0 & 0xFF7F; + phi_v0 = temp_v0_2; + if (temp_v0_2 < D_803B7088.unkC) { + goto loop_2; + } + } + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/synthesis_load_note_subs_eu.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +Tried to use struct NoteSubEu before it is defined. +extern s32 D_803B70B0; +extern ? gNoteSubsEu; + +void func_800B7034(s32 arg0) { + s32 temp_v0; + void *temp_a0; + void *temp_a0_2; + void *temp_a2; + s32 phi_a1; + s32 phi_v0; + + phi_a1 = 0; + phi_v0 = 0; + if (D_803B70B0 > 0) { + // Error: Tried to use struct NoteSubEu before it is defined. + // At instruction: lui $t2, %hi(gNoteSubsEu) + do { + temp_a0 = phi_a1 + *MIPS2C_ERROR(Read from unset register $t1); + temp_a0_2 = temp_a0 + 0xB0; + temp_a2 = (((D_803B70B0 * arg0) + phi_v0) * 0x10) + *MIPS2C_ERROR(Read from unset register $t2); + if ((temp_a0->unkB0 >> 0x1F) != 0) { + temp_a2->unk0 = temp_a0_2->unk0; + temp_a2->unk4 = temp_a0_2->unk4; + temp_a2->unk8 = temp_a0_2->unk8; + temp_a2->unkC = temp_a0_2->unkC; + temp_a0_2->unk0 = temp_a0_2->unk0 & 0xFFBF; + } else { + temp_a2->unk0 = temp_a2->unk0 & 0xFF7F; + } + temp_v0 = phi_v0 + 1; + phi_a1 += 0xC0; + phi_v0 = temp_v0; + } while (temp_v0 < D_803B70B0); + } +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B7034.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +? func_800B7034(s32); // extern +void *func_800B775C(s32, s32, void *, s32); // extern +? func_800C1138(s32); // extern +? prepare_reverb_ring_buffer(s32, s32, s32); // extern +extern ? D_803B7088; + +void *func_800B70EC(void *arg0, s32 *arg1, s32 arg2, s32 arg3) { + s16 temp_s2; + s16 temp_s4; + s16 temp_s4_2; + s16 temp_v1; + s16 temp_v1_2; + s32 temp_lo; + s32 temp_s0; + s32 temp_s1; + s32 temp_s4_3; + s8 temp_v0; + s8 temp_v0_3; + struct SynthesisReverb *temp_s0_2; + u8 temp_v0_4; + void *temp_fp; + void *temp_v0_2; + s16 phi_s4; + s32 phi_s4_2; + s32 phi_s6; + struct SynthesisReverb *phi_s0; + s32 phi_s3; + s16 phi_s2; + s32 phi_s1; + s32 phi_v0; + s32 phi_s7; + void *phi_fp; + s16 phi_s2_2; + struct SynthesisReverb *phi_s0_2; + void *phi_fp_2; + s16 phi_s2_3; + + temp_s4 = D_803B7088.unkC; + phi_s4 = temp_s4; + phi_s6 = arg3; + if (temp_s4 > 0) { + do { + temp_s0 = phi_s4 - 1; + func_800C1138(temp_s0); + func_800B7034(D_803B7088.unkC - phi_s4); + phi_s4 = temp_s0; + } while (temp_s0 > 0); + } + arg0->unk0 = 0x7000000; + arg0->unk4 = 0; + temp_s4_2 = D_803B7088.unkC; + temp_fp = arg0 + 8; + phi_s4_2 = temp_s4_2; + phi_s7 = arg2; + phi_fp = temp_fp; + phi_fp_2 = temp_fp; + if (temp_s4_2 > 0) { + do { + temp_s2 = D_803B7088.unkC; + phi_s2 = temp_s2; + phi_s1 = 0; + phi_s2_2 = temp_s2; + if (phi_s4_2 == 1) { + phi_s3 = phi_s6; + } else { + temp_lo = phi_s6 / phi_s4_2; + temp_v1 = D_803B7088.unk10; + if (temp_lo >= temp_v1) { + phi_s3 = temp_v1; + } else { + temp_v1_2 = D_803B7088.unk12; + if (temp_v1_2 >= temp_lo) { + phi_s3 = temp_v1_2; + } else { + phi_s3 = D_803B7088.unkE; + } + } + } + temp_v0 = gNumSynthesisReverbs; + phi_v0 = temp_v0; + if (temp_v0 > 0) { + phi_s0 = gSynthesisReverbs; + do { + phi_s2_3 = phi_s2; + if (phi_s0->useReverb != 0) { + prepare_reverb_ring_buffer(phi_s3, phi_s2 - phi_s4_2, phi_s1); + phi_v0 = gNumSynthesisReverbs; + phi_s2_3 = D_803B7088.unkC; + } + temp_s1 = phi_s1 + 1; + phi_s0 += 0x108; + phi_s2 = phi_s2_3; + phi_s1 = temp_s1; + phi_s2_2 = phi_s2_3; + } while (temp_s1 < phi_v0); + } + temp_v0_2 = func_800B775C(phi_s7, phi_s3, phi_fp, phi_s2_2 - phi_s4_2); + temp_s4_3 = phi_s4_2 - 1; + phi_s4_2 = temp_s4_3; + phi_s6 -= phi_s3; + phi_s7 += phi_s3 * 4; + phi_fp = temp_v0_2; + phi_fp_2 = temp_v0_2; + } while (temp_s4_3 > 0); + } + temp_v0_3 = gNumSynthesisReverbs; + phi_s0_2 = gSynthesisReverbs; + if (temp_v0_3 > 0) { + do { + temp_v0_4 = phi_s0_2->framesLeftToIgnore; + if (temp_v0_4 != 0) { + phi_s0_2->framesLeftToIgnore = temp_v0_4 - 1; + } + temp_s0_2 = phi_s0_2 + 0x108; + temp_s0_2->unk-105 = phi_s0_2->curFrame ^ 1; + phi_s0_2 = temp_s0_2; + } while (temp_s0_2 < &gSynthesisReverbs[temp_v0_3]); + } + *arg1 = (phi_fp_2 - arg0) >> 3; + return phi_fp_2; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B70EC.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *synthesis_load_reverb_ring_buffer(void *, s32, u16, s16, s32); // extern + +s32 func_800B7304(void *arg0, s32 arg1, s16 arg2, s16 arg3) { + void *sp54; + s16 sp52; + s16 sp50; + struct SynthesisReverb *sp28; + s16 temp_a3; + s16 temp_t5; + s32 temp_a1; + s32 temp_t7; + s32 temp_t8; + s32 temp_v0_2; + struct SynthesisReverb *temp_v1; + void *temp_a0; + void *temp_a0_2; + void *temp_s0; + void *temp_s0_2; + void *temp_s0_3; + void *temp_s0_4; + void *temp_s0_5; + void *temp_s0_6; + void *temp_s0_7; + void *temp_t0; + void *temp_v0; + void *temp_v0_3; + void *phi_v0; + void *phi_v0_2; + void *phi_s0; + + temp_v1 = &gSynthesisReverbs[arg2]; + arg0->unk4 = 0x300; + arg0->unk0 = 0x2000840; + temp_t0 = temp_v1 + (temp_v1->curFrame * 0x64) + (arg3 * 0x14) + 0x30; + temp_s0 = arg0 + 8; + if (temp_v1->downsampleRate == 1) { + sp54 = temp_t0; + sp28 = temp_v1; + temp_v0 = synthesis_load_reverb_ring_buffer(temp_s0, 0x840, temp_t0->unkE, temp_t0->unk10, arg2); + temp_a3 = temp_t0->unk12; + temp_a0 = temp_v0; + phi_v0 = temp_v0; + if (temp_a3 != 0) { + sp28 = temp_v1; + phi_v0 = synthesis_load_reverb_ring_buffer(temp_a0, (temp_t0->unk10 + 0x840) & 0xFFFF, 0, temp_a3, arg2); + } + phi_v0->unk0 = 0xC307FFF; + phi_v0->unk4 = 0x8400540; + temp_s0_2 = phi_v0 + 8; + temp_s0_2->unk0 = ((gSynthesisReverbs[arg2].reverbGain + 0x8000) & 0xFFFF) | 0xC300000; + temp_s0_2->unk4 = 0x8400840; + phi_s0 = temp_s0_2; + } else { + temp_v0_2 = temp_t0->unkC; + temp_t7 = (temp_v0_2 & 7) << 0x11; + temp_t8 = temp_t7 >> 0x10; + temp_t5 = (temp_t8 + temp_t0->unk10 + 0xF) & 0xFFF0; + sp50 = temp_t5; + sp52 = temp_t8; + sp54 = temp_t0; + sp28 = temp_v1; + temp_v0_3 = synthesis_load_reverb_ring_buffer(temp_s0, 0x20, (temp_v0_2 - (temp_t8 / 2)) & 0xFFFF, 0x180, arg2); + temp_a0_2 = temp_v0_3; + phi_v0_2 = temp_v0_3; + if (temp_t0->unk12 != 0) { + sp28 = temp_v1; + sp52 = temp_t8; + phi_v0_2 = synthesis_load_reverb_ring_buffer(temp_a0_2, (temp_t5 + 0x20) & 0xFFFF, 0, 0x180 - temp_t5, arg2); + } + phi_v0_2->unk0 = (((temp_t7 >> 0x10) + 0x20) & 0xFFFF) | 0x8000000; + temp_a1 = (arg1 * 2) & 0xFFFF; + phi_v0_2->unk4 = temp_a1 | 0x8400000; + temp_s0_3 = phi_v0_2 + 8; + temp_s0_3->unk0 = gSynthesisReverbs[arg2].resampleRate | 0x5000000 | (gSynthesisReverbs[arg2].resampleFlags << 0x10); + temp_s0_4 = temp_s0_3 + 8; + temp_s0_3->unk4 = gSynthesisReverbs[arg2].resampleStateLeft + 0x80000000; + temp_s0_4->unk0 = (((temp_t7 >> 0x10) + 0x1A0) & 0xFFFF) | 0x8000000; + temp_s0_4->unk4 = temp_a1 | 0x9C00000; + temp_s0_5 = temp_s0_4 + 8; + temp_s0_5->unk0 = gSynthesisReverbs[arg2].resampleRate | 0x5000000 | (gSynthesisReverbs[arg2].resampleFlags << 0x10); + temp_s0_6 = temp_s0_5 + 8; + temp_s0_5->unk4 = gSynthesisReverbs[arg2].resampleStateRight + 0x80000000; + temp_s0_6->unk4 = 0x8400540; + temp_s0_6->unk0 = 0xC307FFF; + temp_s0_7 = temp_s0_6 + 8; + temp_s0_7->unk0 = ((gSynthesisReverbs[arg2].reverbGain + 0x8000) & 0xFFFF) | 0xC300000; + temp_s0_7->unk4 = 0x8400840; + phi_s0 = temp_s0_7; + } + return phi_s0 + 8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B7304.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800B6F1C(void *, u16, s16, s32, s32); // extern + +void *func_800B7630(void *arg0, s16 arg1, s16 arg2) { + void *sp24; + s16 temp_a3_2; + s32 temp_a3; + struct SynthesisReverb *temp_v0; + void *temp_v0_2; + void *temp_v1; + void *phi_a0; + + temp_v0 = &gSynthesisReverbs[arg1]; + temp_a3 = arg2 * 0x14; + temp_v1 = temp_v0 + (temp_v0->curFrame * 0x64) + temp_a3 + 0x30; + phi_a0 = arg0; + if (temp_v0->useReverb != 0) { + if (temp_v0->downsampleRate == 1) { + sp24 = temp_v1; + temp_v0_2 = func_800B6F1C(0x840, temp_v1->unkE, temp_v1->unk10, arg1); + temp_a3_2 = temp_v1->unk12; + phi_a0 = temp_v0_2; + if (temp_a3_2 != 0) { + phi_a0 = func_800B6F1C(temp_v0_2, (temp_v1->unk10 + 0x840) & 0xFFFF, 0, temp_a3_2, arg1); + } + } else { + arg0->unk0 = 0x15300840; + arg0->unk4 = (temp_v0 + (temp_v0->curFrame * 0x64) + temp_a3)->unk34 + 0x80000000; + temp_v0->resampleFlags = 0; + phi_a0 = arg0 + 8; + } + } + return phi_a0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B7630.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +Tried to use struct NoteSubEu before it is defined. +Tried to use struct NoteSubEu before it is defined. +Tried to use struct NoteSubEu before it is defined. +Tried to use struct NoteSubEu before it is defined. +Tried to use struct NoteSubEu before it is defined. +void *func_800B7304(void *, s32, s16, s16); // extern +void *func_800B7630(void *, s16, s16); // extern +void *func_800B7C30(u8, s32, s32, s32, s32, void *, s32); // extern +extern ? D_803B03C0; +extern s32 D_803B1508; +extern s32 D_803B70B0; +extern s32 D_803B7198; +extern ? gNoteSubsEu; +extern u8 gUseReverb; + +void *func_800B775C(s32 arg0, s32 arg1, void *arg2, s16 arg3) { + ? sp84; + struct SynthesisReverb *sp64; + s16 temp_s3; + s16 temp_s3_2; + s32 temp_a0; + s32 temp_a0_2; + s32 temp_a0_3; + s32 temp_lo; + s32 temp_lo_2; + s32 temp_s1; + s32 temp_s1_2; + s32 temp_s1_3; + s32 temp_s1_4; + s32 temp_s1_5; + s32 temp_t0; + s32 temp_t0_2; + s32 temp_t3_2; + s8 temp_t1; + struct SynthesisReverb *temp_t9; + u8 temp_a1; + u8 temp_t3; + u8 temp_v1; + u8 temp_v1_2; + void *temp_s4; + void *temp_s4_2; + void *temp_s4_3; + void *temp_v0; + void *temp_v0_2; + void *temp_v0_3; + s8 phi_s1; + s16 phi_s2; + s16 phi_s3; + s8 phi_s1_2; + s16 phi_s2_2; + s8 phi_s1_3; + s32 phi_s2_3; + s16 phi_s3_2; + void *phi_s4; + s32 phi_s1_4; + s32 phi_s2_4; + u8 *phi_s0; + void *phi_s4_2; + s32 phi_s1_5; + void *phi_s4_3; + u8 *phi_s0_2; + void *phi_s4_4; + s32 phi_s1_6; + void *phi_s4_5; + s16 phi_s2_5; + s16 phi_s2_6; + s16 phi_s2_7; + s32 phi_s2_8; + s32 phi_s2_9; + void *phi_s4_6; + s32 phi_s1_7; + s32 phi_s1_8; + void *phi_s4_7; + s32 phi_s1_9; + void *phi_s4_8; + void *phi_s4_9; + s16 phi_s2_10; + + temp_t1 = gNumSynthesisReverbs; + phi_s2 = 0; + phi_s2_6 = 0; + phi_s2_8 = 0; + phi_s2_4 = 0; + if (temp_t1 == 0) { + temp_a0 = D_803B70B0; + phi_s1 = 0; + if (temp_a0 > 0) { + // Error: Tried to use struct NoteSubEu before it is defined. + // At instruction: lui $t6, %hi(gNoteSubsEu) + do { + phi_s2_5 = phi_s2; + if ((*MIPS2C_ERROR(Read from unset register $v0) >> 0x1F) != 0) { + *(arg1 + phi_s2) = phi_s1; + phi_s2_5 = phi_s2 + 1; + } + temp_s1 = phi_s1 + 1; + phi_s1 = temp_s1; + phi_s2 = phi_s2_5; + phi_s2_4 = phi_s2_5; + } while (temp_s1 < temp_a0); + } + phi_s3_2 = 0; + phi_s1_7 = 0; + } else { + phi_s3 = 0; + if (temp_t1 > 0) { + temp_a0_2 = D_803B70B0; + do { + phi_s1_2 = 0; + phi_s2_2 = phi_s2_6; + phi_s2_10 = phi_s2_6; + if (temp_a0_2 > 0) { + // Error: Tried to use struct NoteSubEu before it is defined. + // At instruction: lui $t0, %hi(gNoteSubsEu) + do { + temp_v0 = (MIPS2C_ERROR(Read from unset register $v1) * 0x10) + MIPS2C_ERROR(Read from unset register $t0); + phi_s2_7 = phi_s2_2; + if (((temp_v0->unk0 >> 0x1F) != 0) && (phi_s3 == (temp_v0->unk1 >> 5))) { + *(&sp84 + phi_s2_2) = phi_s1_2; + phi_s2_7 = phi_s2_2 + 1; + } + temp_s1_2 = phi_s1_2 + 1; + phi_s1_2 = temp_s1_2; + phi_s2_2 = phi_s2_7; + phi_s2_10 = phi_s2_7; + } while (temp_s1_2 < temp_a0_2); + } + temp_s3 = phi_s3 + 1; + phi_s3 = temp_s3; + phi_s2_6 = phi_s2_10; + phi_s2_8 = phi_s2_10; + } while (temp_s3 < temp_t1); + } + temp_a0_3 = D_803B70B0; + phi_s1_3 = 0; + phi_s2_3 = phi_s2_8; + phi_s2_4 = phi_s2_8; + phi_s3_2 = 0; + phi_s1_7 = 0; + if (temp_a0_3 > 0) { + // Error: Tried to use struct NoteSubEu before it is defined. + // At instruction: lui $t0, %hi(gNoteSubsEu) + do { + temp_v0_2 = (MIPS2C_ERROR(Read from unset register $v1) * 0x10) + MIPS2C_ERROR(Read from unset register $t0); + phi_s2_9 = phi_s2_3; + if (((temp_v0_2->unk0 >> 0x1F) != 0) && ((temp_v0_2->unk1 >> 5) >= temp_t1)) { + *(&sp84 + phi_s2_3) = phi_s1_3; + phi_s2_9 = phi_s2_3 + 1; + } + temp_s1_3 = phi_s1_3 + 1; + phi_s1_3 = temp_s1_3; + phi_s2_3 = phi_s2_9; + phi_s2_4 = phi_s2_9; + } while (temp_s1_3 < temp_a0_3); + } + } + arg2->unk4 = 0x300; + arg2->unk0 = 0x2000540; + temp_s4_2 = arg2 + 8; + phi_s4 = temp_s4_2; + phi_s1_4 = phi_s1_7; + phi_s1_9 = phi_s1_7; + phi_s4_8 = temp_s4_2; + if (gNumSynthesisReverbs > 0) { + // Error: Tried to use struct NoteSubEu before it is defined. + // At instruction: lui $s6, %hi(gNoteSubsEu) + do { + temp_t9 = &gSynthesisReverbs[phi_s3_2]; + sp64 = temp_t9; + temp_t3 = temp_t9->useReverb; + gUseReverb = temp_t3; + phi_s1_5 = phi_s1_4; + phi_s1_8 = phi_s1_4; + phi_s4_7 = phi_s4; + if (temp_t3 != 0) { + phi_s4_7 = func_800B7304(phi_s4, arg1, phi_s3_2, arg3); + } + phi_s4_2 = phi_s4_7; + phi_s4_3 = phi_s4_7; + if (phi_s1_4 < phi_s2_4) { + phi_s0 = phi_s1_4 + &sp84; +loop_31: + temp_v1 = *phi_s0; + temp_t0 = *saved_reg_s6; + temp_lo = arg3 * D_803B70B0; + phi_s4_3 = phi_s4_2; + phi_s1_8 = phi_s1_5; + if (phi_s3_2 == ((temp_t0 + (temp_v1 * 0x10) + (temp_lo * 0x10))->unk1 >> 5)) { + temp_v0_3 = func_800B7C30(temp_v1, ((temp_v1 + temp_lo) * 0x10) + temp_t0, (temp_v1 * saved_reg_s7) + D_803B1508 + 0x10, arg0, arg1, phi_s4_2, arg3); + temp_s1_4 = phi_s1_5 + 1; + phi_s0 += 1; + phi_s4_2 = temp_v0_3; + phi_s1_5 = temp_s1_4; + phi_s4_3 = temp_v0_3; + phi_s1_8 = temp_s1_4; + if (temp_s1_4 < phi_s2_4) { + goto loop_31; + } + } + } + phi_s1_4 = phi_s1_8; + phi_s4_6 = phi_s4_3; + phi_s1_9 = phi_s1_8; + if (sp64->useReverb != 0) { + phi_s4_6 = func_800B7630(phi_s4_3, phi_s3_2, arg3); + } + temp_s3_2 = phi_s3_2 + 1; + phi_s3_2 = temp_s3_2; + phi_s4 = phi_s4_6; + phi_s4_8 = phi_s4_6; + } while (temp_s3_2 < gNumSynthesisReverbs); + } + // Error: Tried to use struct NoteSubEu before it is defined. + // At instruction: lui $s6, %hi(gNoteSubsEu) + phi_s4_4 = phi_s4_8; + phi_s1_6 = phi_s1_9; + phi_s4_5 = phi_s4_8; + if (MIPS2C_ERROR()) { + phi_s0_2 = phi_s1_9 + &sp84; + do { + temp_v1_2 = *phi_s0_2; + temp_t0_2 = *saved_reg_s6; + temp_lo_2 = arg3 * D_803B70B0; + temp_a1 = (temp_t0_2 + (temp_v1_2 * 0x10) + (temp_lo_2 * 0x10))->unk2; + phi_s4_9 = phi_s4_4; + if (((*(&D_803B03C0 + temp_a1) < 2) ^ 1) == 1) { + phi_s4_9 = func_800B7C30(temp_v1_2, ((temp_v1_2 + temp_lo_2) * 0x10) + temp_t0_2, (temp_v1_2 * saved_reg_s7) + D_803B1508 + 0x10, arg0, arg1, phi_s4_4, arg3); + } else { + D_803B7198 = temp_a1 + (phi_s1_6 << 8) + 0x10000000; + } + temp_s1_5 = phi_s1_6 + 1; + phi_s0_2 += 1; + phi_s4_4 = phi_s4_9; + phi_s1_6 = temp_s1_5; + phi_s4_5 = phi_s4_9; + } while (temp_s1_5 < phi_s2_4); + } + phi_s4_5->unk0 = 0x8000000; + temp_s4_3 = phi_s4_5 + 8; + temp_t3_2 = arg1 * 2; + phi_s4_5->unk4 = temp_t3_2 & 0xFFFF; + temp_s4 = temp_s4_3 + 8; + temp_s4_3->unk0 = 0xD000000; + temp_s4_3->unk4 = 0x54006C0; + temp_s4->unk0 = ((((temp_t3_2 * 2) >> 4) & 0xFF) << 0x10) | 0x15000000; + temp_s4->unk4 = arg0 + 0x80000000; + return temp_s4 + 8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B775C.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800B85B4(void *, void *, void *, u32); // extern +s32 func_800B8644(void *, void *, s32, u16, s32, s32); // extern +s32 func_800B86A0(s32, void *, void *, s32, s32, s32, s32); // extern +s32 func_800B8A2C(s32, void *, void *, s32, s32, s32); // extern +s32 func_800BAD0C(s32, s32, s32, void *); // extern +? synthesis_load_note_subs_eu(s32, s32, s32, s32); // extern +extern s32 D_803B1508; +extern ? gUnknownData_800F6290; + +s32 func_800B7C30(s32 arg0, void *arg1, void *arg2, ? arg3, s32 arg4, void *arg5, s32 arg6) { + void *sp130; + void *sp12C; + ? *sp128; + s32 sp11C; + s32 sp118; + s32 sp114; + u16 sp112; + s32 spFC; + s32 spEC; + u32 spE4; + s32 spDC; + s32 spD8; + s32 spB0; + s32 spAC; + s32 spA0; + u16 sp9E; + void *sp8C; + u32 sp50; + ? *temp_a2_2; + s16 temp_t1; + s32 temp_a0; + s32 temp_a0_2; + s32 temp_a0_3; + s32 temp_a0_4; + s32 temp_a0_5; + s32 temp_a0_6; + s32 temp_a0_7; + s32 temp_a0_8; + s32 temp_a1_2; + s32 temp_a1_3; + s32 temp_a2; + s32 temp_a2_3; + s32 temp_a2_4; + s32 temp_a2_5; + s32 temp_a2_6; + s32 temp_a3; + s32 temp_fp; + s32 temp_s1; + s32 temp_s1_2; + s32 temp_s3; + s32 temp_t2; + s32 temp_t6; + s32 temp_t8; + s32 temp_t9_2; + s32 temp_v0_3; + s32 temp_v0_4; + s32 temp_v1; + u16 temp_t7; + u16 temp_v0; + u32 temp_s0; + u32 temp_t7_3; + void *temp_a1; + void *temp_s2; + void *temp_s2_2; + void *temp_s2_3; + void *temp_s2_4; + void *temp_t7_2; + void *temp_t9; + void *temp_v0_2; + s32 phi_v1; + void *phi_s2; + s32 phi_a0; + u32 phi_t5; + u32 phi_t5_2; + s32 phi_fp; + s32 phi_s3; + s32 phi_t0; + s32 phi_t3; + s32 phi_t4; + s32 phi_a0_2; + void *phi_s2_2; + s32 phi_s0; + void *phi_s2_3; + s32 phi_s1; + void *phi_s2_4; + s16 phi_t1; + s32 phi_t2; + s32 phi_s4; + s32 phi_s5; + s32 phi_s6; + s32 phi_t3_2; + s32 phi_s4_2; + void *phi_s2_5; + u32 phi_t5_3; + s32 phi_a3; + s32 phi_a2; + s32 phi_t4_2; + s32 phi_ra; + s32 phi_t5_4; + void *phi_s2_6; + u32 phi_v1_2; + void *phi_s2_7; + s32 phi_a0_3; + s32 phi_v1_3; + s32 phi_s0_2; + s32 phi_s2_8; + s32 phi_s1_2; + void *phi_s2_9; + u32 phi_t6; + s32 phi_a0_4; + + sp128 = NULL; + sp8C = (arg0 * 0xC0) + D_803B1508; + phi_v1 = 0; + phi_v1_3 = 0; + if (((arg1->unk0 * 2) >> 0x1F) == 1) { + arg2->unk0 = 0; + arg2->unk8 = 0; + arg2->unk4 = 0; + arg2->unk10 = 0; + arg2->unk12 = 0; + arg2->unk2 = 0; + arg2->unk3 = 0; + phi_v1 = 1; + } + temp_t7 = arg1->unkA; + sp112 = temp_t7; + spB0 = (arg1->unk0 & 1) + 1; + temp_v0 = (temp_t7 * arg4 * 2) + arg2->unk4; + arg2->unk4 = temp_v0; + temp_s0 = temp_v0 >> 0x10; + temp_a0 = arg1->unk0; + phi_a0_3 = temp_a0; + phi_a0 = temp_a0; + if (temp_a0 & 0x20000) { + temp_v0_2 = func_800B85B4(arg5, arg1, arg2, temp_s0); + temp_a2 = arg2->unk8; + sp9E = (temp_a2 * 2) + 0x1A0; + arg2->unk8 = temp_a2 + temp_s0; + arg5 = temp_v0_2; + phi_a0_3 = arg1->unk0; + } else { + temp_t7_2 = *arg1->unkC; + sp130 = temp_t7_2; + temp_t9 = temp_t7_2->unk8; + sp12C = temp_t9; + spDC = temp_t9->unk4; + spA0 = 0; + spAC = 0; + spEC = temp_t7_2->unk4; + if (spB0 > 0) { + sp50 = temp_v0 >> 0x10; + sp114 = phi_v1; + phi_s2 = arg5; +loop_6: + temp_a1 = sp130->unkC; + temp_a2_2 = temp_a1 + 8; + phi_fp = 0; + phi_s4 = 0; + phi_s2_9 = phi_s2; + if (spB0 == 1) { + phi_t5 = sp50; + } else { + phi_t5 = sp50; + if ((sp50 & 1) != 0) { + phi_t5 = (sp50 & ~1) + (spAC * 2); + } + } + phi_t5_2 = phi_t5; + phi_t5_4 = phi_t5; + if (sp128 != temp_a2_2) { + phi_s2->unk0 = ((temp_a1->unk0 * 0x10 * temp_a1->unk4) & 0xFFFFFF) | 0xB000000; + phi_s2->unk4 = (((arg1->unk0 << 0xB) >> 0x1D) * 2) + temp_a2_2 + 0x80000000; + sp128 = temp_a2_2; + phi_a0 = arg1->unk0; + phi_s2_9 = phi_s2 + 8; + } + phi_s2_2 = phi_s2_9; + phi_s2_6 = phi_s2_9; + if (((phi_a0 << 0xB) >> 0x1D) != 0) { + sp128 = &gUnknownData_800F6290; + } + if (phi_t5 != 0) { +loop_15: + temp_a2_3 = arg2->unk8; + temp_a0_2 = phi_t5_2 - phi_fp; + temp_s3 = temp_a2_3 & 0xF; + temp_v1 = spDC - temp_a2_3; + phi_s3 = temp_s3; + phi_t3 = 0; + phi_t4 = 0; + phi_s2_3 = phi_s2_2; + phi_t5_3 = phi_t5_2; + phi_ra = temp_a0_2; + if ((temp_s3 == 0) && (arg2->unk0 == 0)) { + phi_s3 = 0x10; + } + temp_a1_2 = 0x10 - phi_s3; + phi_s5 = temp_a1_2; + phi_s5 = temp_a1_2; + if (temp_a0_2 < temp_v1) { + temp_t9_2 = ((temp_a0_2 - temp_a1_2) + 0xF) / 0x10; + temp_s1 = temp_t9_2 * 0x10; + phi_t0 = temp_t9_2; + phi_s6 = (temp_a1_2 + temp_s1) - temp_a0_2; + phi_s1 = temp_s1; + } else { + temp_s1_2 = temp_v1 - temp_a1_2; + phi_s6 = 0; + phi_s1_2 = temp_s1_2; + if (temp_s1_2 <= 0) { + phi_s1_2 = 0; + phi_s5 = temp_v1; + } + phi_t0 = (phi_s1_2 + 0xF) / 0x10; + phi_s1 = phi_s1_2; + if (sp12C->unk8 != 0) { + phi_t4 = 1; + } else { + phi_t3 = 1; + } + } + phi_t2 = 0; + phi_t3_2 = phi_t3; + phi_t4_2 = phi_t4; + if (phi_t0 != 0) { + temp_t6 = ((temp_a2_3 - phi_s3) + 0x10) / 0x10; + if (sp130->unk1 == 0x81) { + phi_a0_2 = (temp_t6 * 9) + spEC; + phi_s0 = ((phi_t0 * 9) + 0x1F) & ~0xF; + } else { + spD8 = temp_a0_2; + sp11C = phi_t3; + sp118 = phi_t4; + spE4 = phi_t5_2; + temp_a1_3 = ((phi_t0 * 9) + 0x1F) & ~0xF; + phi_a0_2 = func_800BAD0C((temp_t6 * 9) + spEC, temp_a1_3, sp114, arg2 + 1); + phi_s0 = temp_a1_3; + } + temp_t1 = 0x540 - phi_s0; + temp_t2 = phi_a0_2 & 0xF; + phi_s2_2->unk4 = (phi_a0_2 - temp_t2) + 0x80000000; + phi_s2_2->unk0 = (((phi_s0 >> 4) & 0xFF) << 0x10) | 0x14000000 | (temp_t1 & 0xFFFF); + phi_s2_3 = phi_s2_2 + 8; + phi_t1 = temp_t1; + phi_t2 = temp_t2; + phi_t3_2 = phi_t3; + phi_t5_3 = phi_t5_2; + phi_t4_2 = phi_t4; + phi_ra = phi_t5_2 - phi_fp; + } else { + phi_s1 = 0; + phi_t1 = 0x540 - (((phi_t0 * 9) + 0x1F) & 0xFFF0); + } + phi_t5_2 = phi_t5_3; + phi_s2_4 = phi_s2_3; + phi_t5_4 = phi_t5_3; + if (arg2->unk0 != 0) { + phi_s2_3->unk0 = 0xF000000; + phi_s2_3->unk4 = sp130->unk8 + 0x80000010; + sp114 = 2; + arg2->unk0 = 0; + phi_s2_4 = phi_s2_3 + 8; + } + if (phi_fp == 0) { + temp_a2_4 = phi_s1 * 2; + phi_s2_4->unk4 = (temp_a2_4 & 0xFFFF) | 0x1A00000; + phi_s2_4->unk0 = ((phi_t1 + phi_t2) & 0xFFFF) | 0x8000000; + temp_s2 = phi_s2_4 + 8; + temp_s2->unk0 = ((sp114 & 0xFF) << 0x10) | 0x1000000; + temp_s2->unk4 = arg2->unkC + 0x80000000; + spFC = phi_s3 * 2; + phi_s2_5 = temp_s2 + 8; + phi_a3 = (phi_s1 + phi_s5) - phi_s6; + phi_a2 = temp_a2_4; + } else { + temp_t8 = (phi_s4 + 0x1F) & ~0xF; + phi_s2_4->unk0 = ((phi_t1 + phi_t2) & 0xFFFF) | 0x8000000; + temp_a2_5 = phi_s1 * 2; + phi_s2_4->unk4 = ((temp_t8 + 0x1A0) << 0x10) | (temp_a2_5 & 0xFFFF); + temp_s2_2 = phi_s2_4 + 8; + temp_s2_2->unk0 = ((sp114 & 0xFF) << 0x10) | 0x1000000; + temp_s2_2->unk4 = arg2->unkC + 0x80000000; + temp_s2_3 = temp_s2_2 + 8; + temp_a3 = (phi_s1 + phi_s5) - phi_s6; + temp_s2_3->unk0 = ((temp_t8 + (phi_s3 * 2) + 0x1A0) & 0xFFFFFF) | 0xA000000; + temp_s2_3->unk4 = ((phi_s4 + 0x1A0) << 0x10) | ((temp_a3 * 2) & 0xFFFF); + phi_s2_5 = temp_s2_3 + 8; + phi_a3 = temp_a3; + phi_a2 = temp_a2_5; + } + temp_fp = phi_fp + phi_a3; + phi_fp = temp_fp; + phi_s2_2 = phi_s2_5; + phi_s2_6 = phi_s2_5; + if (sp114 != 1) { + sp114 = 0; + if ((sp114 ^ 2) != 0) { + if (phi_s4 != 0) { + phi_s4_2 = (phi_a3 * 2) + phi_s4; + } else { + phi_s4_2 = (phi_s3 + phi_a3) * 2; + } + } else { + phi_s4_2 = (phi_a3 * 2) + phi_s4; + } + } else { + spFC = 0x20; + sp114 = 0; + phi_s4_2 = phi_a2 + 0x20; + } + phi_s4 = phi_s4_2; + if (phi_t3_2 != 0) { + phi_s2_5->unk0 = ((phi_s4_2 + 0x1A0) & 0xFFFFFF) | 0x2000000; + phi_s2_5->unk4 = (phi_t5_3 - temp_fp) * 2; + arg1->unk0 = arg1->unk0 | 0x20; + sp8C->unkB0 = sp8C->unkB0 | 0x20; + sp8C->unkB0 = sp8C->unkB0 & 0xFF7F; + spE4 = phi_t5_3; + synthesis_load_note_subs_eu(arg6, arg0, phi_a2, phi_a3); + phi_t5_4 = phi_t5_3; + phi_s2_6 = phi_s2_5 + 8; + } else { + if (phi_t4_2 != 0) { + arg2->unk0 = 1; + arg2->unk8 = sp12C->unk0; + } else { + arg2->unk8 = arg2->unk8 + phi_ra; + } + if (temp_fp != phi_t5_3) { + goto loop_15; + } + } + } + phi_s2_7 = phi_s2_6; + phi_s2_7 = phi_s2_6; + if (spB0 != 1) { + if (spB0 != 2) { + temp_a0_3 = arg1->unk0; + phi_t6 = (temp_a0_3 * 4) >> 0x1F; + phi_a0_4 = temp_a0_3; + goto block_60; + } + if (spAC != 0) { + if (spAC != 1) { + temp_a0_4 = arg1->unk0; + phi_v1_2 = (temp_a0_4 * 4) >> 0x1F; + phi_a0_4 = temp_a0_4; + } else { + phi_s2_6->unk0 = (((phi_t5_4 / 2) + 7) & 0xFFF8) | 0x11000000; + phi_s2_6->unk4 = ((spFC + 0x1A0) << 0x10) | ((spA0 + 0x20) & 0xFFFF); + temp_a0_5 = arg1->unk0; + phi_t6 = (temp_a0_5 * 4) >> 0x1F; + phi_s2_7 = phi_s2_6 + 8; + phi_a0_4 = temp_a0_5; + goto block_60; + } + } else { + temp_s2_4 = phi_s2_6 + 8; + phi_s2_6->unk0 = (((phi_t5_4 / 2) + 7) & 0xFFF8) | 0x11000000; + phi_s2_6->unk4 = ((spFC + 0x1A0) << 0x10) | 0x20; + spA0 = phi_t5_4; + sp9E = 0x20; + temp_a0_6 = arg1->unk0; + temp_t7_3 = (temp_a0_6 * 4) >> 0x1F; + phi_v1_2 = temp_t7_3; + phi_s2_7 = temp_s2_4; + phi_a0_4 = temp_a0_6; + if (temp_t7_3 != 0) { + temp_s2_4->unk4 = phi_t5_4 + 0x10; + temp_s2_4->unk0 = ((phi_t5_4 + 0x20) & 0xFFFFFF) | 0x2000000; + temp_a0_7 = arg1->unk0; + phi_v1_2 = (temp_a0_7 * 4) >> 0x1F; + phi_s2_7 = temp_s2_4 + 8; + phi_a0_4 = temp_a0_7; + } + } + } else { + sp9E = spFC + 0x1A0; + temp_a0_8 = arg1->unk0; + phi_t6 = (temp_a0_8 * 4) >> 0x1F; + phi_a0_4 = temp_a0_8; +block_60: + phi_v1_2 = phi_t6; + } + phi_s2 = phi_s2_7; + phi_a0_3 = phi_a0_4; + phi_a0 = phi_a0_4; + if (phi_v1_2 != 0) { + + } else { + temp_v0_3 = spAC + 1; + spAC = temp_v0_3; + if (temp_v0_3 != spB0) { + goto loop_6; + } + } + arg5 = phi_s2_7; + } + } + if (((phi_a0_3 * 2) >> 0x1F) == 1) { + arg1->unk0 = arg1->unk0 & 0xFFBF; + phi_v1_3 = 1; + } + temp_a2_6 = arg4 * 2; + sp114 = phi_v1_3; + if ((arg1->unk3 != 0) || (arg2->unk2 != 0)) { + phi_s0_2 = 1; + } else if ((arg1->unk4 != 0) || (phi_s0_2 = 0, (arg2->unk3 != 0))) { + phi_s0_2 = 2; + } + temp_v0_4 = func_800B86A0(func_800B8644(arg5, arg2, temp_a2_6, sp112, sp9E, phi_v1_3), arg1, arg2, arg4, 0, phi_s0_2, sp114); + phi_s2_8 = temp_v0_4; + if ((arg1->unk0 & 1) != 0) { + phi_s2_8 = func_800B8A2C(temp_v0_4, arg1, arg2, temp_a2_6, sp114, phi_s0_2); + } + return phi_s2_8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B7C30.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800B85B4(void *arg0, void *arg1, void *arg2, s32 arg3) { + s32 temp_t0; + s32 temp_t3; + s32 temp_v1; + void *temp_a0; + void *phi_a0; + + arg0->unk0 = 0x140801A0; + arg0->unk4 = arg1->unkC + 0x80000000; + temp_a0 = arg0 + 8; + temp_t0 = arg2->unk8 & 0x3F; + temp_v1 = 0x40 - temp_t0; + arg2->unk8 = temp_t0; + phi_a0 = temp_a0; + if (temp_v1 < arg3) { + temp_t3 = ((arg3 - temp_v1) + 0x3F) / 0x40; + if (temp_t3 != 0) { + temp_a0->unk0 = ((temp_t3 & 0xFF) << 0x10) | 0x10000000 | 0x1A0; + temp_a0->unk4 = 0x2200080; + phi_a0 = temp_a0 + 8; + } + } + return phi_a0; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B85B4.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800B8644(void *arg0, void *arg1, s32 arg2, s32 arg3, u16 arg4, s32 arg5) { + void *temp_t0; + + arg0->unk0 = arg4 | 0x8000000; + arg0->unk4 = arg2 & 0xFFFF; + temp_t0 = arg0 + 8; + temp_t0->unk0 = ((arg5 & 0xFF) << 0x10) | 0x5000000 | (arg3 & 0xFFFF); + temp_t0->unk4 = arg1->unkC + 0x80000020; + return temp_t0 + 8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B8644.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +s32 func_800B86A0(void *arg0, void *arg1, void *arg2, s32 arg3, u16 arg4, s32 arg5) { + s32 sp8; + s32 sp4; + s32 sp0; + s32 temp_a2; + s32 temp_a2_2; + s32 temp_a2_3; + s32 temp_a2_4; + s32 temp_t5; + u16 temp_v0; + u16 temp_v1; + void *temp_a0; + void *temp_a0_2; + void *temp_a0_3; + void *temp_a0_4; + void *temp_a0_5; + void *phi_a0; + + temp_v0 = arg2->unk10; + temp_t5 = arg3 >> 3; + temp_v1 = arg2->unk12; + sp8 = (((arg1->unk6 * 0x10) & 0xFFFF) - temp_v0) / temp_t5; + sp0 = (((arg1->unk8 * 0x10) & 0xFFFF) - temp_v1) / temp_t5; + sp4 = temp_v1; + arg2->unk10 = (temp_v0 + (spA * temp_t5)) & 0xFFFF; + arg2->unk12 = (temp_v1 + (sp2 * temp_t5)) & 0xFFFF; + if ((arg1->unk0 & 1) != 0) { + arg0->unk4 = 0x180; + arg0->unk0 = 0x2000200; + temp_a0 = arg0 + 8; + temp_a0->unk0 = (arg1->unk5 << 0x10) | 0x12000000 | ((temp_v0 & 0xFF) << 8) | (temp_v1 & 0xFF); + temp_a0->unk4 = (spA << 0x10) | (sp2 & 0xFFFF); + temp_a0_2 = temp_a0 + 8; + temp_a0_2->unk0 = 0x16000000; + temp_a0_2->unk4 = (temp_v0 << 0x10) | (temp_v1 & 0xFFFF); + temp_a0_3 = temp_a0_2 + 8; + phi_a0 = temp_a0_3; + if (arg5 != 1) { + if (arg5 != 2) { + temp_a2 = arg1->unk0; + temp_a0_3->unk0 = (((arg4 >> 4) & 0xFF) << 0x10) | 0x13000000 | ((arg3 & 0xFF) << 8) | ((((temp_a2 * 0x10) >> 0x1F) & 1) * 2) | (((temp_a2 << 5) >> 0x1F) & 1); + temp_a0_3->unk4 = 0x546C849C; + } else { + temp_a2_2 = arg1->unk0; + temp_a0_3->unk0 = (((arg4 >> 4) & 0xFF) << 0x10) | 0x13000000 | ((arg3 & 0xFF) << 8) | ((((temp_a2_2 * 0x10) >> 0x1F) & 1) * 2) | (((temp_a2_2 << 5) >> 0x1F) & 1); + temp_a0_3->unk4 = 0x5420849C; + } + } else { + temp_a2_3 = arg1->unk0; + temp_a0_3->unk0 = (((arg4 >> 4) & 0xFF) << 0x10) | 0x13000000 | ((arg3 & 0xFF) << 8) | ((((temp_a2_3 * 0x10) >> 0x1F) & 1) * 2) | (((temp_a2_3 << 5) >> 0x1F) & 1); + temp_a0_3->unk4 = 0x206C849C; + } + } else { + temp_a0_4 = arg0 + 8; + arg0->unk0 = (arg1->unk5 << 0x10) | 0x12000000 | ((temp_v0 & 0xFF) << 8) | (temp_v1 & 0xFF); + arg0->unk4 = (spA << 0x10) | (sp2 & 0xFFFF); + temp_a0_4->unk0 = 0x16000000; + temp_a0_4->unk4 = (temp_v0 << 0x10) | (temp_v1 & 0xFFFF); + temp_a2_4 = arg1->unk0; + temp_a0_5 = temp_a0_4 + 8; + temp_a0_5->unk0 = (((arg4 >> 4) & 0xFF) << 0x10) | 0x13000000 | ((arg3 & 0xFF) << 8) | ((((temp_a2_4 * 0x10) >> 0x1F) & 1) * 2) | (((temp_a2_4 << 5) >> 0x1F) & 1); + temp_a0_5->unk4 = 0x546C849C; + phi_a0 = temp_a0_5; + } + return phi_a0 + 8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B86A0.s") +#endif + +#ifdef MIPS_TO_C +//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void *func_800B8A2C(void *arg0, void *arg1, void *arg2, s32 arg3, s32 arg4, s32 arg5) { + s32 temp_t0; + s32 temp_t3; + s32 temp_t3_2; + s32 temp_v0_3; + s32 temp_v0_4; + u8 temp_a3; + u8 temp_a3_2; + u8 temp_v0; + u8 temp_v0_2; + void *temp_a0; + void *temp_a0_10; + void *temp_a0_2; + void *temp_a0_3; + void *temp_a0_4; + void *temp_a0_5; + void *temp_a0_6; + void *temp_a0_7; + void *temp_a0_8; + void *temp_a0_9; + s32 phi_v0; + s32 phi_a3; + s32 phi_t3; + s32 phi_t2; + void *phi_a0; + s32 phi_v0_2; + s32 phi_a1; + void *phi_a0_2; + void *phi_a0_3; + s32 phi_t1; + + if (arg5 != 1) { + phi_t1 = 0x6C0; + if (arg5 != 2) { + return arg0; + } + temp_a3 = arg1->unk4; + temp_v0 = arg2->unk3; + arg2->unk2 = 0; + arg2->unk3 = temp_a3; + phi_v0 = temp_v0; + phi_a3 = temp_a3; + goto block_6; + } + temp_a3_2 = arg1->unk3; + temp_v0_2 = arg2->unk2; + arg2->unk3 = 0; + arg2->unk2 = temp_a3_2; + phi_v0 = temp_v0_2; + phi_a3 = temp_a3_2; + phi_t1 = 0x540; +block_6: + phi_a1 = phi_a3; + if (arg4 != 1) { + if (phi_v0 == 0) { + temp_a0 = arg0 + 8; + arg0->unk4 = 8; + arg0->unk0 = 0xA000200; + temp_a0_2 = temp_a0 + 8; + temp_a0->unk0 = 0x2000008; + temp_a0->unk4 = 8; + temp_a0_3 = temp_a0_2 + 8; + temp_a0_2->unk4 = 0x100010; + temp_a0_2->unk0 = 0xA000200; + temp_a0_3->unk0 = 0x15020000; + temp_t3 = (arg3 + phi_a3) - phi_v0; + temp_a0_3->unk4 = arg2->unkC + 0x80000040; + temp_a0_4 = temp_a0_3 + 8; + temp_a0_5 = temp_a0_4 + 8; + temp_v0_3 = temp_t3 & 0xFFFF; + temp_a0_4->unk4 = temp_v0_3; + temp_a0_4->unk0 = 0x8000208; + temp_a0_5->unk0 = (((arg3 << 0xF) / (temp_t3 + 8)) & 0xFFFF & 0xFFFF) | 0x5000000; + temp_a0_5->unk4 = arg2->unkC + 0x80000040; + phi_a0 = temp_a0_5 + 8; + phi_v0_2 = temp_v0_3; + } else { + if (phi_a3 == 0) { + phi_t3 = (arg3 + phi_a3) - phi_v0; + phi_t2 = ((arg3 << 0xF) / ((arg3 - phi_v0) - 4)) & 0xFFFF; + } else { + temp_t3_2 = (arg3 + phi_a3) - phi_v0; + phi_t3 = temp_t3_2; + phi_t2 = ((arg3 << 0xF) / temp_t3_2) & 0xFFFF; + } + temp_a0_6 = arg0 + 8; + temp_v0_4 = phi_t3 & 0xFFFF; + arg0->unk4 = temp_v0_4; + arg0->unk0 = 0x8000200; + temp_a0_6->unk0 = (phi_t2 & 0xFFFF) | 0x5000000; + temp_a0_6->unk4 = arg2->unkC + 0x80000040; + phi_a0 = temp_a0_6 + 8; + phi_v0_2 = temp_v0_4; + } + phi_a1 = phi_a3; + phi_a0_2 = phi_a0; + if (phi_v0 != 0) { + phi_a0->unk0 = (((phi_v0 >> 4) & 0xFF) << 0x10) | 0x14000000 | 0x200; + phi_a0->unk4 = arg2->unkC + 0x80000060; + temp_a0_7 = phi_a0 + 8; + temp_a0_7->unk0 = 0xA000000; + temp_a0_7->unk4 = ((phi_v0 + 0x200) << 0x10) | phi_v0_2; + phi_a0_2 = temp_a0_7; + } else { + phi_a0->unk4 = phi_v0_2 | 0x2000000; + phi_a0->unk0 = 0xA000000; + } + } else { + temp_a0_8 = arg0 + 8; + temp_t0 = arg3 & 0xFFFF; + arg0->unk4 = temp_t0; + arg0->unk0 = 0xA000200; + temp_a0_8->unk0 = 0xA000000; + temp_a0_9 = temp_a0_8 + 8; + temp_a0_8->unk4 = ((phi_a3 + 0x200) << 0x10) | temp_t0; + temp_a0_9->unk0 = 0x2000200; + temp_a0_9->unk4 = phi_a3; + phi_a0_2 = temp_a0_9; + } + temp_a0_10 = phi_a0_2 + 8; + phi_a0_3 = temp_a0_10; + if (phi_a3 != 0) { + temp_a0_10->unk0 = (((phi_a1 >> 4) & 0xFF) << 0x10) | 0x15000000 | ((arg3 + 0x200) & 0xFFFF); + temp_a0_10->unk4 = arg2->unkC + 0x80000060; + phi_a0_3 = temp_a0_10 + 8; + } + phi_a0_3->unk0 = (((((arg3 + 0x1F) & 0xFFE0) >> 4) & 0xFF) << 0x10) | 0xC000000 | 0x7FFF; + phi_a0_3->unk4 = (phi_t1 & 0xFFFF) | 0x2000000; + return phi_a0_3 + 8; +} +#else +GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B8A2C.s") +#endif diff --git a/src/synthesis.h b/src/audio/synthesis.h similarity index 100% rename from src/synthesis.h rename to src/audio/synthesis.h diff --git a/src/synthesis.c b/src/synthesis.c deleted file mode 100644 index f27995494..000000000 --- a/src/synthesis.c +++ /dev/null @@ -1,197 +0,0 @@ -#include -#include -#include "synthesis.h" -//#include "heap.h" -//#include "data.h" -//#include "load.h" -//#include "seqplayer.h" -#include "internal.h" -//#include "external.h" - - -#define DMEM_ADDR_TEMP 0x0 -#define DMEM_ADDR_RESAMPLED 0x20 -#define DMEM_ADDR_RESAMPLED2 0x160 -#define DMEM_ADDR_UNCOMPRESSED_NOTE 0x180 -#define DMEM_ADDR_NOTE_PAN_TEMP 0x200 -#define DMEM_ADDR_STEREO_STRONG_TEMP_DRY 0x200 -#define DMEM_ADDR_STEREO_STRONG_TEMP_WET 0x340 -#define DMEM_ADDR_COMPRESSED_ADPCM_DATA 0x3f0 -#define DMEM_ADDR_LEFT_CH 0x4c0 -#define DMEM_ADDR_RIGHT_CH 0x600 -#define DMEM_ADDR_WET_LEFT_CH 0x740 -#define DMEM_ADDR_WET_RIGHT_CH 0x880 - -#define aSetLoadBufferPair(pkt, c, off) \ - aSetBuffer(pkt, 0, c + DMEM_ADDR_WET_LEFT_CH, 0, DEFAULT_LEN_1CH - c); \ - aLoadBuffer(pkt, VIRTUAL_TO_PHYSICAL2(gSynthesisReverb.ringBuffer.left + (off))); \ - aSetBuffer(pkt, 0, c + DMEM_ADDR_WET_RIGHT_CH, 0, DEFAULT_LEN_1CH - c); \ - aLoadBuffer(pkt, VIRTUAL_TO_PHYSICAL2(gSynthesisReverb.ringBuffer.right + (off))) - -#define aSetSaveBufferPair(pkt, c, d, off) \ - aSetBuffer(pkt, 0, 0, c + DMEM_ADDR_WET_LEFT_CH, d); \ - aSaveBuffer(pkt, VIRTUAL_TO_PHYSICAL2(gSynthesisReverb.ringBuffer.left + (off))); \ - aSetBuffer(pkt, 0, 0, c + DMEM_ADDR_WET_RIGHT_CH, d); \ - aSaveBuffer(pkt, VIRTUAL_TO_PHYSICAL2(gSynthesisReverb.ringBuffer.right + (off))); - -#define ALIGN(val, amnt) (((val) + (1 << amnt) - 1) & ~((1 << amnt) - 1)) - -struct VolumeChange { - u16 sourceLeft; - u16 sourceRight; - u16 targetLeft; - u16 targetRight; -}; - -u64 *synthesis_do_one_audio_update(s16 *aiBuf, s32 bufLen, u64 *cmd, s32 updateIndex); -u64 *synthesis_process_note(struct Note *note, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s16 *aiBuf, s32 bufLen, u64 *cmd); -u64 *load_wave_samples(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s32 nSamplesToLoad); -u64 *final_resample(u64 *cmd, struct NoteSynthesisState *synthesisState, s32 count, u16 pitch, u16 dmemIn, u32 flags); -u64 *process_envelope(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s32 nSamples, u16 inBuf, s32 headsetPanSettings, u32 flags); -u64 *note_apply_headset_pan_effects(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *note, s32 bufLen, s32 flags, s32 leftRight); - -struct SynthesisReverb gSynthesisReverbs[4]; -u8 sAudioSynthesisPad[0x10]; -s16 gVolume; -s8 gUseReverb; -s8 gNumSynthesisReverbs; -struct NoteSubEu *gNoteSubsEu; - -extern struct Note *D_803B7088; -extern s32 D_803B70B0; - -f32 gLeftVolRampings[3][1024]; -f32 gRightVolRampings[3][1024]; -f32 *gCurrentLeftVolRamping; // Points to any of the three left buffers above -f32 *gCurrentRightVolRamping; // Points to any of the three right buffers above - -u8 audioString1[] = "pitch %x: delaybytes %d : olddelay %d\n"; -u8 audioString2[] = "cont %x: delaybytes %d : olddelay %d\n"; - -// Equivalent functionality as the US/JP version, -// just that the reverb structure is chosen from an array with index -void prepare_reverb_ring_buffer(s32 chunkLen, u32 updateIndex, s32 reverbIndex) { - struct ReverbRingBufferItem *item; - struct SynthesisReverb *reverb = &gSynthesisReverbs[reverbIndex]; - s32 srcPos; - s32 dstPos; - s32 nSamples; - s32 excessiveSamples; - s32 UNUSED pad[3]; - if (reverb->downsampleRate != 1) { - if (reverb->framesLeftToIgnore == 0) { - // Now that the RSP has finished, downsample the samples produced two frames ago by skipping - // samples. - item = &reverb->items[reverb->curFrame][updateIndex]; - - // Touches both left and right since they are adjacent in memory - osInvalDCache(item->toDownsampleLeft, 0x300); - - for (srcPos = 0, dstPos = 0; dstPos < item->lengthA / 2; - srcPos += reverb->downsampleRate, dstPos++) { - reverb->ringBuffer.left[item->startPos + dstPos] = - item->toDownsampleLeft[srcPos]; - reverb->ringBuffer.right[item->startPos + dstPos] = - item->toDownsampleRight[srcPos]; - } - for (dstPos = 0; dstPos < item->lengthB / 2; srcPos += reverb->downsampleRate, dstPos++) { - reverb->ringBuffer.left[dstPos] = item->toDownsampleLeft[srcPos]; - reverb->ringBuffer.right[dstPos] = item->toDownsampleRight[srcPos]; - } - } - } - - item = &reverb->items[reverb->curFrame][updateIndex]; - nSamples = chunkLen / reverb->downsampleRate; - excessiveSamples = (nSamples + reverb->nextRingBufferPos) - reverb->bufSizePerChannel; - if (excessiveSamples < 0) { - // There is space in the ring buffer before it wraps around - item->lengthA = nSamples * 2; - item->lengthB = 0; - item->startPos = (s32) reverb->nextRingBufferPos; - reverb->nextRingBufferPos += nSamples; - } else { - // Ring buffer wrapped around - item->lengthA = (nSamples - excessiveSamples) * 2; - item->lengthB = excessiveSamples * 2; - item->startPos = reverb->nextRingBufferPos; - reverb->nextRingBufferPos = excessiveSamples; - } - // These fields are never read later - item->numSamplesAfterDownsampling = nSamples; - item->chunkLen = chunkLen; -} -/* sm64 -u64 *synthesis_load_reverb_ring_buffer(u64 *cmd, u16 addr, u16 srcOffset, s32 len, s32 reverbIndex) { - aSetBuffer(cmd++, 0, addr, 0, len&0xFF<<0x10); - aLoadBuffer(cmd++, VIRTUAL_TO_PHYSICAL2(&gSynthesisReverbs[reverbIndex].ringBuffer.left[srcOffset])); - - aSetBuffer(cmd++, 0, addr + DEFAULT_LEN_1CH, 0, len&0xFF<<0x10); - aLoadBuffer(cmd++, VIRTUAL_TO_PHYSICAL2(&gSynthesisReverbs[reverbIndex].ringBuffer.right[srcOffset])); - - return cmd; -} -*/ -/* mk64 -void *synthesis_load_reverb_ring_buffer(void *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - s32 temp_t0; - s32 temp_t2; - void *temp_t1; - void *temp_t3; - - temp_t0 = (((arg3 >> 4) & 0xFF) << 0x10) | 0x14000000; - arg0->unk0 = (s32) (temp_t0 | (arg1 & 0xFFFF)); - temp_t1 = (arg4 * 0x108) + &gSynthesisReverbs; - temp_t2 = (arg2 & 0xFFFF) * 2; - arg0->unk4 = (s32) (temp_t1->unk18 + temp_t2 + 0x80000000); - temp_t3 = arg0 + 8; - temp_t3->unk0 = (s32) (temp_t0 | ((arg1 + 0x180) & 0xFFFF)); - temp_t3->unk4 = (s32) (temp_t1->unk1C + temp_t2 + 0x80000000); - return temp_t3 + 8; -} -*/ -// includes 2 funcs -GLOBAL_ASM("asm/non_matchings/audio/wip.s") - -/* sm64 -void synthesis_load_note_subs_eu(s32 updateIndex) { - struct NoteSubEu *src; - struct NoteSubEu *dest; - s32 i; - - for (i = 0; i < D_803B70B0; i++) { - src = &D_803B7088[i].noteSubEu; - dest = &gNoteSubsEu[D_803B70B0 * updateIndex + i]; - if (src->enabled) { - *dest = *src; - src->needsInit = FALSE; - } else { - dest->enabled = FALSE; - } - } -} -// mk64 m2c (with minor edits) struct access appears quite different. -void func_800B6FB4(s32 arg0, s32 arg1) { - s32 *dest; - s32 temp_v0; - s32 temp_v0_2; - s32 phi_v0; - - temp_v0 = arg0 + 1; - if (i = 0; temp_v0 < (s32) D_803B7088.unkC; i++) { - phi_v0 = temp_v0; - - for(i = 0; temp_v0_2 < (s32) D_803B7088.unkC; i++) { - dest = &gNoteSubsEu[D_803B70B0 * phi_v0 + (arg1 * 0x10)]; - if ((*dest * 2) >= 0) { - temp_v0_2 = phi_v0 + 1; - *dest = (s8) ((u8) *dest & 0xFF7F); - phi_v0 = temp_v0_2; - - } - } - } -} -*/ - -GLOBAL_ASM("asm/non_matchings/audio/synthesis.s")