This commit is contained in:
Ethan Roseman 2020-04-26 02:57:44 -04:00
parent 406c128f49
commit 3bd6c2548b
10 changed files with 615 additions and 645 deletions

View File

@ -56,10 +56,9 @@ ranges:
- [0x3a6f0, 0x3a800, "asm", "code_3a6f0_len_110", 0x8005f2f0] - [0x3a6f0, 0x3a800, "asm", "code_3a6f0_len_110", 0x8005f2f0]
- [0x3a800, 0x3a830, "asm", "code_3a800_len_30", 0x8005f400] - [0x3a800, 0x3a830, "asm", "code_3a800_len_30", 0x8005f400]
- [0x3a830, 0x3a850, "asm", "code_3a830_len_20", 0x8005f430] - [0x3a830, 0x3a850, "asm", "code_3a830_len_20", 0x8005f430]
- [0x3a850, 0x3b290, "asm", "code_3a850_len_a40", 0x8005f450] - [0x3a850, 0x3b290, "asm", "code_3a850_le_a40", 0x8005f450]
- [0x3b290, 0x3b390, "asm", "code_3b290_len_100", 0x8005fe90] - [0x3b290, 0x3b390, "asm", "code_3b290_len_100", 0x8005fe90]
- [0x3b390, 0x3b3f0, "asm", "code_3b390_len_60", 0x8005ff90] - [0x3b390, 0x3b4a0, "asm", "code_3b390_len_110", 0x8005ff90]
- [0x3b3f0, 0x3b4a0, "asm", "code_3b3f0_len_b0", 0x8005fff0]
- [0x3b4a0, 0x3b710, "asm", "code_3b4a0_len_270", 0x800600a0] - [0x3b4a0, 0x3b710, "asm", "code_3b4a0_len_270", 0x800600a0]
- [0x3b710, 0x3b750, "asm", "code_3b710_len_40", 0x80060310] - [0x3b710, 0x3b750, "asm", "code_3b710_len_40", 0x80060310]
- [0x3b750, 0x3b770, "asm", "code_3b750_len_20", 0x80060350] - [0x3b750, 0x3b770, "asm", "code_3b750_len_20", 0x80060350]
@ -168,9 +167,7 @@ ranges:
- [0x48a20, 0x48be0, "asm", "code_48a20_len_1c0", 0x8006d620] - [0x48a20, 0x48be0, "asm", "code_48a20_len_1c0", 0x8006d620]
- [0x48be0, 0x48c00, "asm", "code_48be0_len_20", 0x8006d7e0] - [0x48be0, 0x48c00, "asm", "code_48be0_len_20", 0x8006d7e0]
- [0x48c00, 0x491c0, "asm", "code_48c00_len_5c0", 0x8006d800] - [0x48c00, 0x491c0, "asm", "code_48c00_len_5c0", 0x8006d800]
- [0x491c0, 0x49980, "asm", "code_491c0_len_7c0", 0x8006ddc0] - [0x491c0, 0x4a140, "asm", "code_491c0_len_f80", 0x8006ddc0]
- [0x49980, 0x49c70, "asm", "code_49980_len_2f0", 0x8006e580]
- [0x49c70, 0x4a140, "asm", "code_49c70_len_4d0", 0x8006e870]
- [0x4a140, 0x4a1b0, "asm", "code_4a140_len_70", 0x8006ed40] - [0x4a140, 0x4a1b0, "asm", "code_4a140_len_70", 0x8006ed40]
- [0x4a1b0, 0x4a1f0, "asm", "code_4a1b0_len_40", 0x8006edb0] - [0x4a1b0, 0x4a1f0, "asm", "code_4a1b0_len_40", 0x8006edb0]
- [0x4a1f0, 0x4a360, "asm", "code_4a1f0_len_170", 0x8006edf0] - [0x4a1f0, 0x4a360, "asm", "code_4a1f0_len_170", 0x8006edf0]

View File

@ -243,16 +243,11 @@ SECTIONS
* (.text8005FE90); * (.text8005FE90);
} }
/* 0x8005FF90 03B390-03B3F0 [60] */ /* 0x8005FF90 03B390-03B4A0 [110] */
.text8005FF90 0x8005FF90 : AT(0x03B390) { .text8005FF90 0x8005FF90 : AT(0x03B390) {
* (.text8005FF90); * (.text8005FF90);
} }
/* 0x8005FFF0 03B3F0-03B4A0 [B0] */
.text8005FFF0 0x8005FFF0 : AT(0x03B3F0) {
* (.text8005FFF0);
}
/* 0x800600A0 03B4A0-03B710 [270] */ /* 0x800600A0 03B4A0-03B710 [270] */
.text800600A0 0x800600A0 : AT(0x03B4A0) { .text800600A0 0x800600A0 : AT(0x03B4A0) {
* (.text800600A0); * (.text800600A0);
@ -793,21 +788,11 @@ SECTIONS
* (.text8006D800); * (.text8006D800);
} }
/* 0x8006DDC0 0491C0-049980 [7C0] */ /* 0x8006DDC0 0491C0-04A140 [F80] */
.text8006DDC0 0x8006DDC0 : AT(0x0491C0) { .text8006DDC0 0x8006DDC0 : AT(0x0491C0) {
* (.text8006DDC0); * (.text8006DDC0);
} }
/* 0x8006E580 049980-049C70 [2F0] */
.text8006E580 0x8006E580 : AT(0x049980) {
* (.text8006E580);
}
/* 0x8006E870 049C70-04A140 [4D0] */
.text8006E870 0x8006E870 : AT(0x049C70) {
* (.text8006E870);
}
/* 0x8006ED40 04A140-04A1B0 [70] */ /* 0x8006ED40 04A140-04A1B0 [70] */
.text8006ED40 0x8006ED40 : AT(0x04A140) { .text8006ED40 0x8006ED40 : AT(0x04A140) {
* (.text8006ED40); * (.text8006ED40);

View File

@ -72,10 +72,9 @@ bootcode_font_end:
.include "asm/code_3a6f0_len_110.s" .include "asm/code_3a6f0_len_110.s"
.include "asm/code_3a800_len_30.s" .include "asm/code_3a800_len_30.s"
.include "asm/code_3a830_len_20.s" .include "asm/code_3a830_len_20.s"
.include "asm/code_3a850_len_a40.s" .include "asm/code_3a850_le_a40.s"
.include "asm/code_3b290_len_100.s" .include "asm/code_3b290_len_100.s"
.include "asm/code_3b390_len_60.s" .include "asm/code_3b390_len_110.s"
.include "asm/code_3b3f0_len_b0.s"
.include "asm/code_3b4a0_len_270.s" .include "asm/code_3b4a0_len_270.s"
.include "asm/code_3b710_len_40.s" .include "asm/code_3b710_len_40.s"
.include "asm/code_3b750_len_20.s" .include "asm/code_3b750_len_20.s"
@ -184,9 +183,7 @@ bootcode_font_end:
.include "asm/code_48a20_len_1c0.s" .include "asm/code_48a20_len_1c0.s"
.include "asm/code_48be0_len_20.s" .include "asm/code_48be0_len_20.s"
.include "asm/code_48c00_len_5c0.s" .include "asm/code_48c00_len_5c0.s"
.include "asm/code_491c0_len_7c0.s" .include "asm/code_491c0_len_f80.s"
.include "asm/code_49980_len_2f0.s"
.include "asm/code_49c70_len_4d0.s"
.include "asm/code_4a140_len_70.s" .include "asm/code_4a140_len_70.s"
.include "asm/code_4a1b0_len_40.s" .include "asm/code_4a1b0_len_40.s"
.include "asm/code_4a1f0_len_170.s" .include "asm/code_4a1f0_len_170.s"

View File

@ -1,21 +1,49 @@
.section .text8005FFF0, "ax" .section .text8005FF90, "ax"
/* 03B3F0 8005FFF0 02261025 */ or $v0, $s1, $a2 nuContRmbModeSet:
/* 03B390 8005FF90 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 03B394 8005FF94 AFB00010 */ sw $s0, 0x10($sp)
/* 03B398 8005FF98 0080802D */ daddu $s0, $a0, $zero
/* 03B39C 8005FF9C AFB10014 */ sw $s1, 0x14($sp)
/* 03B3A0 8005FFA0 00A0882D */ daddu $s1, $a1, $zero
/* 03B3A4 8005FFA4 AFBF0018 */ sw $ra, 0x18($sp)
/* 03B3A8 8005FFA8 0C018250 */ jal osSetIntMask
/* 03B3AC 8005FFAC 24040001 */ addiu $a0, $zero, 1
/* 03B3B0 8005FFB0 0220202D */ daddu $a0, $s1, $zero
/* 03B3B4 8005FFB4 00101880 */ sll $v1, $s0, 2
/* 03B3B8 8005FFB8 00701821 */ addu $v1, $v1, $s0
/* 03B3BC 8005FFBC 00032840 */ sll $a1, $v1, 1
/* 03B3C0 8005FFC0 3C03800B */ lui $v1, 0x800b
/* 03B3C4 8005FFC4 00651821 */ addu $v1, $v1, $a1
/* 03B3C8 8005FFC8 90631D47 */ lbu $v1, 0x1d47($v1)
/* 03B3CC 8005FFCC 308400FF */ andi $a0, $a0, 0xff
/* 03B3D0 8005FFD0 30660080 */ andi $a2, $v1, 0x80
/* 03B3D4 8005FFD4 24030001 */ addiu $v1, $zero, 1
/* 03B3D8 8005FFD8 1083000C */ beq $a0, $v1, .L8006000C
/* 03B3DC 8005FFDC 0040382D */ daddu $a3, $v0, $zero
/* 03B3E0 8005FFE0 28820002 */ slti $v0, $a0, 2
/* 03B3E4 8005FFE4 10400005 */ beqz $v0, .L8005FFFC
/* 03B3E8 8005FFE8 24020002 */ addiu $v0, $zero, 2
/* 03B3EC 8005FFEC 1080000D */ beqz $a0, .L80060024
/* 03B3F0 8005FFF0 02261025 */ or $v0, $s1, $a2
/* 03B3F4 8005FFF4 0801801E */ j func_80060078 /* 03B3F4 8005FFF4 0801801E */ j func_80060078
/* 03B3F8 8005FFF8 00000000 */ nop /* 03B3F8 8005FFF8 00000000 */ nop
.L8005FFFC:
/* 03B3FC 8005FFFC 1082000E */ beq $a0, $v0, .L80060038 /* 03B3FC 8005FFFC 1082000E */ beq $a0, $v0, .L80060038
/* 03B400 80060000 02261025 */ or $v0, $s1, $a2 /* 03B400 80060000 02261025 */ or $v0, $s1, $a2
/* 03B404 80060004 0801801E */ j func_80060078 /* 03B404 80060004 0801801E */ j func_80060078
/* 03B408 80060008 00000000 */ nop /* 03B408 80060008 00000000 */ nop
.L8006000C:
/* 03B40C 8006000C 3C03800B */ lui $v1, 0x800b /* 03B40C 8006000C 3C03800B */ lui $v1, 0x800b
/* 03B410 80060010 00651821 */ addu $v1, $v1, $a1 /* 03B410 80060010 00651821 */ addu $v1, $v1, $a1
/* 03B414 80060014 90631D49 */ lbu $v1, 0x1d49($v1) /* 03B414 80060014 90631D49 */ lbu $v1, 0x1d49($v1)
/* 03B418 80060018 24020002 */ addiu $v0, $zero, 2 /* 03B418 80060018 24020002 */ addiu $v0, $zero, 2
/* 03B41C 8006001C 14620016 */ bne $v1, $v0, .L80060078 /* 03B41C 8006001C 14620016 */ bne $v1, $v0, .L80060078
/* 03B420 80060020 02261025 */ or $v0, $s1, $a2 /* 03B420 80060020 02261025 */ or $v0, $s1, $a2
.L80060024:
/* 03B424 80060024 3C01800B */ lui $at, 0x800b /* 03B424 80060024 3C01800B */ lui $at, 0x800b
/* 03B428 80060028 00250821 */ addu $at, $at, $a1 /* 03B428 80060028 00250821 */ addu $at, $at, $a1
/* 03B42C 8006002C A0221D47 */ sb $v0, 0x1d47($at) /* 03B42C 8006002C A0221D47 */ sb $v0, 0x1d47($at)

View File

@ -1,28 +0,0 @@
.section .text8005FF90, "ax"
nuContRmbModeSet:
/* 03B390 8005FF90 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 03B394 8005FF94 AFB00010 */ sw $s0, 0x10($sp)
/* 03B398 8005FF98 0080802D */ daddu $s0, $a0, $zero
/* 03B39C 8005FF9C AFB10014 */ sw $s1, 0x14($sp)
/* 03B3A0 8005FFA0 00A0882D */ daddu $s1, $a1, $zero
/* 03B3A4 8005FFA4 AFBF0018 */ sw $ra, 0x18($sp)
/* 03B3A8 8005FFA8 0C018250 */ jal osSetIntMask
/* 03B3AC 8005FFAC 24040001 */ addiu $a0, $zero, 1
/* 03B3B0 8005FFB0 0220202D */ daddu $a0, $s1, $zero
/* 03B3B4 8005FFB4 00101880 */ sll $v1, $s0, 2
/* 03B3B8 8005FFB8 00701821 */ addu $v1, $v1, $s0
/* 03B3BC 8005FFBC 00032840 */ sll $a1, $v1, 1
/* 03B3C0 8005FFC0 3C03800B */ lui $v1, 0x800b
/* 03B3C4 8005FFC4 00651821 */ addu $v1, $v1, $a1
/* 03B3C8 8005FFC8 90631D47 */ lbu $v1, 0x1d47($v1)
/* 03B3CC 8005FFCC 308400FF */ andi $a0, $a0, 0xff
/* 03B3D0 8005FFD0 30660080 */ andi $a2, $v1, 0x80
/* 03B3D4 8005FFD4 24030001 */ addiu $v1, $zero, 1
/* 03B3D8 8005FFD8 1083000C */ beq $a0, $v1, .L8006000C
/* 03B3DC 8005FFDC 0040382D */ daddu $a3, $v0, $zero
/* 03B3E0 8005FFE0 28820002 */ slti $v0, $a0, 2
/* 03B3E4 8005FFE4 10400005 */ beqz $v0, .L8005FFFC
/* 03B3E8 8005FFE8 24020002 */ addiu $v0, $zero, 2
/* 03B3EC 8005FFEC 1080000D */ beqz $a0, .L80060024

View File

@ -576,3 +576,580 @@ func_8006E4B4:
/* 049974 8006E574 00001810 */ mfhi $v1 /* 049974 8006E574 00001810 */ mfhi $v1
/* 049978 8006E578 00000000 */ nop /* 049978 8006E578 00000000 */ nop
/* 04997C 8006E57C 00000000 */ nop /* 04997C 8006E57C 00000000 */ nop
/* 049980 8006E580 00C50018 */ mult $a2, $a1
/* 049984 8006E584 3082FFFF */ andi $v0, $a0, 0xffff
/* 049988 8006E588 00031C00 */ sll $v1, $v1, 0x10
/* 04998C 8006E58C 00621825 */ or $v1, $v1, $v0
/* 049990 8006E590 00003812 */ mflo $a3
/* 049994 8006E594 0067102B */ sltu $v0, $v1, $a3
/* 049998 8006E598 1040000B */ beqz $v0, .L8006E5C8
/* 04999C 8006E59C 00081400 */ sll $v0, $t0, 0x10
/* 0499A0 8006E5A0 00691821 */ addu $v1, $v1, $t1
/* 0499A4 8006E5A4 0069102B */ sltu $v0, $v1, $t1
/* 0499A8 8006E5A8 14400006 */ bnez $v0, .L8006E5C4
/* 0499AC 8006E5AC 24C6FFFF */ addiu $a2, $a2, -1
/* 0499B0 8006E5B0 0067102B */ sltu $v0, $v1, $a3
/* 0499B4 8006E5B4 10400004 */ beqz $v0, .L8006E5C8
/* 0499B8 8006E5B8 00081400 */ sll $v0, $t0, 0x10
/* 0499BC 8006E5BC 24C6FFFF */ addiu $a2, $a2, -1
/* 0499C0 8006E5C0 00691821 */ addu $v1, $v1, $t1
.L8006E5C4:
/* 0499C4 8006E5C4 00081400 */ sll $v0, $t0, 0x10
.L8006E5C8:
/* 0499C8 8006E5C8 00465025 */ or $t2, $v0, $a2
/* 0499CC 8006E5CC 00672023 */ subu $a0, $v1, $a3
func_8006E5D0:
/* 0499D0 8006E5D0 00093402 */ srl $a2, $t1, 0x10
/* 0499D4 8006E5D4 14C00002 */ bnez $a2, .L8006E5E0
/* 0499D8 8006E5D8 0086001B */ divu $zero, $a0, $a2
/* 0499DC 8006E5DC 0007000D */ break 7
.L8006E5E0:
/* 0499E0 8006E5E0 00003812 */ mflo $a3
/* 0499E4 8006E5E4 00001810 */ mfhi $v1
/* 0499E8 8006E5E8 3128FFFF */ andi $t0, $t1, 0xffff
/* 0499EC 8006E5EC 00000000 */ nop
/* 0499F0 8006E5F0 00E80018 */ mult $a3, $t0
/* 0499F4 8006E5F4 000B1402 */ srl $v0, $t3, 0x10
/* 0499F8 8006E5F8 00031C00 */ sll $v1, $v1, 0x10
/* 0499FC 8006E5FC 00621825 */ or $v1, $v1, $v0
/* 049A00 8006E600 00002812 */ mflo $a1
/* 049A04 8006E604 0065102B */ sltu $v0, $v1, $a1
/* 049A08 8006E608 5040000B */ beql $v0, $zero, .L8006E638
/* 049A0C 8006E60C 00651823 */ subu $v1, $v1, $a1
/* 049A10 8006E610 00691821 */ addu $v1, $v1, $t1
/* 049A14 8006E614 0069102B */ sltu $v0, $v1, $t1
/* 049A18 8006E618 14400006 */ bnez $v0, .L8006E634
/* 049A1C 8006E61C 24E7FFFF */ addiu $a3, $a3, -1
/* 049A20 8006E620 0065102B */ sltu $v0, $v1, $a1
/* 049A24 8006E624 50400004 */ beql $v0, $zero, .L8006E638
/* 049A28 8006E628 00651823 */ subu $v1, $v1, $a1
/* 049A2C 8006E62C 24E7FFFF */ addiu $a3, $a3, -1
/* 049A30 8006E630 00691821 */ addu $v1, $v1, $t1
.L8006E634:
/* 049A34 8006E634 00651823 */ subu $v1, $v1, $a1
.L8006E638:
/* 049A38 8006E638 14C00002 */ bnez $a2, .L8006E644
/* 049A3C 8006E63C 0066001B */ divu $zero, $v1, $a2
/* 049A40 8006E640 0007000D */ break 7
.L8006E644:
/* 049A44 8006E644 00002012 */ mflo $a0
/* 049A48 8006E648 00001810 */ mfhi $v1
/* 049A4C 8006E64C 00000000 */ nop
/* 049A50 8006E650 00000000 */ nop
/* 049A54 8006E654 00880018 */ mult $a0, $t0
/* 049A58 8006E658 3162FFFF */ andi $v0, $t3, 0xffff
/* 049A5C 8006E65C 00031C00 */ sll $v1, $v1, 0x10
/* 049A60 8006E660 00621825 */ or $v1, $v1, $v0
/* 049A64 8006E664 00002812 */ mflo $a1
/* 049A68 8006E668 0065102B */ sltu $v0, $v1, $a1
/* 049A6C 8006E66C 10400007 */ beqz $v0, .L8006E68C
/* 049A70 8006E670 00691821 */ addu $v1, $v1, $t1
/* 049A74 8006E674 0069102B */ sltu $v0, $v1, $t1
/* 049A78 8006E678 14400004 */ bnez $v0, .L8006E68C
/* 049A7C 8006E67C 2484FFFF */ addiu $a0, $a0, -1
/* 049A80 8006E680 0065102B */ sltu $v0, $v1, $a1
/* 049A84 8006E684 54400001 */ bnezl $v0, .L8006E68C
/* 049A88 8006E688 2484FFFF */ addiu $a0, $a0, -1
.L8006E68C:
/* 049A8C 8006E68C 00071400 */ sll $v0, $a3, 0x10
/* 049A90 8006E690 0801BA14 */ j func_8006E850
/* 049A94 8006E694 00443025 */ or $a2, $v0, $a0
.L8006E698:
/* 049A98 8006E698 0088102B */ sltu $v0, $a0, $t0
/* 049A9C 8006E69C 10400003 */ beqz $v0, .L8006E6AC
/* 049AA0 8006E6A0 3402FFFF */ ori $v0, $zero, 0xffff
/* 049AA4 8006E6A4 0801BA13 */ j func_8006E84C
/* 049AA8 8006E6A8 0000302D */ daddu $a2, $zero, $zero
.L8006E6AC:
/* 049AAC 8006E6AC 0048102B */ sltu $v0, $v0, $t0
/* 049AB0 8006E6B0 14400005 */ bnez $v0, .L8006E6C8
/* 049AB4 8006E6B4 0100282D */ daddu $a1, $t0, $zero
/* 049AB8 8006E6B8 2D020100 */ sltiu $v0, $t0, 0x100
/* 049ABC 8006E6BC 38420001 */ xori $v0, $v0, 1
/* 049AC0 8006E6C0 0801B9B8 */ j func_8006E6E0
/* 049AC4 8006E6C4 000218C0 */ sll $v1, $v0, 3
.L8006E6C8:
/* 049AC8 8006E6C8 3C0200FF */ lui $v0, 0xff
/* 049ACC 8006E6CC 3442FFFF */ ori $v0, $v0, 0xffff
/* 049AD0 8006E6D0 0048102B */ sltu $v0, $v0, $t0
/* 049AD4 8006E6D4 14400002 */ bnez $v0, .L8006E6E0
/* 049AD8 8006E6D8 24030018 */ addiu $v1, $zero, 0x18
/* 049ADC 8006E6DC 24030010 */ addiu $v1, $zero, 0x10
func_8006E6E0:
.L8006E6E0:
/* 049AE0 8006E6E0 00651006 */ srlv $v0, $a1, $v1
/* 049AE4 8006E6E4 3C01800A */ lui $at, 0x800a
/* 049AE8 8006E6E8 00220821 */ addu $at, $at, $v0
/* 049AEC 8006E6EC 9022A040 */ lbu $v0, -0x5fc0($at)
/* 049AF0 8006E6F0 00431021 */ addu $v0, $v0, $v1
/* 049AF4 8006E6F4 24030020 */ addiu $v1, $zero, 0x20
/* 049AF8 8006E6F8 00623023 */ subu $a2, $v1, $v0
/* 049AFC 8006E6FC 54C00009 */ bnezl $a2, .L8006E724
/* 049B00 8006E700 00662823 */ subu $a1, $v1, $a2
/* 049B04 8006E704 0104102B */ sltu $v0, $t0, $a0
/* 049B08 8006E708 14400050 */ bnez $v0, .L8006E84C
/* 049B0C 8006E70C 24060001 */ addiu $a2, $zero, 1
/* 049B10 8006E710 0169102B */ sltu $v0, $t3, $t1
/* 049B14 8006E714 1440004D */ bnez $v0, .L8006E84C
/* 049B18 8006E718 0000302D */ daddu $a2, $zero, $zero
/* 049B1C 8006E71C 0801BA13 */ j func_8006E84C
/* 049B20 8006E720 24060001 */ addiu $a2, $zero, 1
.L8006E724:
/* 049B24 8006E724 00C81804 */ sllv $v1, $t0, $a2
/* 049B28 8006E728 00A91006 */ srlv $v0, $t1, $a1
/* 049B2C 8006E72C 00624025 */ or $t0, $v1, $v0
/* 049B30 8006E730 00C94804 */ sllv $t1, $t1, $a2
/* 049B34 8006E734 00A43806 */ srlv $a3, $a0, $a1
/* 049B38 8006E738 00C41804 */ sllv $v1, $a0, $a2
/* 049B3C 8006E73C 00AB1006 */ srlv $v0, $t3, $a1
/* 049B40 8006E740 00622025 */ or $a0, $v1, $v0
/* 049B44 8006E744 00CB5804 */ sllv $t3, $t3, $a2
/* 049B48 8006E748 00083402 */ srl $a2, $t0, 0x10
/* 049B4C 8006E74C 14C00002 */ bnez $a2, .L8006E758
/* 049B50 8006E750 00E6001B */ divu $zero, $a3, $a2
/* 049B54 8006E754 0007000D */ break 7
.L8006E758:
/* 049B58 8006E758 00005012 */ mflo $t2
/* 049B5C 8006E75C 00001810 */ mfhi $v1
/* 049B60 8006E760 3105FFFF */ andi $a1, $t0, 0xffff
/* 049B64 8006E764 00000000 */ nop
/* 049B68 8006E768 01450018 */ mult $t2, $a1
/* 049B6C 8006E76C 00041402 */ srl $v0, $a0, 0x10
/* 049B70 8006E770 00031C00 */ sll $v1, $v1, 0x10
/* 049B74 8006E774 00621825 */ or $v1, $v1, $v0
/* 049B78 8006E778 00003812 */ mflo $a3
/* 049B7C 8006E77C 0067102B */ sltu $v0, $v1, $a3
/* 049B80 8006E780 5040000B */ beql $v0, $zero, .L8006E7B0
/* 049B84 8006E784 00671823 */ subu $v1, $v1, $a3
/* 049B88 8006E788 00681821 */ addu $v1, $v1, $t0
/* 049B8C 8006E78C 0068102B */ sltu $v0, $v1, $t0
/* 049B90 8006E790 14400006 */ bnez $v0, .L8006E7AC
/* 049B94 8006E794 254AFFFF */ addiu $t2, $t2, -1
/* 049B98 8006E798 0067102B */ sltu $v0, $v1, $a3
/* 049B9C 8006E79C 50400004 */ beql $v0, $zero, .L8006E7B0
/* 049BA0 8006E7A0 00671823 */ subu $v1, $v1, $a3
/* 049BA4 8006E7A4 254AFFFF */ addiu $t2, $t2, -1
/* 049BA8 8006E7A8 00681821 */ addu $v1, $v1, $t0
.L8006E7AC:
/* 049BAC 8006E7AC 00671823 */ subu $v1, $v1, $a3
.L8006E7B0:
/* 049BB0 8006E7B0 14C00002 */ bnez $a2, .L8006E7BC
/* 049BB4 8006E7B4 0066001B */ divu $zero, $v1, $a2
/* 049BB8 8006E7B8 0007000D */ break 7
.L8006E7BC:
/* 049BBC 8006E7BC 00003012 */ mflo $a2
/* 049BC0 8006E7C0 00001810 */ mfhi $v1
/* 049BC4 8006E7C4 00000000 */ nop
/* 049BC8 8006E7C8 00000000 */ nop
/* 049BCC 8006E7CC 00C50018 */ mult $a2, $a1
/* 049BD0 8006E7D0 3082FFFF */ andi $v0, $a0, 0xffff
/* 049BD4 8006E7D4 00031C00 */ sll $v1, $v1, 0x10
/* 049BD8 8006E7D8 00621825 */ or $v1, $v1, $v0
/* 049BDC 8006E7DC 00003812 */ mflo $a3
/* 049BE0 8006E7E0 0067102B */ sltu $v0, $v1, $a3
/* 049BE4 8006E7E4 1040000B */ beqz $v0, .L8006E814
/* 049BE8 8006E7E8 000A1400 */ sll $v0, $t2, 0x10
/* 049BEC 8006E7EC 00681821 */ addu $v1, $v1, $t0
/* 049BF0 8006E7F0 0068102B */ sltu $v0, $v1, $t0
/* 049BF4 8006E7F4 14400006 */ bnez $v0, .L8006E810
/* 049BF8 8006E7F8 24C6FFFF */ addiu $a2, $a2, -1
/* 049BFC 8006E7FC 0067102B */ sltu $v0, $v1, $a3
/* 049C00 8006E800 10400004 */ beqz $v0, .L8006E814
/* 049C04 8006E804 000A1400 */ sll $v0, $t2, 0x10
/* 049C08 8006E808 24C6FFFF */ addiu $a2, $a2, -1
/* 049C0C 8006E80C 00681821 */ addu $v1, $v1, $t0
.L8006E810:
/* 049C10 8006E810 000A1400 */ sll $v0, $t2, 0x10
.L8006E814:
/* 049C14 8006E814 00463025 */ or $a2, $v0, $a2
/* 049C18 8006E818 00672023 */ subu $a0, $v1, $a3
/* 049C1C 8006E81C 00C90019 */ multu $a2, $t1
/* 049C20 8006E820 00001810 */ mfhi $v1
/* 049C24 8006E824 0083102B */ sltu $v0, $a0, $v1
/* 049C28 8006E828 00004012 */ mflo $t0
/* 049C2C 8006E82C 54400007 */ bnezl $v0, .L8006E84C
/* 049C30 8006E830 24C6FFFF */ addiu $a2, $a2, -1
/* 049C34 8006E834 14640006 */ bne $v1, $a0, .L8006E850
/* 049C38 8006E838 0000502D */ daddu $t2, $zero, $zero
/* 049C3C 8006E83C 0168102B */ sltu $v0, $t3, $t0
/* 049C40 8006E840 10400004 */ beqz $v0, .L8006E854
/* 049C44 8006E844 00C0682D */ daddu $t5, $a2, $zero
/* 049C48 8006E848 24C6FFFF */ addiu $a2, $a2, -1
func_8006E84C:
.L8006E84C:
/* 049C4C 8006E84C 0000502D */ daddu $t2, $zero, $zero
func_8006E850:
.L8006E850:
/* 049C50 8006E850 00C0682D */ daddu $t5, $a2, $zero
.L8006E854:
/* 049C54 8006E854 0140602D */ daddu $t4, $t2, $zero
/* 049C58 8006E858 0180102D */ daddu $v0, $t4, $zero
/* 049C5C 8006E85C 03E00008 */ jr $ra
/* 049C60 8006E860 01A0182D */ daddu $v1, $t5, $zero
/* 049C64 8006E864 00000000 */ nop
/* 049C68 8006E868 00000000 */ nop
/* 049C6C 8006E86C 00000000 */ nop
func_8006E870:
/* 049C70 8006E870 27BDFFF8 */ addiu $sp, $sp, -8
/* 049C74 8006E874 00E0402D */ daddu $t0, $a3, $zero
/* 049C78 8006E878 00C0482D */ daddu $t1, $a2, $zero
/* 049C7C 8006E87C 00A0582D */ daddu $t3, $a1, $zero
/* 049C80 8006E880 0080502D */ daddu $t2, $a0, $zero
/* 049C84 8006E884 152000A6 */ bnez $t1, .L8006EB20
/* 049C88 8006E888 03A0C82D */ daddu $t9, $sp, $zero
/* 049C8C 8006E88C 0148102B */ sltu $v0, $t2, $t0
/* 049C90 8006E890 1040001D */ beqz $v0, .L8006E908
/* 049C94 8006E894 3402FFFF */ ori $v0, $zero, 0xffff
/* 049C98 8006E898 0048102B */ sltu $v0, $v0, $t0
/* 049C9C 8006E89C 14400005 */ bnez $v0, .L8006E8B4
/* 049CA0 8006E8A0 00E0302D */ daddu $a2, $a3, $zero
/* 049CA4 8006E8A4 2D020100 */ sltiu $v0, $t0, 0x100
/* 049CA8 8006E8A8 38420001 */ xori $v0, $v0, 1
/* 049CAC 8006E8AC 0801BA33 */ j func_8006E8CC
/* 049CB0 8006E8B0 000218C0 */ sll $v1, $v0, 3
.L8006E8B4:
/* 049CB4 8006E8B4 3C0200FF */ lui $v0, 0xff
/* 049CB8 8006E8B8 3442FFFF */ ori $v0, $v0, 0xffff
/* 049CBC 8006E8BC 0048102B */ sltu $v0, $v0, $t0
/* 049CC0 8006E8C0 14400002 */ bnez $v0, .L8006E8CC
/* 049CC4 8006E8C4 24030018 */ addiu $v1, $zero, 0x18
/* 049CC8 8006E8C8 24030010 */ addiu $v1, $zero, 0x10
func_8006E8CC:
.L8006E8CC:
/* 049CCC 8006E8CC 00661006 */ srlv $v0, $a2, $v1
/* 049CD0 8006E8D0 3C01800A */ lui $at, 0x800a
/* 049CD4 8006E8D4 00220821 */ addu $at, $at, $v0
/* 049CD8 8006E8D8 9022A140 */ lbu $v0, -0x5ec0($at)
/* 049CDC 8006E8DC 24040020 */ addiu $a0, $zero, 0x20
/* 049CE0 8006E8E0 00431021 */ addu $v0, $v0, $v1
/* 049CE4 8006E8E4 00826823 */ subu $t5, $a0, $v0
/* 049CE8 8006E8E8 11A0005B */ beqz $t5, .L8006EA58
/* 049CEC 8006E8EC 01AA1804 */ sllv $v1, $t2, $t5
/* 049CF0 8006E8F0 01A84004 */ sllv $t0, $t0, $t5
/* 049CF4 8006E8F4 008D1023 */ subu $v0, $a0, $t5
/* 049CF8 8006E8F8 004B1006 */ srlv $v0, $t3, $v0
/* 049CFC 8006E8FC 00625025 */ or $t2, $v1, $v0
/* 049D00 8006E900 0801BA96 */ j func_8006EA58
/* 049D04 8006E904 01AB5804 */ sllv $t3, $t3, $t5
.L8006E908:
/* 049D08 8006E908 15000008 */ bnez $t0, .L8006E92C
/* 049D0C 8006E90C 0048102B */ sltu $v0, $v0, $t0
/* 049D10 8006E910 24020001 */ addiu $v0, $zero, 1
/* 049D14 8006E914 15200002 */ bnez $t1, .L8006E920
/* 049D18 8006E918 0049001B */ divu $zero, $v0, $t1
/* 049D1C 8006E91C 0007000D */ break 7
.L8006E920:
/* 049D20 8006E920 00004012 */ mflo $t0
/* 049D24 8006E924 3402FFFF */ ori $v0, $zero, 0xffff
/* 049D28 8006E928 0048102B */ sltu $v0, $v0, $t0
.L8006E92C:
/* 049D2C 8006E92C 14400005 */ bnez $v0, .L8006E944
/* 049D30 8006E930 0100202D */ daddu $a0, $t0, $zero
/* 049D34 8006E934 2D020100 */ sltiu $v0, $t0, 0x100
/* 049D38 8006E938 38420001 */ xori $v0, $v0, 1
/* 049D3C 8006E93C 0801BA57 */ j func_8006E95C
/* 049D40 8006E940 000218C0 */ sll $v1, $v0, 3
.L8006E944:
/* 049D44 8006E944 3C0200FF */ lui $v0, 0xff
/* 049D48 8006E948 3442FFFF */ ori $v0, $v0, 0xffff
/* 049D4C 8006E94C 0048102B */ sltu $v0, $v0, $t0
/* 049D50 8006E950 14400002 */ bnez $v0, .L8006E95C
/* 049D54 8006E954 24030018 */ addiu $v1, $zero, 0x18
/* 049D58 8006E958 24030010 */ addiu $v1, $zero, 0x10
func_8006E95C:
.L8006E95C:
/* 049D5C 8006E95C 00641006 */ srlv $v0, $a0, $v1
/* 049D60 8006E960 3C01800A */ lui $at, 0x800a
/* 049D64 8006E964 00220821 */ addu $at, $at, $v0
/* 049D68 8006E968 9022A140 */ lbu $v0, -0x5ec0($at)
/* 049D6C 8006E96C 00431021 */ addu $v0, $v0, $v1
/* 049D70 8006E970 24030020 */ addiu $v1, $zero, 0x20
/* 049D74 8006E974 00626823 */ subu $t5, $v1, $v0
/* 049D78 8006E978 15A00003 */ bnez $t5, .L8006E988
/* 049D7C 8006E97C 006DC023 */ subu $t8, $v1, $t5
/* 049D80 8006E980 0801BA96 */ j func_8006EA58
/* 049D84 8006E984 01485023 */ subu $t2, $t2, $t0
.L8006E988:
/* 049D88 8006E988 01A84004 */ sllv $t0, $t0, $t5
/* 049D8C 8006E98C 030A2006 */ srlv $a0, $t2, $t8
/* 049D90 8006E990 01AA1804 */ sllv $v1, $t2, $t5
/* 049D94 8006E994 030B1006 */ srlv $v0, $t3, $t8
/* 049D98 8006E998 00625025 */ or $t2, $v1, $v0
/* 049D9C 8006E99C 00082C02 */ srl $a1, $t0, 0x10
/* 049DA0 8006E9A0 14A00002 */ bnez $a1, .L8006E9AC
/* 049DA4 8006E9A4 0085001B */ divu $zero, $a0, $a1
/* 049DA8 8006E9A8 0007000D */ break 7
.L8006E9AC:
/* 049DAC 8006E9AC 00001012 */ mflo $v0
/* 049DB0 8006E9B0 00001810 */ mfhi $v1
/* 049DB4 8006E9B4 3106FFFF */ andi $a2, $t0, 0xffff
/* 049DB8 8006E9B8 00000000 */ nop
/* 049DBC 8006E9BC 00460018 */ mult $v0, $a2
/* 049DC0 8006E9C0 00031C00 */ sll $v1, $v1, 0x10
/* 049DC4 8006E9C4 000A1402 */ srl $v0, $t2, 0x10
/* 049DC8 8006E9C8 00621825 */ or $v1, $v1, $v0
/* 049DCC 8006E9CC 00002012 */ mflo $a0
/* 049DD0 8006E9D0 0064102B */ sltu $v0, $v1, $a0
/* 049DD4 8006E9D4 10400008 */ beqz $v0, .L8006E9F8
/* 049DD8 8006E9D8 01AB5804 */ sllv $t3, $t3, $t5
/* 049DDC 8006E9DC 00681821 */ addu $v1, $v1, $t0
/* 049DE0 8006E9E0 0068102B */ sltu $v0, $v1, $t0
/* 049DE4 8006E9E4 54400005 */ bnezl $v0, .L8006E9FC
/* 049DE8 8006E9E8 00641823 */ subu $v1, $v1, $a0
/* 049DEC 8006E9EC 0064102B */ sltu $v0, $v1, $a0
/* 049DF0 8006E9F0 54400001 */ bnezl $v0, .L8006E9F8
/* 049DF4 8006E9F4 00681821 */ addu $v1, $v1, $t0
.L8006E9F8:
/* 049DF8 8006E9F8 00641823 */ subu $v1, $v1, $a0
.L8006E9FC:
/* 049DFC 8006E9FC 14A00002 */ bnez $a1, .L8006EA08
/* 049E00 8006EA00 0065001B */ divu $zero, $v1, $a1
/* 049E04 8006EA04 0007000D */ break 7
.L8006EA08:
/* 049E08 8006EA08 00001012 */ mflo $v0
/* 049E0C 8006EA0C 00001810 */ mfhi $v1
/* 049E10 8006EA10 00000000 */ nop
/* 049E14 8006EA14 00000000 */ nop
/* 049E18 8006EA18 00460018 */ mult $v0, $a2
/* 049E1C 8006EA1C 00031C00 */ sll $v1, $v1, 0x10
/* 049E20 8006EA20 3142FFFF */ andi $v0, $t2, 0xffff
/* 049E24 8006EA24 00621825 */ or $v1, $v1, $v0
/* 049E28 8006EA28 00002012 */ mflo $a0
/* 049E2C 8006EA2C 0064102B */ sltu $v0, $v1, $a0
/* 049E30 8006EA30 50400009 */ beql $v0, $zero, .L8006EA58
/* 049E34 8006EA34 00645023 */ subu $t2, $v1, $a0
/* 049E38 8006EA38 00681821 */ addu $v1, $v1, $t0
/* 049E3C 8006EA3C 0068102B */ sltu $v0, $v1, $t0
/* 049E40 8006EA40 14400005 */ bnez $v0, .L8006EA58
/* 049E44 8006EA44 00645023 */ subu $t2, $v1, $a0
/* 049E48 8006EA48 0064102B */ sltu $v0, $v1, $a0
/* 049E4C 8006EA4C 54400001 */ bnezl $v0, .L8006EA54
/* 049E50 8006EA50 00681821 */ addu $v1, $v1, $t0
.L8006EA54:
/* 049E54 8006EA54 00645023 */ subu $t2, $v1, $a0
func_8006EA58:
.L8006EA58:
/* 049E58 8006EA58 00082C02 */ srl $a1, $t0, 0x10
/* 049E5C 8006EA5C 14A00002 */ bnez $a1, .L8006EA68
/* 049E60 8006EA60 0145001B */ divu $zero, $t2, $a1
/* 049E64 8006EA64 0007000D */ break 7
.L8006EA68:
/* 049E68 8006EA68 00001012 */ mflo $v0
/* 049E6C 8006EA6C 00001810 */ mfhi $v1
/* 049E70 8006EA70 3106FFFF */ andi $a2, $t0, 0xffff
/* 049E74 8006EA74 00000000 */ nop
/* 049E78 8006EA78 00460018 */ mult $v0, $a2
/* 049E7C 8006EA7C 00031C00 */ sll $v1, $v1, 0x10
/* 049E80 8006EA80 000B1402 */ srl $v0, $t3, 0x10
/* 049E84 8006EA84 00621825 */ or $v1, $v1, $v0
/* 049E88 8006EA88 00002012 */ mflo $a0
/* 049E8C 8006EA8C 0064102B */ sltu $v0, $v1, $a0
/* 049E90 8006EA90 50400009 */ beql $v0, $zero, .L8006EAB8
/* 049E94 8006EA94 00641823 */ subu $v1, $v1, $a0
/* 049E98 8006EA98 00681821 */ addu $v1, $v1, $t0
/* 049E9C 8006EA9C 0068102B */ sltu $v0, $v1, $t0
/* 049EA0 8006EAA0 54400005 */ bnezl $v0, .L8006EAB8
/* 049EA4 8006EAA4 00641823 */ subu $v1, $v1, $a0
/* 049EA8 8006EAA8 0064102B */ sltu $v0, $v1, $a0
/* 049EAC 8006EAAC 54400001 */ bnezl $v0, .L8006EAB4
/* 049EB0 8006EAB0 00681821 */ addu $v1, $v1, $t0
.L8006EAB4:
/* 049EB4 8006EAB4 00641823 */ subu $v1, $v1, $a0
.L8006EAB8:
/* 049EB8 8006EAB8 14A00002 */ bnez $a1, .L8006EAC4
/* 049EBC 8006EABC 0065001B */ divu $zero, $v1, $a1
/* 049EC0 8006EAC0 0007000D */ break 7
.L8006EAC4:
/* 049EC4 8006EAC4 00001012 */ mflo $v0
/* 049EC8 8006EAC8 00001810 */ mfhi $v1
/* 049ECC 8006EACC 00000000 */ nop
/* 049ED0 8006EAD0 00000000 */ nop
/* 049ED4 8006EAD4 00460018 */ mult $v0, $a2
/* 049ED8 8006EAD8 00031C00 */ sll $v1, $v1, 0x10
/* 049EDC 8006EADC 3162FFFF */ andi $v0, $t3, 0xffff
/* 049EE0 8006EAE0 00621825 */ or $v1, $v1, $v0
/* 049EE4 8006EAE4 00002012 */ mflo $a0
/* 049EE8 8006EAE8 0064102B */ sltu $v0, $v1, $a0
/* 049EEC 8006EAEC 10400007 */ beqz $v0, .L8006EB0C
/* 049EF0 8006EAF0 00000000 */ nop
/* 049EF4 8006EAF4 00681821 */ addu $v1, $v1, $t0
/* 049EF8 8006EAF8 0068102B */ sltu $v0, $v1, $t0
/* 049EFC 8006EAFC 14400003 */ bnez $v0, .L8006EB0C
/* 049F00 8006EB00 0064102B */ sltu $v0, $v1, $a0
/* 049F04 8006EB04 54400001 */ bnezl $v0, .L8006EB0C
/* 049F08 8006EB08 00681821 */ addu $v1, $v1, $t0
.L8006EB0C:
/* 049F0C 8006EB0C 13200087 */ beqz $t9, .L8006ED2C
/* 049F10 8006EB10 00645823 */ subu $t3, $v1, $a0
/* 049F14 8006EB14 01AB7806 */ srlv $t7, $t3, $t5
/* 049F18 8006EB18 0801BB49 */ j func_8006ED24
/* 049F1C 8006EB1C 0000702D */ daddu $t6, $zero, $zero
.L8006EB20:
/* 049F20 8006EB20 0149102B */ sltu $v0, $t2, $t1
/* 049F24 8006EB24 10400007 */ beqz $v0, .L8006EB44
/* 049F28 8006EB28 3402FFFF */ ori $v0, $zero, 0xffff
/* 049F2C 8006EB2C 00A0782D */ daddu $t7, $a1, $zero
/* 049F30 8006EB30 0140702D */ daddu $t6, $t2, $zero
/* 049F34 8006EB34 AFAE0000 */ sw $t6, ($sp)
/* 049F38 8006EB38 AFAF0004 */ sw $t7, 4($sp)
/* 049F3C 8006EB3C 0801BB4B */ j func_8006ED2C
/* 049F40 8006EB40 00000000 */ nop
.L8006EB44:
/* 049F44 8006EB44 0049102B */ sltu $v0, $v0, $t1
/* 049F48 8006EB48 14400005 */ bnez $v0, .L8006EB60
/* 049F4C 8006EB4C 0120202D */ daddu $a0, $t1, $zero
/* 049F50 8006EB50 2D220100 */ sltiu $v0, $t1, 0x100
/* 049F54 8006EB54 38420001 */ xori $v0, $v0, 1
/* 049F58 8006EB58 0801BADE */ j func_8006EB78
/* 049F5C 8006EB5C 000218C0 */ sll $v1, $v0, 3
.L8006EB60:
/* 049F60 8006EB60 3C0200FF */ lui $v0, 0xff
/* 049F64 8006EB64 3442FFFF */ ori $v0, $v0, 0xffff
/* 049F68 8006EB68 0049102B */ sltu $v0, $v0, $t1
/* 049F6C 8006EB6C 14400002 */ bnez $v0, .L8006EB78
/* 049F70 8006EB70 24030018 */ addiu $v1, $zero, 0x18
/* 049F74 8006EB74 24030010 */ addiu $v1, $zero, 0x10
func_8006EB78:
.L8006EB78:
/* 049F78 8006EB78 00641006 */ srlv $v0, $a0, $v1
/* 049F7C 8006EB7C 3C01800A */ lui $at, 0x800a
/* 049F80 8006EB80 00220821 */ addu $at, $at, $v0
/* 049F84 8006EB84 9022A140 */ lbu $v0, -0x5ec0($at)
/* 049F88 8006EB88 00431021 */ addu $v0, $v0, $v1
/* 049F8C 8006EB8C 24030020 */ addiu $v1, $zero, 0x20
/* 049F90 8006EB90 00626823 */ subu $t5, $v1, $v0
/* 049F94 8006EB94 15A0000F */ bnez $t5, .L8006EBD4
/* 049F98 8006EB98 006DC023 */ subu $t8, $v1, $t5
/* 049F9C 8006EB9C 012A102B */ sltu $v0, $t1, $t2
/* 049FA0 8006EBA0 14400004 */ bnez $v0, .L8006EBB4
/* 049FA4 8006EBA4 01682023 */ subu $a0, $t3, $t0
/* 049FA8 8006EBA8 0168102B */ sltu $v0, $t3, $t0
/* 049FAC 8006EBAC 14400005 */ bnez $v0, .L8006EBC4
/* 049FB0 8006EBB0 00000000 */ nop
.L8006EBB4:
/* 049FB4 8006EBB4 01491823 */ subu $v1, $t2, $t1
/* 049FB8 8006EBB8 0164102B */ sltu $v0, $t3, $a0
/* 049FBC 8006EBBC 00625023 */ subu $t2, $v1, $v0
/* 049FC0 8006EBC0 0080582D */ daddu $t3, $a0, $zero
.L8006EBC4:
/* 049FC4 8006EBC4 13200059 */ beqz $t9, .L8006ED2C
/* 049FC8 8006EBC8 0160782D */ daddu $t7, $t3, $zero
/* 049FCC 8006EBCC 0801BB49 */ j func_8006ED24
/* 049FD0 8006EBD0 0140702D */ daddu $t6, $t2, $zero
.L8006EBD4:
/* 049FD4 8006EBD4 01A91804 */ sllv $v1, $t1, $t5
/* 049FD8 8006EBD8 03081006 */ srlv $v0, $t0, $t8
/* 049FDC 8006EBDC 00624825 */ or $t1, $v1, $v0
/* 049FE0 8006EBE0 01A84004 */ sllv $t0, $t0, $t5
/* 049FE4 8006EBE4 030A2006 */ srlv $a0, $t2, $t8
/* 049FE8 8006EBE8 01AA1804 */ sllv $v1, $t2, $t5
/* 049FEC 8006EBEC 030B1006 */ srlv $v0, $t3, $t8
/* 049FF0 8006EBF0 00625025 */ or $t2, $v1, $v0
/* 049FF4 8006EBF4 00093402 */ srl $a2, $t1, 0x10
/* 049FF8 8006EBF8 14C00002 */ bnez $a2, .L8006EC04
/* 049FFC 8006EBFC 0086001B */ divu $zero, $a0, $a2
/* 04A000 8006EC00 0007000D */ break 7
.L8006EC04:
/* 04A004 8006EC04 00003812 */ mflo $a3
/* 04A008 8006EC08 00001810 */ mfhi $v1
/* 04A00C 8006EC0C 312CFFFF */ andi $t4, $t1, 0xffff
/* 04A010 8006EC10 00000000 */ nop
/* 04A014 8006EC14 00EC0018 */ mult $a3, $t4
/* 04A018 8006EC18 000A1402 */ srl $v0, $t2, 0x10
/* 04A01C 8006EC1C 00031C00 */ sll $v1, $v1, 0x10
/* 04A020 8006EC20 00621825 */ or $v1, $v1, $v0
/* 04A024 8006EC24 00002812 */ mflo $a1
/* 04A028 8006EC28 0065102B */ sltu $v0, $v1, $a1
/* 04A02C 8006EC2C 1040000A */ beqz $v0, .L8006EC58
/* 04A030 8006EC30 01AB5804 */ sllv $t3, $t3, $t5
/* 04A034 8006EC34 00691821 */ addu $v1, $v1, $t1
/* 04A038 8006EC38 0069102B */ sltu $v0, $v1, $t1
/* 04A03C 8006EC3C 14400006 */ bnez $v0, .L8006EC58
/* 04A040 8006EC40 24E7FFFF */ addiu $a3, $a3, -1
/* 04A044 8006EC44 0065102B */ sltu $v0, $v1, $a1
/* 04A048 8006EC48 50400004 */ beql $v0, $zero, .L8006EC5C
/* 04A04C 8006EC4C 00651823 */ subu $v1, $v1, $a1
/* 04A050 8006EC50 24E7FFFF */ addiu $a3, $a3, -1
/* 04A054 8006EC54 00691821 */ addu $v1, $v1, $t1
.L8006EC58:
/* 04A058 8006EC58 00651823 */ subu $v1, $v1, $a1
.L8006EC5C:
/* 04A05C 8006EC5C 14C00002 */ bnez $a2, .L8006EC68
/* 04A060 8006EC60 0066001B */ divu $zero, $v1, $a2
/* 04A064 8006EC64 0007000D */ break 7
.L8006EC68:
/* 04A068 8006EC68 00002012 */ mflo $a0
/* 04A06C 8006EC6C 00001810 */ mfhi $v1
/* 04A070 8006EC70 00000000 */ nop
/* 04A074 8006EC74 00000000 */ nop
/* 04A078 8006EC78 008C0018 */ mult $a0, $t4
/* 04A07C 8006EC7C 3142FFFF */ andi $v0, $t2, 0xffff
/* 04A080 8006EC80 00031C00 */ sll $v1, $v1, 0x10
/* 04A084 8006EC84 00621825 */ or $v1, $v1, $v0
/* 04A088 8006EC88 00002812 */ mflo $a1
/* 04A08C 8006EC8C 0065102B */ sltu $v0, $v1, $a1
/* 04A090 8006EC90 5040000B */ beql $v0, $zero, .L8006ECC0
/* 04A094 8006EC94 00655023 */ subu $t2, $v1, $a1
/* 04A098 8006EC98 00691821 */ addu $v1, $v1, $t1
/* 04A09C 8006EC9C 0069102B */ sltu $v0, $v1, $t1
/* 04A0A0 8006ECA0 14400006 */ bnez $v0, .L8006ECBC
/* 04A0A4 8006ECA4 2484FFFF */ addiu $a0, $a0, -1
/* 04A0A8 8006ECA8 0065102B */ sltu $v0, $v1, $a1
/* 04A0AC 8006ECAC 10400004 */ beqz $v0, .L8006ECC0
/* 04A0B0 8006ECB0 00655023 */ subu $t2, $v1, $a1
/* 04A0B4 8006ECB4 2484FFFF */ addiu $a0, $a0, -1
/* 04A0B8 8006ECB8 00691821 */ addu $v1, $v1, $t1
.L8006ECBC:
/* 04A0BC 8006ECBC 00655023 */ subu $t2, $v1, $a1
.L8006ECC0:
/* 04A0C0 8006ECC0 00071400 */ sll $v0, $a3, 0x10
/* 04A0C4 8006ECC4 00441025 */ or $v0, $v0, $a0
/* 04A0C8 8006ECC8 00480019 */ multu $v0, $t0
/* 04A0CC 8006ECCC 00003010 */ mfhi $a2
/* 04A0D0 8006ECD0 0146102B */ sltu $v0, $t2, $a2
/* 04A0D4 8006ECD4 00002812 */ mflo $a1
/* 04A0D8 8006ECD8 54400005 */ bnezl $v0, .L8006ECF0
/* 04A0DC 8006ECDC 00A82023 */ subu $a0, $a1, $t0
/* 04A0E0 8006ECE0 14CA0007 */ bne $a2, $t2, .L8006ED00
/* 04A0E4 8006ECE4 0165102B */ sltu $v0, $t3, $a1
/* 04A0E8 8006ECE8 10400005 */ beqz $v0, .L8006ED00
/* 04A0EC 8006ECEC 00A82023 */ subu $a0, $a1, $t0
.L8006ECF0:
/* 04A0F0 8006ECF0 00C91823 */ subu $v1, $a2, $t1
/* 04A0F4 8006ECF4 00A4102B */ sltu $v0, $a1, $a0
/* 04A0F8 8006ECF8 00623023 */ subu $a2, $v1, $v0
/* 04A0FC 8006ECFC 0080282D */ daddu $a1, $a0, $zero
.L8006ED00:
/* 04A100 8006ED00 1320000A */ beqz $t9, .L8006ED2C
/* 04A104 8006ED04 01651823 */ subu $v1, $t3, $a1
/* 04A108 8006ED08 01462023 */ subu $a0, $t2, $a2
/* 04A10C 8006ED0C 0163102B */ sltu $v0, $t3, $v1
/* 04A110 8006ED10 00825023 */ subu $t2, $a0, $v0
/* 04A114 8006ED14 030A1004 */ sllv $v0, $t2, $t8
/* 04A118 8006ED18 01A31806 */ srlv $v1, $v1, $t5
/* 04A11C 8006ED1C 00437825 */ or $t7, $v0, $v1
/* 04A120 8006ED20 01AA7006 */ srlv $t6, $t2, $t5
func_8006ED24:
/* 04A124 8006ED24 AF2E0000 */ sw $t6, ($t9)
/* 04A128 8006ED28 AF2F0004 */ sw $t7, 4($t9)
func_8006ED2C:
.L8006ED2C:
/* 04A12C 8006ED2C 8FA20000 */ lw $v0, ($sp)
/* 04A130 8006ED30 8FA30004 */ lw $v1, 4($sp)
/* 04A134 8006ED34 03E00008 */ jr $ra
/* 04A138 8006ED38 27BD0008 */ addiu $sp, $sp, 8
/* 04A13C 8006ED3C 00000000 */ nop

View File

@ -1,220 +0,0 @@
.section .text8006E580, "ax"
/* 049980 8006E580 00C50018 */ mult $a2, $a1
/* 049984 8006E584 3082FFFF */ andi $v0, $a0, 0xffff
/* 049988 8006E588 00031C00 */ sll $v1, $v1, 0x10
/* 04998C 8006E58C 00621825 */ or $v1, $v1, $v0
/* 049990 8006E590 00003812 */ mflo $a3
/* 049994 8006E594 0067102B */ sltu $v0, $v1, $a3
/* 049998 8006E598 1040000B */ beqz $v0, .L8006E5C8
/* 04999C 8006E59C 00081400 */ sll $v0, $t0, 0x10
/* 0499A0 8006E5A0 00691821 */ addu $v1, $v1, $t1
/* 0499A4 8006E5A4 0069102B */ sltu $v0, $v1, $t1
/* 0499A8 8006E5A8 14400006 */ bnez $v0, .L8006E5C4
/* 0499AC 8006E5AC 24C6FFFF */ addiu $a2, $a2, -1
/* 0499B0 8006E5B0 0067102B */ sltu $v0, $v1, $a3
/* 0499B4 8006E5B4 10400004 */ beqz $v0, .L8006E5C8
/* 0499B8 8006E5B8 00081400 */ sll $v0, $t0, 0x10
/* 0499BC 8006E5BC 24C6FFFF */ addiu $a2, $a2, -1
/* 0499C0 8006E5C0 00691821 */ addu $v1, $v1, $t1
.L8006E5C4:
/* 0499C4 8006E5C4 00081400 */ sll $v0, $t0, 0x10
.L8006E5C8:
/* 0499C8 8006E5C8 00465025 */ or $t2, $v0, $a2
/* 0499CC 8006E5CC 00672023 */ subu $a0, $v1, $a3
func_8006E5D0:
/* 0499D0 8006E5D0 00093402 */ srl $a2, $t1, 0x10
/* 0499D4 8006E5D4 14C00002 */ bnez $a2, .L8006E5E0
/* 0499D8 8006E5D8 0086001B */ divu $zero, $a0, $a2
/* 0499DC 8006E5DC 0007000D */ break 7
.L8006E5E0:
/* 0499E0 8006E5E0 00003812 */ mflo $a3
/* 0499E4 8006E5E4 00001810 */ mfhi $v1
/* 0499E8 8006E5E8 3128FFFF */ andi $t0, $t1, 0xffff
/* 0499EC 8006E5EC 00000000 */ nop
/* 0499F0 8006E5F0 00E80018 */ mult $a3, $t0
/* 0499F4 8006E5F4 000B1402 */ srl $v0, $t3, 0x10
/* 0499F8 8006E5F8 00031C00 */ sll $v1, $v1, 0x10
/* 0499FC 8006E5FC 00621825 */ or $v1, $v1, $v0
/* 049A00 8006E600 00002812 */ mflo $a1
/* 049A04 8006E604 0065102B */ sltu $v0, $v1, $a1
/* 049A08 8006E608 5040000B */ beql $v0, $zero, .L8006E638
/* 049A0C 8006E60C 00651823 */ subu $v1, $v1, $a1
/* 049A10 8006E610 00691821 */ addu $v1, $v1, $t1
/* 049A14 8006E614 0069102B */ sltu $v0, $v1, $t1
/* 049A18 8006E618 14400006 */ bnez $v0, .L8006E634
/* 049A1C 8006E61C 24E7FFFF */ addiu $a3, $a3, -1
/* 049A20 8006E620 0065102B */ sltu $v0, $v1, $a1
/* 049A24 8006E624 50400004 */ beql $v0, $zero, .L8006E638
/* 049A28 8006E628 00651823 */ subu $v1, $v1, $a1
/* 049A2C 8006E62C 24E7FFFF */ addiu $a3, $a3, -1
/* 049A30 8006E630 00691821 */ addu $v1, $v1, $t1
.L8006E634:
/* 049A34 8006E634 00651823 */ subu $v1, $v1, $a1
.L8006E638:
/* 049A38 8006E638 14C00002 */ bnez $a2, .L8006E644
/* 049A3C 8006E63C 0066001B */ divu $zero, $v1, $a2
/* 049A40 8006E640 0007000D */ break 7
.L8006E644:
/* 049A44 8006E644 00002012 */ mflo $a0
/* 049A48 8006E648 00001810 */ mfhi $v1
/* 049A4C 8006E64C 00000000 */ nop
/* 049A50 8006E650 00000000 */ nop
/* 049A54 8006E654 00880018 */ mult $a0, $t0
/* 049A58 8006E658 3162FFFF */ andi $v0, $t3, 0xffff
/* 049A5C 8006E65C 00031C00 */ sll $v1, $v1, 0x10
/* 049A60 8006E660 00621825 */ or $v1, $v1, $v0
/* 049A64 8006E664 00002812 */ mflo $a1
/* 049A68 8006E668 0065102B */ sltu $v0, $v1, $a1
/* 049A6C 8006E66C 10400007 */ beqz $v0, .L8006E68C
/* 049A70 8006E670 00691821 */ addu $v1, $v1, $t1
/* 049A74 8006E674 0069102B */ sltu $v0, $v1, $t1
/* 049A78 8006E678 14400004 */ bnez $v0, .L8006E68C
/* 049A7C 8006E67C 2484FFFF */ addiu $a0, $a0, -1
/* 049A80 8006E680 0065102B */ sltu $v0, $v1, $a1
/* 049A84 8006E684 54400001 */ bnezl $v0, .L8006E68C
/* 049A88 8006E688 2484FFFF */ addiu $a0, $a0, -1
.L8006E68C:
/* 049A8C 8006E68C 00071400 */ sll $v0, $a3, 0x10
/* 049A90 8006E690 0801BA14 */ j func_8006E850
/* 049A94 8006E694 00443025 */ or $a2, $v0, $a0
/* 049A98 8006E698 0088102B */ sltu $v0, $a0, $t0
/* 049A9C 8006E69C 10400003 */ beqz $v0, .L8006E6AC
/* 049AA0 8006E6A0 3402FFFF */ ori $v0, $zero, 0xffff
/* 049AA4 8006E6A4 0801BA13 */ j func_8006E84C
/* 049AA8 8006E6A8 0000302D */ daddu $a2, $zero, $zero
.L8006E6AC:
/* 049AAC 8006E6AC 0048102B */ sltu $v0, $v0, $t0
/* 049AB0 8006E6B0 14400005 */ bnez $v0, .L8006E6C8
/* 049AB4 8006E6B4 0100282D */ daddu $a1, $t0, $zero
/* 049AB8 8006E6B8 2D020100 */ sltiu $v0, $t0, 0x100
/* 049ABC 8006E6BC 38420001 */ xori $v0, $v0, 1
/* 049AC0 8006E6C0 0801B9B8 */ j func_8006E6E0
/* 049AC4 8006E6C4 000218C0 */ sll $v1, $v0, 3
.L8006E6C8:
/* 049AC8 8006E6C8 3C0200FF */ lui $v0, 0xff
/* 049ACC 8006E6CC 3442FFFF */ ori $v0, $v0, 0xffff
/* 049AD0 8006E6D0 0048102B */ sltu $v0, $v0, $t0
/* 049AD4 8006E6D4 14400002 */ bnez $v0, .L8006E6E0
/* 049AD8 8006E6D8 24030018 */ addiu $v1, $zero, 0x18
/* 049ADC 8006E6DC 24030010 */ addiu $v1, $zero, 0x10
func_8006E6E0:
.L8006E6E0:
/* 049AE0 8006E6E0 00651006 */ srlv $v0, $a1, $v1
/* 049AE4 8006E6E4 3C01800A */ lui $at, 0x800a
/* 049AE8 8006E6E8 00220821 */ addu $at, $at, $v0
/* 049AEC 8006E6EC 9022A040 */ lbu $v0, -0x5fc0($at)
/* 049AF0 8006E6F0 00431021 */ addu $v0, $v0, $v1
/* 049AF4 8006E6F4 24030020 */ addiu $v1, $zero, 0x20
/* 049AF8 8006E6F8 00623023 */ subu $a2, $v1, $v0
/* 049AFC 8006E6FC 54C00009 */ bnezl $a2, .L8006E724
/* 049B00 8006E700 00662823 */ subu $a1, $v1, $a2
/* 049B04 8006E704 0104102B */ sltu $v0, $t0, $a0
/* 049B08 8006E708 14400050 */ bnez $v0, .L8006E84C
/* 049B0C 8006E70C 24060001 */ addiu $a2, $zero, 1
/* 049B10 8006E710 0169102B */ sltu $v0, $t3, $t1
/* 049B14 8006E714 1440004D */ bnez $v0, .L8006E84C
/* 049B18 8006E718 0000302D */ daddu $a2, $zero, $zero
/* 049B1C 8006E71C 0801BA13 */ j func_8006E84C
/* 049B20 8006E720 24060001 */ addiu $a2, $zero, 1
.L8006E724:
/* 049B24 8006E724 00C81804 */ sllv $v1, $t0, $a2
/* 049B28 8006E728 00A91006 */ srlv $v0, $t1, $a1
/* 049B2C 8006E72C 00624025 */ or $t0, $v1, $v0
/* 049B30 8006E730 00C94804 */ sllv $t1, $t1, $a2
/* 049B34 8006E734 00A43806 */ srlv $a3, $a0, $a1
/* 049B38 8006E738 00C41804 */ sllv $v1, $a0, $a2
/* 049B3C 8006E73C 00AB1006 */ srlv $v0, $t3, $a1
/* 049B40 8006E740 00622025 */ or $a0, $v1, $v0
/* 049B44 8006E744 00CB5804 */ sllv $t3, $t3, $a2
/* 049B48 8006E748 00083402 */ srl $a2, $t0, 0x10
/* 049B4C 8006E74C 14C00002 */ bnez $a2, .L8006E758
/* 049B50 8006E750 00E6001B */ divu $zero, $a3, $a2
/* 049B54 8006E754 0007000D */ break 7
.L8006E758:
/* 049B58 8006E758 00005012 */ mflo $t2
/* 049B5C 8006E75C 00001810 */ mfhi $v1
/* 049B60 8006E760 3105FFFF */ andi $a1, $t0, 0xffff
/* 049B64 8006E764 00000000 */ nop
/* 049B68 8006E768 01450018 */ mult $t2, $a1
/* 049B6C 8006E76C 00041402 */ srl $v0, $a0, 0x10
/* 049B70 8006E770 00031C00 */ sll $v1, $v1, 0x10
/* 049B74 8006E774 00621825 */ or $v1, $v1, $v0
/* 049B78 8006E778 00003812 */ mflo $a3
/* 049B7C 8006E77C 0067102B */ sltu $v0, $v1, $a3
/* 049B80 8006E780 5040000B */ beql $v0, $zero, .L8006E7B0
/* 049B84 8006E784 00671823 */ subu $v1, $v1, $a3
/* 049B88 8006E788 00681821 */ addu $v1, $v1, $t0
/* 049B8C 8006E78C 0068102B */ sltu $v0, $v1, $t0
/* 049B90 8006E790 14400006 */ bnez $v0, .L8006E7AC
/* 049B94 8006E794 254AFFFF */ addiu $t2, $t2, -1
/* 049B98 8006E798 0067102B */ sltu $v0, $v1, $a3
/* 049B9C 8006E79C 50400004 */ beql $v0, $zero, .L8006E7B0
/* 049BA0 8006E7A0 00671823 */ subu $v1, $v1, $a3
/* 049BA4 8006E7A4 254AFFFF */ addiu $t2, $t2, -1
/* 049BA8 8006E7A8 00681821 */ addu $v1, $v1, $t0
.L8006E7AC:
/* 049BAC 8006E7AC 00671823 */ subu $v1, $v1, $a3
.L8006E7B0:
/* 049BB0 8006E7B0 14C00002 */ bnez $a2, .L8006E7BC
/* 049BB4 8006E7B4 0066001B */ divu $zero, $v1, $a2
/* 049BB8 8006E7B8 0007000D */ break 7
.L8006E7BC:
/* 049BBC 8006E7BC 00003012 */ mflo $a2
/* 049BC0 8006E7C0 00001810 */ mfhi $v1
/* 049BC4 8006E7C4 00000000 */ nop
/* 049BC8 8006E7C8 00000000 */ nop
/* 049BCC 8006E7CC 00C50018 */ mult $a2, $a1
/* 049BD0 8006E7D0 3082FFFF */ andi $v0, $a0, 0xffff
/* 049BD4 8006E7D4 00031C00 */ sll $v1, $v1, 0x10
/* 049BD8 8006E7D8 00621825 */ or $v1, $v1, $v0
/* 049BDC 8006E7DC 00003812 */ mflo $a3
/* 049BE0 8006E7E0 0067102B */ sltu $v0, $v1, $a3
/* 049BE4 8006E7E4 1040000B */ beqz $v0, .L8006E814
/* 049BE8 8006E7E8 000A1400 */ sll $v0, $t2, 0x10
/* 049BEC 8006E7EC 00681821 */ addu $v1, $v1, $t0
/* 049BF0 8006E7F0 0068102B */ sltu $v0, $v1, $t0
/* 049BF4 8006E7F4 14400006 */ bnez $v0, .L8006E810
/* 049BF8 8006E7F8 24C6FFFF */ addiu $a2, $a2, -1
/* 049BFC 8006E7FC 0067102B */ sltu $v0, $v1, $a3
/* 049C00 8006E800 10400004 */ beqz $v0, .L8006E814
/* 049C04 8006E804 000A1400 */ sll $v0, $t2, 0x10
/* 049C08 8006E808 24C6FFFF */ addiu $a2, $a2, -1
/* 049C0C 8006E80C 00681821 */ addu $v1, $v1, $t0
.L8006E810:
/* 049C10 8006E810 000A1400 */ sll $v0, $t2, 0x10
.L8006E814:
/* 049C14 8006E814 00463025 */ or $a2, $v0, $a2
/* 049C18 8006E818 00672023 */ subu $a0, $v1, $a3
/* 049C1C 8006E81C 00C90019 */ multu $a2, $t1
/* 049C20 8006E820 00001810 */ mfhi $v1
/* 049C24 8006E824 0083102B */ sltu $v0, $a0, $v1
/* 049C28 8006E828 00004012 */ mflo $t0
/* 049C2C 8006E82C 54400007 */ bnezl $v0, .L8006E84C
/* 049C30 8006E830 24C6FFFF */ addiu $a2, $a2, -1
/* 049C34 8006E834 14640006 */ bne $v1, $a0, .L8006E850
/* 049C38 8006E838 0000502D */ daddu $t2, $zero, $zero
/* 049C3C 8006E83C 0168102B */ sltu $v0, $t3, $t0
/* 049C40 8006E840 10400004 */ beqz $v0, .L8006E854
/* 049C44 8006E844 00C0682D */ daddu $t5, $a2, $zero
/* 049C48 8006E848 24C6FFFF */ addiu $a2, $a2, -1
func_8006E84C:
.L8006E84C:
/* 049C4C 8006E84C 0000502D */ daddu $t2, $zero, $zero
func_8006E850:
.L8006E850:
/* 049C50 8006E850 00C0682D */ daddu $t5, $a2, $zero
.L8006E854:
/* 049C54 8006E854 0140602D */ daddu $t4, $t2, $zero
/* 049C58 8006E858 0180102D */ daddu $v0, $t4, $zero
/* 049C5C 8006E85C 03E00008 */ jr $ra
/* 049C60 8006E860 01A0182D */ daddu $v1, $t5, $zero
/* 049C64 8006E864 00000000 */ nop
/* 049C68 8006E868 00000000 */ nop
/* 049C6C 8006E86C 00000000 */ nop

View File

@ -1,362 +0,0 @@
.section .text8006E870, "ax"
func_8006E870:
/* 049C70 8006E870 27BDFFF8 */ addiu $sp, $sp, -8
/* 049C74 8006E874 00E0402D */ daddu $t0, $a3, $zero
/* 049C78 8006E878 00C0482D */ daddu $t1, $a2, $zero
/* 049C7C 8006E87C 00A0582D */ daddu $t3, $a1, $zero
/* 049C80 8006E880 0080502D */ daddu $t2, $a0, $zero
/* 049C84 8006E884 152000A6 */ bnez $t1, .L8006EB20
/* 049C88 8006E888 03A0C82D */ daddu $t9, $sp, $zero
/* 049C8C 8006E88C 0148102B */ sltu $v0, $t2, $t0
/* 049C90 8006E890 1040001D */ beqz $v0, .L8006E908
/* 049C94 8006E894 3402FFFF */ ori $v0, $zero, 0xffff
/* 049C98 8006E898 0048102B */ sltu $v0, $v0, $t0
/* 049C9C 8006E89C 14400005 */ bnez $v0, .L8006E8B4
/* 049CA0 8006E8A0 00E0302D */ daddu $a2, $a3, $zero
/* 049CA4 8006E8A4 2D020100 */ sltiu $v0, $t0, 0x100
/* 049CA8 8006E8A8 38420001 */ xori $v0, $v0, 1
/* 049CAC 8006E8AC 0801BA33 */ j func_8006E8CC
/* 049CB0 8006E8B0 000218C0 */ sll $v1, $v0, 3
.L8006E8B4:
/* 049CB4 8006E8B4 3C0200FF */ lui $v0, 0xff
/* 049CB8 8006E8B8 3442FFFF */ ori $v0, $v0, 0xffff
/* 049CBC 8006E8BC 0048102B */ sltu $v0, $v0, $t0
/* 049CC0 8006E8C0 14400002 */ bnez $v0, .L8006E8CC
/* 049CC4 8006E8C4 24030018 */ addiu $v1, $zero, 0x18
/* 049CC8 8006E8C8 24030010 */ addiu $v1, $zero, 0x10
func_8006E8CC:
.L8006E8CC:
/* 049CCC 8006E8CC 00661006 */ srlv $v0, $a2, $v1
/* 049CD0 8006E8D0 3C01800A */ lui $at, 0x800a
/* 049CD4 8006E8D4 00220821 */ addu $at, $at, $v0
/* 049CD8 8006E8D8 9022A140 */ lbu $v0, -0x5ec0($at)
/* 049CDC 8006E8DC 24040020 */ addiu $a0, $zero, 0x20
/* 049CE0 8006E8E0 00431021 */ addu $v0, $v0, $v1
/* 049CE4 8006E8E4 00826823 */ subu $t5, $a0, $v0
/* 049CE8 8006E8E8 11A0005B */ beqz $t5, .L8006EA58
/* 049CEC 8006E8EC 01AA1804 */ sllv $v1, $t2, $t5
/* 049CF0 8006E8F0 01A84004 */ sllv $t0, $t0, $t5
/* 049CF4 8006E8F4 008D1023 */ subu $v0, $a0, $t5
/* 049CF8 8006E8F8 004B1006 */ srlv $v0, $t3, $v0
/* 049CFC 8006E8FC 00625025 */ or $t2, $v1, $v0
/* 049D00 8006E900 0801BA96 */ j func_8006EA58
/* 049D04 8006E904 01AB5804 */ sllv $t3, $t3, $t5
.L8006E908:
/* 049D08 8006E908 15000008 */ bnez $t0, .L8006E92C
/* 049D0C 8006E90C 0048102B */ sltu $v0, $v0, $t0
/* 049D10 8006E910 24020001 */ addiu $v0, $zero, 1
/* 049D14 8006E914 15200002 */ bnez $t1, .L8006E920
/* 049D18 8006E918 0049001B */ divu $zero, $v0, $t1
/* 049D1C 8006E91C 0007000D */ break 7
.L8006E920:
/* 049D20 8006E920 00004012 */ mflo $t0
/* 049D24 8006E924 3402FFFF */ ori $v0, $zero, 0xffff
/* 049D28 8006E928 0048102B */ sltu $v0, $v0, $t0
.L8006E92C:
/* 049D2C 8006E92C 14400005 */ bnez $v0, .L8006E944
/* 049D30 8006E930 0100202D */ daddu $a0, $t0, $zero
/* 049D34 8006E934 2D020100 */ sltiu $v0, $t0, 0x100
/* 049D38 8006E938 38420001 */ xori $v0, $v0, 1
/* 049D3C 8006E93C 0801BA57 */ j func_8006E95C
/* 049D40 8006E940 000218C0 */ sll $v1, $v0, 3
.L8006E944:
/* 049D44 8006E944 3C0200FF */ lui $v0, 0xff
/* 049D48 8006E948 3442FFFF */ ori $v0, $v0, 0xffff
/* 049D4C 8006E94C 0048102B */ sltu $v0, $v0, $t0
/* 049D50 8006E950 14400002 */ bnez $v0, .L8006E95C
/* 049D54 8006E954 24030018 */ addiu $v1, $zero, 0x18
/* 049D58 8006E958 24030010 */ addiu $v1, $zero, 0x10
func_8006E95C:
.L8006E95C:
/* 049D5C 8006E95C 00641006 */ srlv $v0, $a0, $v1
/* 049D60 8006E960 3C01800A */ lui $at, 0x800a
/* 049D64 8006E964 00220821 */ addu $at, $at, $v0
/* 049D68 8006E968 9022A140 */ lbu $v0, -0x5ec0($at)
/* 049D6C 8006E96C 00431021 */ addu $v0, $v0, $v1
/* 049D70 8006E970 24030020 */ addiu $v1, $zero, 0x20
/* 049D74 8006E974 00626823 */ subu $t5, $v1, $v0
/* 049D78 8006E978 15A00003 */ bnez $t5, .L8006E988
/* 049D7C 8006E97C 006DC023 */ subu $t8, $v1, $t5
/* 049D80 8006E980 0801BA96 */ j func_8006EA58
/* 049D84 8006E984 01485023 */ subu $t2, $t2, $t0
.L8006E988:
/* 049D88 8006E988 01A84004 */ sllv $t0, $t0, $t5
/* 049D8C 8006E98C 030A2006 */ srlv $a0, $t2, $t8
/* 049D90 8006E990 01AA1804 */ sllv $v1, $t2, $t5
/* 049D94 8006E994 030B1006 */ srlv $v0, $t3, $t8
/* 049D98 8006E998 00625025 */ or $t2, $v1, $v0
/* 049D9C 8006E99C 00082C02 */ srl $a1, $t0, 0x10
/* 049DA0 8006E9A0 14A00002 */ bnez $a1, .L8006E9AC
/* 049DA4 8006E9A4 0085001B */ divu $zero, $a0, $a1
/* 049DA8 8006E9A8 0007000D */ break 7
.L8006E9AC:
/* 049DAC 8006E9AC 00001012 */ mflo $v0
/* 049DB0 8006E9B0 00001810 */ mfhi $v1
/* 049DB4 8006E9B4 3106FFFF */ andi $a2, $t0, 0xffff
/* 049DB8 8006E9B8 00000000 */ nop
/* 049DBC 8006E9BC 00460018 */ mult $v0, $a2
/* 049DC0 8006E9C0 00031C00 */ sll $v1, $v1, 0x10
/* 049DC4 8006E9C4 000A1402 */ srl $v0, $t2, 0x10
/* 049DC8 8006E9C8 00621825 */ or $v1, $v1, $v0
/* 049DCC 8006E9CC 00002012 */ mflo $a0
/* 049DD0 8006E9D0 0064102B */ sltu $v0, $v1, $a0
/* 049DD4 8006E9D4 10400008 */ beqz $v0, .L8006E9F8
/* 049DD8 8006E9D8 01AB5804 */ sllv $t3, $t3, $t5
/* 049DDC 8006E9DC 00681821 */ addu $v1, $v1, $t0
/* 049DE0 8006E9E0 0068102B */ sltu $v0, $v1, $t0
/* 049DE4 8006E9E4 54400005 */ bnezl $v0, .L8006E9FC
/* 049DE8 8006E9E8 00641823 */ subu $v1, $v1, $a0
/* 049DEC 8006E9EC 0064102B */ sltu $v0, $v1, $a0
/* 049DF0 8006E9F0 54400001 */ bnezl $v0, .L8006E9F8
/* 049DF4 8006E9F4 00681821 */ addu $v1, $v1, $t0
.L8006E9F8:
/* 049DF8 8006E9F8 00641823 */ subu $v1, $v1, $a0
.L8006E9FC:
/* 049DFC 8006E9FC 14A00002 */ bnez $a1, .L8006EA08
/* 049E00 8006EA00 0065001B */ divu $zero, $v1, $a1
/* 049E04 8006EA04 0007000D */ break 7
.L8006EA08:
/* 049E08 8006EA08 00001012 */ mflo $v0
/* 049E0C 8006EA0C 00001810 */ mfhi $v1
/* 049E10 8006EA10 00000000 */ nop
/* 049E14 8006EA14 00000000 */ nop
/* 049E18 8006EA18 00460018 */ mult $v0, $a2
/* 049E1C 8006EA1C 00031C00 */ sll $v1, $v1, 0x10
/* 049E20 8006EA20 3142FFFF */ andi $v0, $t2, 0xffff
/* 049E24 8006EA24 00621825 */ or $v1, $v1, $v0
/* 049E28 8006EA28 00002012 */ mflo $a0
/* 049E2C 8006EA2C 0064102B */ sltu $v0, $v1, $a0
/* 049E30 8006EA30 50400009 */ beql $v0, $zero, .L8006EA58
/* 049E34 8006EA34 00645023 */ subu $t2, $v1, $a0
/* 049E38 8006EA38 00681821 */ addu $v1, $v1, $t0
/* 049E3C 8006EA3C 0068102B */ sltu $v0, $v1, $t0
/* 049E40 8006EA40 14400005 */ bnez $v0, .L8006EA58
/* 049E44 8006EA44 00645023 */ subu $t2, $v1, $a0
/* 049E48 8006EA48 0064102B */ sltu $v0, $v1, $a0
/* 049E4C 8006EA4C 54400001 */ bnezl $v0, .L8006EA54
/* 049E50 8006EA50 00681821 */ addu $v1, $v1, $t0
.L8006EA54:
/* 049E54 8006EA54 00645023 */ subu $t2, $v1, $a0
func_8006EA58:
.L8006EA58:
/* 049E58 8006EA58 00082C02 */ srl $a1, $t0, 0x10
/* 049E5C 8006EA5C 14A00002 */ bnez $a1, .L8006EA68
/* 049E60 8006EA60 0145001B */ divu $zero, $t2, $a1
/* 049E64 8006EA64 0007000D */ break 7
.L8006EA68:
/* 049E68 8006EA68 00001012 */ mflo $v0
/* 049E6C 8006EA6C 00001810 */ mfhi $v1
/* 049E70 8006EA70 3106FFFF */ andi $a2, $t0, 0xffff
/* 049E74 8006EA74 00000000 */ nop
/* 049E78 8006EA78 00460018 */ mult $v0, $a2
/* 049E7C 8006EA7C 00031C00 */ sll $v1, $v1, 0x10
/* 049E80 8006EA80 000B1402 */ srl $v0, $t3, 0x10
/* 049E84 8006EA84 00621825 */ or $v1, $v1, $v0
/* 049E88 8006EA88 00002012 */ mflo $a0
/* 049E8C 8006EA8C 0064102B */ sltu $v0, $v1, $a0
/* 049E90 8006EA90 50400009 */ beql $v0, $zero, .L8006EAB8
/* 049E94 8006EA94 00641823 */ subu $v1, $v1, $a0
/* 049E98 8006EA98 00681821 */ addu $v1, $v1, $t0
/* 049E9C 8006EA9C 0068102B */ sltu $v0, $v1, $t0
/* 049EA0 8006EAA0 54400005 */ bnezl $v0, .L8006EAB8
/* 049EA4 8006EAA4 00641823 */ subu $v1, $v1, $a0
/* 049EA8 8006EAA8 0064102B */ sltu $v0, $v1, $a0
/* 049EAC 8006EAAC 54400001 */ bnezl $v0, .L8006EAB4
/* 049EB0 8006EAB0 00681821 */ addu $v1, $v1, $t0
.L8006EAB4:
/* 049EB4 8006EAB4 00641823 */ subu $v1, $v1, $a0
.L8006EAB8:
/* 049EB8 8006EAB8 14A00002 */ bnez $a1, .L8006EAC4
/* 049EBC 8006EABC 0065001B */ divu $zero, $v1, $a1
/* 049EC0 8006EAC0 0007000D */ break 7
.L8006EAC4:
/* 049EC4 8006EAC4 00001012 */ mflo $v0
/* 049EC8 8006EAC8 00001810 */ mfhi $v1
/* 049ECC 8006EACC 00000000 */ nop
/* 049ED0 8006EAD0 00000000 */ nop
/* 049ED4 8006EAD4 00460018 */ mult $v0, $a2
/* 049ED8 8006EAD8 00031C00 */ sll $v1, $v1, 0x10
/* 049EDC 8006EADC 3162FFFF */ andi $v0, $t3, 0xffff
/* 049EE0 8006EAE0 00621825 */ or $v1, $v1, $v0
/* 049EE4 8006EAE4 00002012 */ mflo $a0
/* 049EE8 8006EAE8 0064102B */ sltu $v0, $v1, $a0
/* 049EEC 8006EAEC 10400007 */ beqz $v0, .L8006EB0C
/* 049EF0 8006EAF0 00000000 */ nop
/* 049EF4 8006EAF4 00681821 */ addu $v1, $v1, $t0
/* 049EF8 8006EAF8 0068102B */ sltu $v0, $v1, $t0
/* 049EFC 8006EAFC 14400003 */ bnez $v0, .L8006EB0C
/* 049F00 8006EB00 0064102B */ sltu $v0, $v1, $a0
/* 049F04 8006EB04 54400001 */ bnezl $v0, .L8006EB0C
/* 049F08 8006EB08 00681821 */ addu $v1, $v1, $t0
.L8006EB0C:
/* 049F0C 8006EB0C 13200087 */ beqz $t9, .L8006ED2C
/* 049F10 8006EB10 00645823 */ subu $t3, $v1, $a0
/* 049F14 8006EB14 01AB7806 */ srlv $t7, $t3, $t5
/* 049F18 8006EB18 0801BB49 */ j func_8006ED24
/* 049F1C 8006EB1C 0000702D */ daddu $t6, $zero, $zero
.L8006EB20:
/* 049F20 8006EB20 0149102B */ sltu $v0, $t2, $t1
/* 049F24 8006EB24 10400007 */ beqz $v0, .L8006EB44
/* 049F28 8006EB28 3402FFFF */ ori $v0, $zero, 0xffff
/* 049F2C 8006EB2C 00A0782D */ daddu $t7, $a1, $zero
/* 049F30 8006EB30 0140702D */ daddu $t6, $t2, $zero
/* 049F34 8006EB34 AFAE0000 */ sw $t6, ($sp)
/* 049F38 8006EB38 AFAF0004 */ sw $t7, 4($sp)
/* 049F3C 8006EB3C 0801BB4B */ j func_8006ED2C
/* 049F40 8006EB40 00000000 */ nop
.L8006EB44:
/* 049F44 8006EB44 0049102B */ sltu $v0, $v0, $t1
/* 049F48 8006EB48 14400005 */ bnez $v0, .L8006EB60
/* 049F4C 8006EB4C 0120202D */ daddu $a0, $t1, $zero
/* 049F50 8006EB50 2D220100 */ sltiu $v0, $t1, 0x100
/* 049F54 8006EB54 38420001 */ xori $v0, $v0, 1
/* 049F58 8006EB58 0801BADE */ j func_8006EB78
/* 049F5C 8006EB5C 000218C0 */ sll $v1, $v0, 3
.L8006EB60:
/* 049F60 8006EB60 3C0200FF */ lui $v0, 0xff
/* 049F64 8006EB64 3442FFFF */ ori $v0, $v0, 0xffff
/* 049F68 8006EB68 0049102B */ sltu $v0, $v0, $t1
/* 049F6C 8006EB6C 14400002 */ bnez $v0, .L8006EB78
/* 049F70 8006EB70 24030018 */ addiu $v1, $zero, 0x18
/* 049F74 8006EB74 24030010 */ addiu $v1, $zero, 0x10
func_8006EB78:
.L8006EB78:
/* 049F78 8006EB78 00641006 */ srlv $v0, $a0, $v1
/* 049F7C 8006EB7C 3C01800A */ lui $at, 0x800a
/* 049F80 8006EB80 00220821 */ addu $at, $at, $v0
/* 049F84 8006EB84 9022A140 */ lbu $v0, -0x5ec0($at)
/* 049F88 8006EB88 00431021 */ addu $v0, $v0, $v1
/* 049F8C 8006EB8C 24030020 */ addiu $v1, $zero, 0x20
/* 049F90 8006EB90 00626823 */ subu $t5, $v1, $v0
/* 049F94 8006EB94 15A0000F */ bnez $t5, .L8006EBD4
/* 049F98 8006EB98 006DC023 */ subu $t8, $v1, $t5
/* 049F9C 8006EB9C 012A102B */ sltu $v0, $t1, $t2
/* 049FA0 8006EBA0 14400004 */ bnez $v0, .L8006EBB4
/* 049FA4 8006EBA4 01682023 */ subu $a0, $t3, $t0
/* 049FA8 8006EBA8 0168102B */ sltu $v0, $t3, $t0
/* 049FAC 8006EBAC 14400005 */ bnez $v0, .L8006EBC4
/* 049FB0 8006EBB0 00000000 */ nop
.L8006EBB4:
/* 049FB4 8006EBB4 01491823 */ subu $v1, $t2, $t1
/* 049FB8 8006EBB8 0164102B */ sltu $v0, $t3, $a0
/* 049FBC 8006EBBC 00625023 */ subu $t2, $v1, $v0
/* 049FC0 8006EBC0 0080582D */ daddu $t3, $a0, $zero
.L8006EBC4:
/* 049FC4 8006EBC4 13200059 */ beqz $t9, .L8006ED2C
/* 049FC8 8006EBC8 0160782D */ daddu $t7, $t3, $zero
/* 049FCC 8006EBCC 0801BB49 */ j func_8006ED24
/* 049FD0 8006EBD0 0140702D */ daddu $t6, $t2, $zero
.L8006EBD4:
/* 049FD4 8006EBD4 01A91804 */ sllv $v1, $t1, $t5
/* 049FD8 8006EBD8 03081006 */ srlv $v0, $t0, $t8
/* 049FDC 8006EBDC 00624825 */ or $t1, $v1, $v0
/* 049FE0 8006EBE0 01A84004 */ sllv $t0, $t0, $t5
/* 049FE4 8006EBE4 030A2006 */ srlv $a0, $t2, $t8
/* 049FE8 8006EBE8 01AA1804 */ sllv $v1, $t2, $t5
/* 049FEC 8006EBEC 030B1006 */ srlv $v0, $t3, $t8
/* 049FF0 8006EBF0 00625025 */ or $t2, $v1, $v0
/* 049FF4 8006EBF4 00093402 */ srl $a2, $t1, 0x10
/* 049FF8 8006EBF8 14C00002 */ bnez $a2, .L8006EC04
/* 049FFC 8006EBFC 0086001B */ divu $zero, $a0, $a2
/* 04A000 8006EC00 0007000D */ break 7
.L8006EC04:
/* 04A004 8006EC04 00003812 */ mflo $a3
/* 04A008 8006EC08 00001810 */ mfhi $v1
/* 04A00C 8006EC0C 312CFFFF */ andi $t4, $t1, 0xffff
/* 04A010 8006EC10 00000000 */ nop
/* 04A014 8006EC14 00EC0018 */ mult $a3, $t4
/* 04A018 8006EC18 000A1402 */ srl $v0, $t2, 0x10
/* 04A01C 8006EC1C 00031C00 */ sll $v1, $v1, 0x10
/* 04A020 8006EC20 00621825 */ or $v1, $v1, $v0
/* 04A024 8006EC24 00002812 */ mflo $a1
/* 04A028 8006EC28 0065102B */ sltu $v0, $v1, $a1
/* 04A02C 8006EC2C 1040000A */ beqz $v0, .L8006EC58
/* 04A030 8006EC30 01AB5804 */ sllv $t3, $t3, $t5
/* 04A034 8006EC34 00691821 */ addu $v1, $v1, $t1
/* 04A038 8006EC38 0069102B */ sltu $v0, $v1, $t1
/* 04A03C 8006EC3C 14400006 */ bnez $v0, .L8006EC58
/* 04A040 8006EC40 24E7FFFF */ addiu $a3, $a3, -1
/* 04A044 8006EC44 0065102B */ sltu $v0, $v1, $a1
/* 04A048 8006EC48 50400004 */ beql $v0, $zero, .L8006EC5C
/* 04A04C 8006EC4C 00651823 */ subu $v1, $v1, $a1
/* 04A050 8006EC50 24E7FFFF */ addiu $a3, $a3, -1
/* 04A054 8006EC54 00691821 */ addu $v1, $v1, $t1
.L8006EC58:
/* 04A058 8006EC58 00651823 */ subu $v1, $v1, $a1
.L8006EC5C:
/* 04A05C 8006EC5C 14C00002 */ bnez $a2, .L8006EC68
/* 04A060 8006EC60 0066001B */ divu $zero, $v1, $a2
/* 04A064 8006EC64 0007000D */ break 7
.L8006EC68:
/* 04A068 8006EC68 00002012 */ mflo $a0
/* 04A06C 8006EC6C 00001810 */ mfhi $v1
/* 04A070 8006EC70 00000000 */ nop
/* 04A074 8006EC74 00000000 */ nop
/* 04A078 8006EC78 008C0018 */ mult $a0, $t4
/* 04A07C 8006EC7C 3142FFFF */ andi $v0, $t2, 0xffff
/* 04A080 8006EC80 00031C00 */ sll $v1, $v1, 0x10
/* 04A084 8006EC84 00621825 */ or $v1, $v1, $v0
/* 04A088 8006EC88 00002812 */ mflo $a1
/* 04A08C 8006EC8C 0065102B */ sltu $v0, $v1, $a1
/* 04A090 8006EC90 5040000B */ beql $v0, $zero, .L8006ECC0
/* 04A094 8006EC94 00655023 */ subu $t2, $v1, $a1
/* 04A098 8006EC98 00691821 */ addu $v1, $v1, $t1
/* 04A09C 8006EC9C 0069102B */ sltu $v0, $v1, $t1
/* 04A0A0 8006ECA0 14400006 */ bnez $v0, .L8006ECBC
/* 04A0A4 8006ECA4 2484FFFF */ addiu $a0, $a0, -1
/* 04A0A8 8006ECA8 0065102B */ sltu $v0, $v1, $a1
/* 04A0AC 8006ECAC 10400004 */ beqz $v0, .L8006ECC0
/* 04A0B0 8006ECB0 00655023 */ subu $t2, $v1, $a1
/* 04A0B4 8006ECB4 2484FFFF */ addiu $a0, $a0, -1
/* 04A0B8 8006ECB8 00691821 */ addu $v1, $v1, $t1
.L8006ECBC:
/* 04A0BC 8006ECBC 00655023 */ subu $t2, $v1, $a1
.L8006ECC0:
/* 04A0C0 8006ECC0 00071400 */ sll $v0, $a3, 0x10
/* 04A0C4 8006ECC4 00441025 */ or $v0, $v0, $a0
/* 04A0C8 8006ECC8 00480019 */ multu $v0, $t0
/* 04A0CC 8006ECCC 00003010 */ mfhi $a2
/* 04A0D0 8006ECD0 0146102B */ sltu $v0, $t2, $a2
/* 04A0D4 8006ECD4 00002812 */ mflo $a1
/* 04A0D8 8006ECD8 54400005 */ bnezl $v0, .L8006ECF0
/* 04A0DC 8006ECDC 00A82023 */ subu $a0, $a1, $t0
/* 04A0E0 8006ECE0 14CA0007 */ bne $a2, $t2, .L8006ED00
/* 04A0E4 8006ECE4 0165102B */ sltu $v0, $t3, $a1
/* 04A0E8 8006ECE8 10400005 */ beqz $v0, .L8006ED00
/* 04A0EC 8006ECEC 00A82023 */ subu $a0, $a1, $t0
.L8006ECF0:
/* 04A0F0 8006ECF0 00C91823 */ subu $v1, $a2, $t1
/* 04A0F4 8006ECF4 00A4102B */ sltu $v0, $a1, $a0
/* 04A0F8 8006ECF8 00623023 */ subu $a2, $v1, $v0
/* 04A0FC 8006ECFC 0080282D */ daddu $a1, $a0, $zero
.L8006ED00:
/* 04A100 8006ED00 1320000A */ beqz $t9, .L8006ED2C
/* 04A104 8006ED04 01651823 */ subu $v1, $t3, $a1
/* 04A108 8006ED08 01462023 */ subu $a0, $t2, $a2
/* 04A10C 8006ED0C 0163102B */ sltu $v0, $t3, $v1
/* 04A110 8006ED10 00825023 */ subu $t2, $a0, $v0
/* 04A114 8006ED14 030A1004 */ sllv $v0, $t2, $t8
/* 04A118 8006ED18 01A31806 */ srlv $v1, $v1, $t5
/* 04A11C 8006ED1C 00437825 */ or $t7, $v0, $v1
/* 04A120 8006ED20 01AA7006 */ srlv $t6, $t2, $t5
func_8006ED24:
/* 04A124 8006ED24 AF2E0000 */ sw $t6, ($t9)
/* 04A128 8006ED28 AF2F0004 */ sw $t7, 4($t9)
func_8006ED2C:
.L8006ED2C:
/* 04A12C 8006ED2C 8FA20000 */ lw $v0, ($sp)
/* 04A130 8006ED30 8FA30004 */ lw $v1, 4($sp)
/* 04A134 8006ED34 03E00008 */ jr $ra
/* 04A138 8006ED38 27BD0008 */ addiu $sp, $sp, 8
/* 04A13C 8006ED3C 00000000 */ nop

View File

@ -1,7 +1,3 @@
.L8005FFFC = 0x8005FFFC;
.L8006000C = 0x8006000C;
.L80060024 = 0x80060024;
.L8006E698 = 0x8006E698;
func_0400076C = 0x0400076C; func_0400076C = 0x0400076C;
func_04000874 = 0x04000874; func_04000874 = 0x04000874;
func_04000900 = 0x04000900; func_04000900 = 0x04000900;