From 5062328c73f883e888faceb06e62733b282dc324 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 1 Dec 2020 19:13:24 -0500 Subject: [PATCH] new file --- .../code_303c0_len_3e10/func_800553F4.s | 9 - .../code_303c0_len_3e10/func_800560A8.s | 9 - .../code_303c0_len_3e10/func_8005615C.s | 13 - .../code_303c0_len_3e10/func_80056180.s | 13 - .../code_303c0_len_3e10/func_800561A4.s | 12 - .../code_303c0_len_3e10/func_800561C4.s | 12 - .../code_303c0_len_3e10/func_800561E4.s | 12 - .../code_303c0_len_3e10/func_80056204.s | 13 - asm/nonmatchings/code_31650/alAudioFrame.s | 517 ++++++++++++ asm/nonmatchings/code_31650/func_80056250.s | 223 ++++++ asm/nonmatchings/code_31650/func_800565A4.s | 12 + asm/nonmatchings/code_31650/func_80056D34.s | 8 + asm/nonmatchings/code_31650/func_80056D44.s | 7 + asm/nonmatchings/code_31650/func_80056D50.s | 7 + asm/nonmatchings/code_31650/func_80056D5C.s | 11 + asm/nonmatchings/code_31650/func_80056D78.s | 15 + asm/nonmatchings/code_31650/func_80056DA4.s | 14 + asm/nonmatchings/code_31650/func_80056DCC.s | 30 + asm/nonmatchings/code_31650/func_80056E34.s | 39 + asm/nonmatchings/code_31650/func_80056EC0.s | 14 + asm/nonmatchings/code_31650/func_80056EE8.s | 42 + asm/nonmatchings/code_31650/func_80056F78.s | 15 + asm/nonmatchings/code_31650/func_80056FA4.s | 173 ++++ asm/nonmatchings/code_31650/func_80057224.s | 80 ++ asm/nonmatchings/code_31650/func_80057344.s | 14 + asm/nonmatchings/code_31650/func_8005736C.s | 128 +++ asm/nonmatchings/code_31650/func_80057548.s | 114 +++ asm/nonmatchings/code_31650/func_800576EC.s | 107 +++ asm/nonmatchings/code_31650/func_80057874.s | 98 +++ asm/nonmatchings/code_31650/func_800579D8.s | 108 +++ asm/nonmatchings/code_31650/func_80057B64.s | 14 + asm/nonmatchings/code_31650/func_80057B8C.s | 14 + asm/nonmatchings/code_31650/func_80057BB4.s | 14 + asm/nonmatchings/code_31650/func_80057BDC.s | 14 + asm/nonmatchings/code_31650/func_80057C04.s | 14 + asm/nonmatchings/code_31650/func_80057C2C.s | 14 + asm/nonmatchings/code_31650/func_80057C54.s | 53 ++ asm/nonmatchings/code_31650/func_80057D0C.s | 54 ++ asm/nonmatchings/code_31650/func_80057DC8.s | 22 + asm/nonmatchings/code_31650/func_80057E08.s | 26 + asm/nonmatchings/code_31650/func_80057E5C.s | 26 + asm/nonmatchings/code_31650/func_80057EB0.s | 12 + asm/nonmatchings/code_31650/func_80057ED0.s | 25 + asm/nonmatchings/code_31650/func_80057F20.s | 36 + asm/nonmatchings/code_31650/func_80057FD8.s | 17 + asm/nonmatchings/code_31650/func_80058004.s | 24 + asm/nonmatchings/code_31650/func_80058050.s | 745 ++++++++++++++++++ asm/nonmatchings/code_31650/func_80058B20.s | 90 +++ asm/nonmatchings/code_31650/func_80058C6C.s | 99 +++ include/functions.h | 2 +- src/audio.h | 17 +- src/code_26840_len_20d0.c | 2 +- src/code_2e230_len_2190.c | 2 +- src/code_303c0_len_3e10.c | 134 +--- src/code_31650.c | 113 +++ tools/splat.yaml | 1 + 56 files changed, 3251 insertions(+), 202 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056180.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056204.s create mode 100644 asm/nonmatchings/code_31650/alAudioFrame.s create mode 100644 asm/nonmatchings/code_31650/func_80056250.s create mode 100644 asm/nonmatchings/code_31650/func_800565A4.s create mode 100644 asm/nonmatchings/code_31650/func_80056D34.s create mode 100644 asm/nonmatchings/code_31650/func_80056D44.s create mode 100644 asm/nonmatchings/code_31650/func_80056D50.s create mode 100644 asm/nonmatchings/code_31650/func_80056D5C.s create mode 100644 asm/nonmatchings/code_31650/func_80056D78.s create mode 100644 asm/nonmatchings/code_31650/func_80056DA4.s create mode 100644 asm/nonmatchings/code_31650/func_80056DCC.s create mode 100644 asm/nonmatchings/code_31650/func_80056E34.s create mode 100644 asm/nonmatchings/code_31650/func_80056EC0.s create mode 100644 asm/nonmatchings/code_31650/func_80056EE8.s create mode 100644 asm/nonmatchings/code_31650/func_80056F78.s create mode 100644 asm/nonmatchings/code_31650/func_80056FA4.s create mode 100644 asm/nonmatchings/code_31650/func_80057224.s create mode 100644 asm/nonmatchings/code_31650/func_80057344.s create mode 100644 asm/nonmatchings/code_31650/func_8005736C.s create mode 100644 asm/nonmatchings/code_31650/func_80057548.s create mode 100644 asm/nonmatchings/code_31650/func_800576EC.s create mode 100644 asm/nonmatchings/code_31650/func_80057874.s create mode 100644 asm/nonmatchings/code_31650/func_800579D8.s create mode 100644 asm/nonmatchings/code_31650/func_80057B64.s create mode 100644 asm/nonmatchings/code_31650/func_80057B8C.s create mode 100644 asm/nonmatchings/code_31650/func_80057BB4.s create mode 100644 asm/nonmatchings/code_31650/func_80057BDC.s create mode 100644 asm/nonmatchings/code_31650/func_80057C04.s create mode 100644 asm/nonmatchings/code_31650/func_80057C2C.s create mode 100644 asm/nonmatchings/code_31650/func_80057C54.s create mode 100644 asm/nonmatchings/code_31650/func_80057D0C.s create mode 100644 asm/nonmatchings/code_31650/func_80057DC8.s create mode 100644 asm/nonmatchings/code_31650/func_80057E08.s create mode 100644 asm/nonmatchings/code_31650/func_80057E5C.s create mode 100644 asm/nonmatchings/code_31650/func_80057EB0.s create mode 100644 asm/nonmatchings/code_31650/func_80057ED0.s create mode 100644 asm/nonmatchings/code_31650/func_80057F20.s create mode 100644 asm/nonmatchings/code_31650/func_80057FD8.s create mode 100644 asm/nonmatchings/code_31650/func_80058004.s create mode 100644 asm/nonmatchings/code_31650/func_80058050.s create mode 100644 asm/nonmatchings/code_31650/func_80058B20.s create mode 100644 asm/nonmatchings/code_31650/func_80058C6C.s create mode 100644 src/code_31650.c diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s deleted file mode 100644 index 4392134469..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800553F4 -/* 307F4 800553F4 3C03800A */ lui $v1, %hi(D_8009A640) -/* 307F8 800553F8 8C63A640 */ lw $v1, %lo(D_8009A640)($v1) -/* 307FC 800553FC 24020001 */ addiu $v0, $zero, 1 -/* 30800 80055400 03E00008 */ jr $ra -/* 30804 80055404 AC620168 */ sw $v0, 0x168($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s b/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s deleted file mode 100644 index 707c564c6e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800560A8 -/* 314A8 800560A8 3C03800A */ lui $v1, %hi(D_8009A5C0) -/* 314AC 800560AC 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) -/* 314B0 800560B0 24020001 */ addiu $v0, $zero, 1 -/* 314B4 800560B4 03E00008 */ jr $ra -/* 314B8 800560B8 AC62009C */ sw $v0, 0x9c($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s deleted file mode 100644 index d4f3c631ee..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005615C -/* 3155C 8005615C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31560 80056160 AFBF0010 */ sw $ra, 0x10($sp) -/* 31564 80056164 0C015B57 */ jal func_80056D5C -/* 31568 80056168 24040001 */ addiu $a0, $zero, 1 -/* 3156C 8005616C 0C01536A */ jal func_80054DA8 -/* 31570 80056170 0000202D */ daddu $a0, $zero, $zero -/* 31574 80056174 8FBF0010 */ lw $ra, 0x10($sp) -/* 31578 80056178 03E00008 */ jr $ra -/* 3157C 8005617C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s deleted file mode 100644 index dbd51cb5e3..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056180 -/* 31580 80056180 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31584 80056184 AFBF0010 */ sw $ra, 0x10($sp) -/* 31588 80056188 0C015B57 */ jal func_80056D5C -/* 3158C 8005618C 0000202D */ daddu $a0, $zero, $zero -/* 31590 80056190 0C01536A */ jal func_80054DA8 -/* 31594 80056194 24040001 */ addiu $a0, $zero, 1 -/* 31598 80056198 8FBF0010 */ lw $ra, 0x10($sp) -/* 3159C 8005619C 03E00008 */ jr $ra -/* 315A0 800561A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s deleted file mode 100644 index d847963244..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561A4 -/* 315A4 800561A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315A8 800561A8 0080282D */ daddu $a1, $a0, $zero -/* 315AC 800561AC AFBF0010 */ sw $ra, 0x10($sp) -/* 315B0 800561B0 0C015338 */ jal func_80054CE0 -/* 315B4 800561B4 24040001 */ addiu $a0, $zero, 1 -/* 315B8 800561B8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315BC 800561BC 03E00008 */ jr $ra -/* 315C0 800561C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s deleted file mode 100644 index bd0f54c7f1..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561C4 -/* 315C4 800561C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315C8 800561C8 0080282D */ daddu $a1, $a0, $zero -/* 315CC 800561CC AFBF0010 */ sw $ra, 0x10($sp) -/* 315D0 800561D0 0C015338 */ jal func_80054CE0 -/* 315D4 800561D4 24040010 */ addiu $a0, $zero, 0x10 -/* 315D8 800561D8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315DC 800561DC 03E00008 */ jr $ra -/* 315E0 800561E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s deleted file mode 100644 index 2109ee5fea..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561E4 -/* 315E4 800561E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315E8 800561E8 0080282D */ daddu $a1, $a0, $zero -/* 315EC 800561EC AFBF0010 */ sw $ra, 0x10($sp) -/* 315F0 800561F0 0C01535D */ jal func_80054D74 -/* 315F4 800561F4 24040010 */ addiu $a0, $zero, 0x10 -/* 315F8 800561F8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315FC 800561FC 03E00008 */ jr $ra -/* 31600 80056200 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s deleted file mode 100644 index 913c730c2e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056204 -/* 31604 80056204 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31608 80056208 3C04800A */ lui $a0, %hi(D_8009A640) -/* 3160C 8005620C 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 31610 80056210 AFBF0010 */ sw $ra, 0x10($sp) -/* 31614 80056214 0C012E95 */ jal func_8004BA54 -/* 31618 80056218 0000282D */ daddu $a1, $zero, $zero -/* 3161C 8005621C 8FBF0010 */ lw $ra, 0x10($sp) -/* 31620 80056220 03E00008 */ jr $ra -/* 31624 80056224 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31650/alAudioFrame.s b/asm/nonmatchings/code_31650/alAudioFrame.s new file mode 100644 index 0000000000..c396e84cf3 --- /dev/null +++ b/asm/nonmatchings/code_31650/alAudioFrame.s @@ -0,0 +1,517 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel alAudioFrame +/* 319C0 800565C0 3C028008 */ lui $v0, %hi(D_80078E50) +/* 319C4 800565C4 8C428E50 */ lw $v0, %lo(D_80078E50)($v0) +/* 319C8 800565C8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 319CC 800565CC AFB3002C */ sw $s3, 0x2c($sp) +/* 319D0 800565D0 AFA40048 */ sw $a0, 0x48($sp) +/* 319D4 800565D4 0080982D */ daddu $s3, $a0, $zero +/* 319D8 800565D8 AFBF0044 */ sw $ra, 0x44($sp) +/* 319DC 800565DC AFBE0040 */ sw $fp, 0x40($sp) +/* 319E0 800565E0 AFB7003C */ sw $s7, 0x3c($sp) +/* 319E4 800565E4 AFB60038 */ sw $s6, 0x38($sp) +/* 319E8 800565E8 AFB50034 */ sw $s5, 0x34($sp) +/* 319EC 800565EC AFB40030 */ sw $s4, 0x30($sp) +/* 319F0 800565F0 AFB20028 */ sw $s2, 0x28($sp) +/* 319F4 800565F4 AFB10024 */ sw $s1, 0x24($sp) +/* 319F8 800565F8 AFB00020 */ sw $s0, 0x20($sp) +/* 319FC 800565FC AFA5004C */ sw $a1, 0x4c($sp) +/* 31A00 80056600 AFA70054 */ sw $a3, 0x54($sp) +/* 31A04 80056604 14400003 */ bnez $v0, .L80056614 +/* 31A08 80056608 AFA60010 */ sw $a2, 0x10($sp) +/* 31A0C 8005660C 08015B40 */ j .L80056D00 +/* 31A10 80056610 ACA00000 */ sw $zero, ($a1) +.L80056614: +/* 31A14 80056614 0C014D70 */ jal func_800535C0 +/* 31A18 80056618 00000000 */ nop +/* 31A1C 8005661C 3C028008 */ lui $v0, %hi(D_80078E5C) +/* 31A20 80056620 90428E5C */ lbu $v0, %lo(D_80078E5C)($v0) +/* 31A24 80056624 1040001B */ beqz $v0, .L80056694 +/* 31A28 80056628 00000000 */ nop +/* 31A2C 8005662C 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31A30 80056630 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) +/* 31A34 80056634 8C620000 */ lw $v0, ($v1) +/* 31A38 80056638 8C42000C */ lw $v0, 0xc($v0) +/* 31A3C 8005663C 18400013 */ blez $v0, .L8005668C +/* 31A40 80056640 0000A82D */ daddu $s5, $zero, $zero +/* 31A44 80056644 0060882D */ daddu $s1, $v1, $zero +/* 31A48 80056648 24120001 */ addiu $s2, $zero, 1 +/* 31A4C 8005664C 02A0802D */ daddu $s0, $s5, $zero +.L80056650: +/* 31A50 80056650 8E220000 */ lw $v0, ($s1) +/* 31A54 80056654 8C42001C */ lw $v0, 0x1c($v0) +/* 31A58 80056658 00502021 */ addu $a0, $v0, $s0 +/* 31A5C 8005665C 8C820070 */ lw $v0, 0x70($a0) +/* 31A60 80056660 14520004 */ bne $v0, $s2, .L80056674 +/* 31A64 80056664 00000000 */ nop +/* 31A68 80056668 9085004D */ lbu $a1, 0x4d($a0) +/* 31A6C 8005666C 0C015E1D */ jal func_80057874 +/* 31A70 80056670 32A400FF */ andi $a0, $s5, 0xff +.L80056674: +/* 31A74 80056674 8E220000 */ lw $v0, ($s1) +/* 31A78 80056678 8C42000C */ lw $v0, 0xc($v0) +/* 31A7C 8005667C 26B50001 */ addiu $s5, $s5, 1 +/* 31A80 80056680 02A2102A */ slt $v0, $s5, $v0 +/* 31A84 80056684 1440FFF2 */ bnez $v0, .L80056650 +/* 31A88 80056688 2610007C */ addiu $s0, $s0, 0x7c +.L8005668C: +/* 31A8C 8005668C 3C018008 */ lui $at, %hi(D_80078E5C) +/* 31A90 80056690 A0208E5C */ sb $zero, %lo(D_80078E5C)($at) +.L80056694: +/* 31A94 80056694 8FA90054 */ lw $t1, 0x54($sp) +/* 31A98 80056698 19200194 */ blez $t1, .L80056CEC +/* 31A9C 8005669C 00000000 */ nop +/* 31AA0 800566A0 3C1E800A */ lui $fp, %hi(D_800A3FE8) +/* 31AA4 800566A4 27DE3FE8 */ addiu $fp, $fp, %lo(D_800A3FE8) +.L800566A8: +/* 31AA8 800566A8 0C014CF4 */ jal func_800533D0 +/* 31AAC 800566AC 0000A82D */ daddu $s5, $zero, $zero +/* 31AB0 800566B0 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31AB4 800566B4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31AB8 800566B8 8C62000C */ lw $v0, 0xc($v1) +/* 31ABC 800566BC 1840001E */ blez $v0, .L80056738 +/* 31AC0 800566C0 24170001 */ addiu $s7, $zero, 1 +/* 31AC4 800566C4 0060302D */ daddu $a2, $v1, $zero +/* 31AC8 800566C8 02A0282D */ daddu $a1, $s5, $zero +.L800566CC: +/* 31ACC 800566CC 8CC2001C */ lw $v0, 0x1c($a2) +/* 31AD0 800566D0 00452021 */ addu $a0, $v0, $a1 +/* 31AD4 800566D4 90820078 */ lbu $v0, 0x78($a0) +/* 31AD8 800566D8 240900FF */ addiu $t1, $zero, 0xff +/* 31ADC 800566DC 1049000E */ beq $v0, $t1, .L80056718 +/* 31AE0 800566E0 0040182D */ daddu $v1, $v0, $zero +/* 31AE4 800566E4 8CC20010 */ lw $v0, 0x10($a2) +/* 31AE8 800566E8 0062102A */ slt $v0, $v1, $v0 +/* 31AEC 800566EC 1040000A */ beqz $v0, .L80056718 +/* 31AF0 800566F0 00031040 */ sll $v0, $v1, 1 +/* 31AF4 800566F4 00431021 */ addu $v0, $v0, $v1 +/* 31AF8 800566F8 8CC30020 */ lw $v1, 0x20($a2) +/* 31AFC 800566FC 000210C0 */ sll $v0, $v0, 3 +/* 31B00 80056700 0062A021 */ addu $s4, $v1, $v0 +/* 31B04 80056704 8E820014 */ lw $v0, 0x14($s4) +/* 31B08 80056708 50400002 */ beql $v0, $zero, .L80056714 +/* 31B0C 8005670C AE840010 */ sw $a0, 0x10($s4) +/* 31B10 80056710 AC440000 */ sw $a0, ($v0) +.L80056714: +/* 31B14 80056714 AE840014 */ sw $a0, 0x14($s4) +.L80056718: +/* 31B18 80056718 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31B1C 8005671C 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31B20 80056720 8C42000C */ lw $v0, 0xc($v0) +/* 31B24 80056724 26B50001 */ addiu $s5, $s5, 1 +/* 31B28 80056728 02A2102A */ slt $v0, $s5, $v0 +/* 31B2C 8005672C 1440FFE7 */ bnez $v0, .L800566CC +/* 31B30 80056730 24A5007C */ addiu $a1, $a1, 0x7c +/* 31B34 80056734 24170001 */ addiu $s7, $zero, 1 +.L80056738: +/* 31B38 80056738 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31B3C 8005673C 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31B40 80056740 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31B44 80056744 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) +/* 31B48 80056748 8C420010 */ lw $v0, 0x10($v0) +/* 31B4C 8005674C 18400110 */ blez $v0, .L80056B90 +/* 31B50 80056750 0000A82D */ daddu $s5, $zero, $zero +/* 31B54 80056754 02A0B02D */ daddu $s6, $s5, $zero +.L80056758: +/* 31B58 80056758 8C620000 */ lw $v0, ($v1) +/* 31B5C 8005675C 8C420020 */ lw $v0, 0x20($v0) +/* 31B60 80056760 0056A021 */ addu $s4, $v0, $s6 +/* 31B64 80056764 8E820010 */ lw $v0, 0x10($s4) +/* 31B68 80056768 10400101 */ beqz $v0, .L80056B70 +/* 31B6C 8005676C 3C020200 */ lui $v0, 0x200 +/* 31B70 80056770 344204E0 */ ori $v0, $v0, 0x4e0 +/* 31B74 80056774 0260182D */ daddu $v1, $s3, $zero +/* 31B78 80056778 AC620000 */ sw $v0, ($v1) +/* 31B7C 8005677C 240205C0 */ addiu $v0, $zero, 0x5c0 +/* 31B80 80056780 AC620004 */ sw $v0, 4($v1) +/* 31B84 80056784 8E820010 */ lw $v0, 0x10($s4) +/* 31B88 80056788 1040000B */ beqz $v0, .L800567B8 +/* 31B8C 8005678C 26730008 */ addiu $s3, $s3, 8 +.L80056790: +/* 31B90 80056790 8E840010 */ lw $a0, 0x10($s4) +/* 31B94 80056794 0C016014 */ jal func_80058050 +/* 31B98 80056798 0260282D */ daddu $a1, $s3, $zero +/* 31B9C 8005679C 8E830010 */ lw $v1, 0x10($s4) +/* 31BA0 800567A0 8C640000 */ lw $a0, ($v1) +/* 31BA4 800567A4 0040982D */ daddu $s3, $v0, $zero +/* 31BA8 800567A8 AC600000 */ sw $zero, ($v1) +/* 31BAC 800567AC 1480FFF8 */ bnez $a0, .L80056790 +/* 31BB0 800567B0 AE840010 */ sw $a0, 0x10($s4) +/* 31BB4 800567B4 AE800014 */ sw $zero, 0x14($s4) +.L800567B8: +/* 31BB8 800567B8 9282000C */ lbu $v0, 0xc($s4) +/* 31BBC 800567BC 1040000B */ beqz $v0, .L800567EC +/* 31BC0 800567C0 0260282D */ daddu $a1, $s3, $zero +/* 31BC4 800567C4 240607C0 */ addiu $a2, $zero, 0x7c0 +/* 31BC8 800567C8 8E840004 */ lw $a0, 4($s4) +/* 31BCC 800567CC 0C0164C4 */ jal func_80059310 +/* 31BD0 800567D0 0000382D */ daddu $a3, $zero, $zero +/* 31BD4 800567D4 0040282D */ daddu $a1, $v0, $zero +/* 31BD8 800567D8 24060930 */ addiu $a2, $zero, 0x930 +/* 31BDC 800567DC 8E840008 */ lw $a0, 8($s4) +/* 31BE0 800567E0 0C0164C4 */ jal func_80059310 +/* 31BE4 800567E4 0000382D */ daddu $a3, $zero, $zero +/* 31BE8 800567E8 0040982D */ daddu $s3, $v0, $zero +.L800567EC: +/* 31BEC 800567EC 3C02800A */ lui $v0, %hi(D_800A3FEC) +/* 31BF0 800567F0 90423FEC */ lbu $v0, %lo(D_800A3FEC)($v0) +/* 31BF4 800567F4 16A20089 */ bne $s5, $v0, .L80056A1C +/* 31BF8 800567F8 24020001 */ addiu $v0, $zero, 1 +/* 31BFC 800567FC 3C03800A */ lui $v1, %hi(D_800A3FEE) +/* 31C00 80056800 84633FEE */ lh $v1, %lo(D_800A3FEE)($v1) +/* 31C04 80056804 10620006 */ beq $v1, $v0, .L80056820 +/* 31C08 80056808 2410FFFF */ addiu $s0, $zero, -1 +/* 31C0C 8005680C 24020002 */ addiu $v0, $zero, 2 +/* 31C10 80056810 10620006 */ beq $v1, $v0, .L8005682C +/* 31C14 80056814 00101400 */ sll $v0, $s0, 0x10 +/* 31C18 80056818 08015A10 */ j .L80056840 +/* 31C1C 8005681C 00021403 */ sra $v0, $v0, 0x10 +.L80056820: +/* 31C20 80056820 241004E0 */ addiu $s0, $zero, 0x4e0 +/* 31C24 80056824 08015A0D */ j .L80056834 +/* 31C28 80056828 240907C0 */ addiu $t1, $zero, 0x7c0 +.L8005682C: +/* 31C2C 8005682C 24100650 */ addiu $s0, $zero, 0x650 +/* 31C30 80056830 24090930 */ addiu $t1, $zero, 0x930 +.L80056834: +/* 31C34 80056834 A7A9001E */ sh $t1, 0x1e($sp) +/* 31C38 80056838 00101400 */ sll $v0, $s0, 0x10 +/* 31C3C 8005683C 00021403 */ sra $v0, $v0, 0x10 +.L80056840: +/* 31C40 80056840 2403FFFF */ addiu $v1, $zero, -1 +/* 31C44 80056844 10430075 */ beq $v0, $v1, .L80056A1C +/* 31C48 80056848 0260882D */ daddu $s1, $s3, $zero +/* 31C4C 8005684C 8FC30000 */ lw $v1, ($fp) +/* 31C50 80056850 3C02800A */ lui $v0, %hi(D_800A3FF0) +/* 31C54 80056854 8C423FF0 */ lw $v0, %lo(D_800A3FF0)($v0) +/* 31C58 80056858 14400002 */ bnez $v0, .L80056864 +/* 31C5C 8005685C 0062001A */ div $zero, $v1, $v0 +/* 31C60 80056860 0007000D */ break 7 +.L80056864: +/* 31C64 80056864 2401FFFF */ addiu $at, $zero, -1 +/* 31C68 80056868 14410004 */ bne $v0, $at, .L8005687C +/* 31C6C 8005686C 3C018000 */ lui $at, 0x8000 +/* 31C70 80056870 14610002 */ bne $v1, $at, .L8005687C +/* 31C74 80056874 00000000 */ nop +/* 31C78 80056878 0006000D */ break 6 +.L8005687C: +/* 31C7C 8005687C 00002810 */ mfhi $a1 +/* 31C80 80056880 32100FFF */ andi $s0, $s0, 0xfff +/* 31C84 80056884 3C090617 */ lui $t1, 0x617 +/* 31C88 80056888 02091025 */ or $v0, $s0, $t1 +/* 31C8C 8005688C AE220000 */ sw $v0, ($s1) +/* 31C90 80056890 3C02800A */ lui $v0, %hi(D_800A3FE0) +/* 31C94 80056894 8C423FE0 */ lw $v0, %lo(D_800A3FE0)($v0) +/* 31C98 80056898 00052040 */ sll $a0, $a1, 1 +/* 31C9C 8005689C 00852021 */ addu $a0, $a0, $a1 +/* 31CA0 800568A0 000420C0 */ sll $a0, $a0, 3 +/* 31CA4 800568A4 00852023 */ subu $a0, $a0, $a1 +/* 31CA8 800568A8 00042100 */ sll $a0, $a0, 4 +/* 31CAC 800568AC 0C0187A4 */ jal osVirtualToPhysical +/* 31CB0 800568B0 00442021 */ addu $a0, $v0, $a0 +/* 31CB4 800568B4 8FC30000 */ lw $v1, ($fp) +/* 31CB8 800568B8 3C04800A */ lui $a0, %hi(D_800A3FF0) +/* 31CBC 800568BC 8C843FF0 */ lw $a0, %lo(D_800A3FF0)($a0) +/* 31CC0 800568C0 24630001 */ addiu $v1, $v1, 1 +/* 31CC4 800568C4 14800002 */ bnez $a0, .L800568D0 +/* 31CC8 800568C8 0064001A */ div $zero, $v1, $a0 +/* 31CCC 800568CC 0007000D */ break 7 +.L800568D0: +/* 31CD0 800568D0 2401FFFF */ addiu $at, $zero, -1 +/* 31CD4 800568D4 14810004 */ bne $a0, $at, .L800568E8 +/* 31CD8 800568D8 3C018000 */ lui $at, 0x8000 +/* 31CDC 800568DC 14610002 */ bne $v1, $at, .L800568E8 +/* 31CE0 800568E0 00000000 */ nop +/* 31CE4 800568E4 0006000D */ break 6 +.L800568E8: +/* 31CE8 800568E8 00002810 */ mfhi $a1 +/* 31CEC 800568EC 26730008 */ addiu $s3, $s3, 8 +/* 31CF0 800568F0 AE220004 */ sw $v0, 4($s1) +/* 31CF4 800568F4 0260882D */ daddu $s1, $s3, $zero +/* 31CF8 800568F8 3C090417 */ lui $t1, 0x417 +/* 31CFC 800568FC 3C02800A */ lui $v0, %hi(D_800A3FE0) +/* 31D00 80056900 8C423FE0 */ lw $v0, %lo(D_800A3FE0)($v0) +/* 31D04 80056904 02098025 */ or $s0, $s0, $t1 +/* 31D08 80056908 AE300000 */ sw $s0, ($s1) +/* 31D0C 8005690C 00052040 */ sll $a0, $a1, 1 +/* 31D10 80056910 00852021 */ addu $a0, $a0, $a1 +/* 31D14 80056914 000420C0 */ sll $a0, $a0, 3 +/* 31D18 80056918 00852023 */ subu $a0, $a0, $a1 +/* 31D1C 8005691C 00042100 */ sll $a0, $a0, 4 +/* 31D20 80056920 0C0187A4 */ jal osVirtualToPhysical +/* 31D24 80056924 00442021 */ addu $a0, $v0, $a0 +/* 31D28 80056928 8FC40000 */ lw $a0, ($fp) +/* 31D2C 8005692C 3C03800A */ lui $v1, %hi(D_800A3FF0) +/* 31D30 80056930 8C633FF0 */ lw $v1, %lo(D_800A3FF0)($v1) +/* 31D34 80056934 14600002 */ bnez $v1, .L80056940 +/* 31D38 80056938 0083001A */ div $zero, $a0, $v1 +/* 31D3C 8005693C 0007000D */ break 7 +.L80056940: +/* 31D40 80056940 2401FFFF */ addiu $at, $zero, -1 +/* 31D44 80056944 14610004 */ bne $v1, $at, .L80056958 +/* 31D48 80056948 3C018000 */ lui $at, 0x8000 +/* 31D4C 8005694C 14810002 */ bne $a0, $at, .L80056958 +/* 31D50 80056950 00000000 */ nop +/* 31D54 80056954 0006000D */ break 6 +.L80056958: +/* 31D58 80056958 00001810 */ mfhi $v1 +/* 31D5C 8005695C 26730008 */ addiu $s3, $s3, 8 +/* 31D60 80056960 AE220004 */ sw $v0, 4($s1) +/* 31D64 80056964 97A9001E */ lhu $t1, 0x1e($sp) +/* 31D68 80056968 0260902D */ daddu $s2, $s3, $zero +/* 31D6C 8005696C 31300FFF */ andi $s0, $t1, 0xfff +/* 31D70 80056970 3C090617 */ lui $t1, 0x617 +/* 31D74 80056974 02091025 */ or $v0, $s0, $t1 +/* 31D78 80056978 AE420000 */ sw $v0, ($s2) +/* 31D7C 8005697C 3C02800A */ lui $v0, %hi(D_800A3FE4) +/* 31D80 80056980 8C423FE4 */ lw $v0, %lo(D_800A3FE4)($v0) +/* 31D84 80056984 00032040 */ sll $a0, $v1, 1 +/* 31D88 80056988 00832021 */ addu $a0, $a0, $v1 +/* 31D8C 8005698C 000420C0 */ sll $a0, $a0, 3 +/* 31D90 80056990 00832023 */ subu $a0, $a0, $v1 +/* 31D94 80056994 00042100 */ sll $a0, $a0, 4 +/* 31D98 80056998 0C0187A4 */ jal osVirtualToPhysical +/* 31D9C 8005699C 00442021 */ addu $a0, $v0, $a0 +/* 31DA0 800569A0 8FC30000 */ lw $v1, ($fp) +/* 31DA4 800569A4 3C04800A */ lui $a0, %hi(D_800A3FF0) +/* 31DA8 800569A8 8C843FF0 */ lw $a0, %lo(D_800A3FF0)($a0) +/* 31DAC 800569AC 24630001 */ addiu $v1, $v1, 1 +/* 31DB0 800569B0 14800002 */ bnez $a0, .L800569BC +/* 31DB4 800569B4 0064001A */ div $zero, $v1, $a0 +/* 31DB8 800569B8 0007000D */ break 7 +.L800569BC: +/* 31DBC 800569BC 2401FFFF */ addiu $at, $zero, -1 +/* 31DC0 800569C0 14810004 */ bne $a0, $at, .L800569D4 +/* 31DC4 800569C4 3C018000 */ lui $at, 0x8000 +/* 31DC8 800569C8 14610002 */ bne $v1, $at, .L800569D4 +/* 31DCC 800569CC 00000000 */ nop +/* 31DD0 800569D0 0006000D */ break 6 +.L800569D4: +/* 31DD4 800569D4 00002810 */ mfhi $a1 +/* 31DD8 800569D8 26730008 */ addiu $s3, $s3, 8 +/* 31DDC 800569DC 0260882D */ daddu $s1, $s3, $zero +/* 31DE0 800569E0 26730008 */ addiu $s3, $s3, 8 +/* 31DE4 800569E4 3C090417 */ lui $t1, 0x417 +/* 31DE8 800569E8 AE420004 */ sw $v0, 4($s2) +/* 31DEC 800569EC 3C02800A */ lui $v0, %hi(D_800A3FE4) +/* 31DF0 800569F0 8C423FE4 */ lw $v0, %lo(D_800A3FE4)($v0) +/* 31DF4 800569F4 02098025 */ or $s0, $s0, $t1 +/* 31DF8 800569F8 AE300000 */ sw $s0, ($s1) +/* 31DFC 800569FC 00052040 */ sll $a0, $a1, 1 +/* 31E00 80056A00 00852021 */ addu $a0, $a0, $a1 +/* 31E04 80056A04 000420C0 */ sll $a0, $a0, 3 +/* 31E08 80056A08 00852023 */ subu $a0, $a0, $a1 +/* 31E0C 80056A0C 00042100 */ sll $a0, $a0, 4 +/* 31E10 80056A10 0C0187A4 */ jal osVirtualToPhysical +/* 31E14 80056A14 00442021 */ addu $a0, $v0, $a0 +/* 31E18 80056A18 AE220004 */ sw $v0, 4($s1) +.L80056A1C: +/* 31E1C 80056A1C 12E00007 */ beqz $s7, .L80056A3C +/* 31E20 80056A20 0260102D */ daddu $v0, $s3, $zero +/* 31E24 80056A24 26730008 */ addiu $s3, $s3, 8 +/* 31E28 80056A28 3C030200 */ lui $v1, 0x200 +/* 31E2C 80056A2C AC430000 */ sw $v1, ($v0) +/* 31E30 80056A30 240302E0 */ addiu $v1, $zero, 0x2e0 +/* 31E34 80056A34 08015A98 */ j .L80056A60 +/* 31E38 80056A38 AC430004 */ sw $v1, 4($v0) +.L80056A3C: +/* 31E3C 80056A3C 0260802D */ daddu $s0, $s3, $zero +/* 31E40 80056A40 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31E44 80056A44 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31E48 80056A48 3C02042E */ lui $v0, 0x42e +/* 31E4C 80056A4C AE020000 */ sw $v0, ($s0) +/* 31E50 80056A50 8C640028 */ lw $a0, 0x28($v1) +/* 31E54 80056A54 0C0187A4 */ jal osVirtualToPhysical +/* 31E58 80056A58 26730008 */ addiu $s3, $s3, 8 +/* 31E5C 80056A5C AE020004 */ sw $v0, 4($s0) +.L80056A60: +/* 31E60 80056A60 0260202D */ daddu $a0, $s3, $zero +/* 31E64 80056A64 26730008 */ addiu $s3, $s3, 8 +/* 31E68 80056A68 0260282D */ daddu $a1, $s3, $zero +/* 31E6C 80056A6C 26730008 */ addiu $s3, $s3, 8 +/* 31E70 80056A70 3C060930 */ lui $a2, 0x930 +/* 31E74 80056A74 3C0207C0 */ lui $v0, 0x7c0 +/* 31E78 80056A78 3C090C00 */ lui $t1, 0xc00 +/* 31E7C 80056A7C 96830000 */ lhu $v1, ($s4) +/* 31E80 80056A80 34C60170 */ ori $a2, $a2, 0x170 +/* 31E84 80056A84 AC820004 */ sw $v0, 4($a0) +/* 31E88 80056A88 00691825 */ or $v1, $v1, $t1 +/* 31E8C 80056A8C AC830000 */ sw $v1, ($a0) +/* 31E90 80056A90 96820000 */ lhu $v0, ($s4) +/* 31E94 80056A94 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31E98 80056A98 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31E9C 80056A9C 0260802D */ daddu $s0, $s3, $zero +/* 31EA0 80056AA0 ACA60004 */ sw $a2, 4($a1) +/* 31EA4 80056AA4 00491025 */ or $v0, $v0, $t1 +/* 31EA8 80056AA8 ACA20000 */ sw $v0, ($a1) +/* 31EAC 80056AAC 3C02062E */ lui $v0, 0x62e +/* 31EB0 80056AB0 AE020000 */ sw $v0, ($s0) +/* 31EB4 80056AB4 8C640028 */ lw $a0, 0x28($v1) +/* 31EB8 80056AB8 0C0187A4 */ jal osVirtualToPhysical +/* 31EBC 80056ABC 26730008 */ addiu $s3, $s3, 8 +/* 31EC0 80056AC0 12E00009 */ beqz $s7, .L80056AE8 +/* 31EC4 80056AC4 AE020004 */ sw $v0, 4($s0) +/* 31EC8 80056AC8 0260102D */ daddu $v0, $s3, $zero +/* 31ECC 80056ACC 26730008 */ addiu $s3, $s3, 8 +/* 31ED0 80056AD0 0000B82D */ daddu $s7, $zero, $zero +/* 31ED4 80056AD4 3C030200 */ lui $v1, 0x200 +/* 31ED8 80056AD8 AC430000 */ sw $v1, ($v0) +/* 31EDC 80056ADC 240302E0 */ addiu $v1, $zero, 0x2e0 +/* 31EE0 80056AE0 08015AC3 */ j .L80056B0C +/* 31EE4 80056AE4 AC430004 */ sw $v1, 4($v0) +.L80056AE8: +/* 31EE8 80056AE8 0260802D */ daddu $s0, $s3, $zero +/* 31EEC 80056AEC 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31EF0 80056AF0 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31EF4 80056AF4 3C02042E */ lui $v0, 0x42e +/* 31EF8 80056AF8 AE020000 */ sw $v0, ($s0) +/* 31EFC 80056AFC 8C640024 */ lw $a0, 0x24($v1) +/* 31F00 80056B00 0C0187A4 */ jal osVirtualToPhysical +/* 31F04 80056B04 26730008 */ addiu $s3, $s3, 8 +/* 31F08 80056B08 AE020004 */ sw $v0, 4($s0) +.L80056B0C: +/* 31F0C 80056B0C 0260202D */ daddu $a0, $s3, $zero +/* 31F10 80056B10 26730008 */ addiu $s3, $s3, 8 +/* 31F14 80056B14 0260282D */ daddu $a1, $s3, $zero +/* 31F18 80056B18 26730008 */ addiu $s3, $s3, 8 +/* 31F1C 80056B1C 3C060650 */ lui $a2, 0x650 +/* 31F20 80056B20 3C0204E0 */ lui $v0, 0x4e0 +/* 31F24 80056B24 3C090C00 */ lui $t1, 0xc00 +/* 31F28 80056B28 96830000 */ lhu $v1, ($s4) +/* 31F2C 80056B2C 34C60170 */ ori $a2, $a2, 0x170 +/* 31F30 80056B30 AC820004 */ sw $v0, 4($a0) +/* 31F34 80056B34 00691825 */ or $v1, $v1, $t1 +/* 31F38 80056B38 AC830000 */ sw $v1, ($a0) +/* 31F3C 80056B3C 96820000 */ lhu $v0, ($s4) +/* 31F40 80056B40 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31F44 80056B44 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31F48 80056B48 0260802D */ daddu $s0, $s3, $zero +/* 31F4C 80056B4C ACA60004 */ sw $a2, 4($a1) +/* 31F50 80056B50 00491025 */ or $v0, $v0, $t1 +/* 31F54 80056B54 ACA20000 */ sw $v0, ($a1) +/* 31F58 80056B58 3C02062E */ lui $v0, 0x62e +/* 31F5C 80056B5C AE020000 */ sw $v0, ($s0) +/* 31F60 80056B60 8C640024 */ lw $a0, 0x24($v1) +/* 31F64 80056B64 0C0187A4 */ jal osVirtualToPhysical +/* 31F68 80056B68 26730008 */ addiu $s3, $s3, 8 +/* 31F6C 80056B6C AE020004 */ sw $v0, 4($s0) +.L80056B70: +/* 31F70 80056B70 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31F74 80056B74 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) +/* 31F78 80056B78 8C620000 */ lw $v0, ($v1) +/* 31F7C 80056B7C 8C420010 */ lw $v0, 0x10($v0) +/* 31F80 80056B80 26B50001 */ addiu $s5, $s5, 1 +/* 31F84 80056B84 02A2102A */ slt $v0, $s5, $v0 +/* 31F88 80056B88 1440FEF3 */ bnez $v0, .L80056758 +/* 31F8C 80056B8C 26D60018 */ addiu $s6, $s6, 0x18 +.L80056B90: +/* 31F90 80056B90 0260182D */ daddu $v1, $s3, $zero +/* 31F94 80056B94 26730008 */ addiu $s3, $s3, 8 +/* 31F98 80056B98 3C0404E0 */ lui $a0, 0x4e0 +/* 31F9C 80056B9C 348402E0 */ ori $a0, $a0, 0x2e0 +/* 31FA0 80056BA0 3C05042E */ lui $a1, 0x42e +/* 31FA4 80056BA4 34A507C0 */ ori $a1, $a1, 0x7c0 +/* 31FA8 80056BA8 3C020A00 */ lui $v0, 0xa00 +/* 31FAC 80056BAC AC620000 */ sw $v0, ($v1) +/* 31FB0 80056BB0 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31FB4 80056BB4 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31FB8 80056BB8 0260802D */ daddu $s0, $s3, $zero +/* 31FBC 80056BBC AC640004 */ sw $a0, 4($v1) +/* 31FC0 80056BC0 AE050000 */ sw $a1, ($s0) +/* 31FC4 80056BC4 8C440028 */ lw $a0, 0x28($v0) +/* 31FC8 80056BC8 0C0187A4 */ jal osVirtualToPhysical +/* 31FCC 80056BCC 26730008 */ addiu $s3, $s3, 8 +/* 31FD0 80056BD0 0260382D */ daddu $a3, $s3, $zero +/* 31FD4 80056BD4 26730008 */ addiu $s3, $s3, 8 +/* 31FD8 80056BD8 3C060C00 */ lui $a2, 0xc00 +/* 31FDC 80056BDC 34C67FFF */ ori $a2, $a2, 0x7fff +/* 31FE0 80056BE0 3C0807C0 */ lui $t0, 0x7c0 +/* 31FE4 80056BE4 350804E0 */ ori $t0, $t0, 0x4e0 +/* 31FE8 80056BE8 0260182D */ daddu $v1, $s3, $zero +/* 31FEC 80056BEC 26730008 */ addiu $s3, $s3, 8 +/* 31FF0 80056BF0 3C040930 */ lui $a0, 0x930 +/* 31FF4 80056BF4 3C058008 */ lui $a1, %hi(D_80078E58) +/* 31FF8 80056BF8 90A58E58 */ lbu $a1, %lo(D_80078E58)($a1) +/* 31FFC 80056BFC 34840650 */ ori $a0, $a0, 0x650 +/* 32000 80056C00 AE020004 */ sw $v0, 4($s0) +/* 32004 80056C04 ACE60000 */ sw $a2, ($a3) +/* 32008 80056C08 ACE80004 */ sw $t0, 4($a3) +/* 3200C 80056C0C AC660000 */ sw $a2, ($v1) +/* 32010 80056C10 10A0001D */ beqz $a1, .L80056C88 +/* 32014 80056C14 AC640004 */ sw $a0, 4($v1) +/* 32018 80056C18 0260202D */ daddu $a0, $s3, $zero +/* 3201C 80056C1C 26730008 */ addiu $s3, $s3, 8 +/* 32020 80056C20 3C020A00 */ lui $v0, 0xa00 +/* 32024 80056C24 344204E0 */ ori $v0, $v0, 0x4e0 +/* 32028 80056C28 0260182D */ daddu $v1, $s3, $zero +/* 3202C 80056C2C 26730008 */ addiu $s3, $s3, 8 +/* 32030 80056C30 3C070200 */ lui $a3, 0x200 +/* 32034 80056C34 34E704E0 */ ori $a3, $a3, 0x4e0 +/* 32038 80056C38 0260282D */ daddu $a1, $s3, $zero +/* 3203C 80056C3C 26730008 */ addiu $s3, $s3, 8 +/* 32040 80056C40 0260302D */ daddu $a2, $s3, $zero +/* 32044 80056C44 26730008 */ addiu $s3, $s3, 8 +/* 32048 80056C48 3C080170 */ lui $t0, 0x170 +/* 3204C 80056C4C 35080650 */ ori $t0, $t0, 0x650 +/* 32050 80056C50 AC820000 */ sw $v0, ($a0) +/* 32054 80056C54 240202E0 */ addiu $v0, $zero, 0x2e0 +/* 32058 80056C58 AC820004 */ sw $v0, 4($a0) +/* 3205C 80056C5C AC670000 */ sw $a3, ($v1) +/* 32060 80056C60 AC620004 */ sw $v0, 4($v1) +/* 32064 80056C64 3C038008 */ lui $v1, %hi(D_80078E5A) +/* 32068 80056C68 94638E5A */ lhu $v1, %lo(D_80078E5A)($v1) +/* 3206C 80056C6C 240204E0 */ addiu $v0, $zero, 0x4e0 +/* 32070 80056C70 ACA20004 */ sw $v0, 4($a1) +/* 32074 80056C74 3C020C00 */ lui $v0, 0xc00 +/* 32078 80056C78 00621825 */ or $v1, $v1, $v0 +/* 3207C 80056C7C ACA30000 */ sw $v1, ($a1) +/* 32080 80056C80 ACC30000 */ sw $v1, ($a2) +/* 32084 80056C84 ACC80004 */ sw $t0, 4($a2) +.L80056C88: +/* 32088 80056C88 0260202D */ daddu $a0, $s3, $zero +/* 3208C 80056C8C 26730008 */ addiu $s3, $s3, 8 +/* 32090 80056C90 0260182D */ daddu $v1, $s3, $zero +/* 32094 80056C94 8FA90054 */ lw $t1, 0x54($sp) +/* 32098 80056C98 3C020D00 */ lui $v0, 0xd00 +/* 3209C 80056C9C 2529FF48 */ addiu $t1, $t1, -0xb8 +/* 320A0 80056CA0 AFA90054 */ sw $t1, 0x54($sp) +/* 320A4 80056CA4 AC820000 */ sw $v0, ($a0) +/* 320A8 80056CA8 8FA90010 */ lw $t1, 0x10($sp) +/* 320AC 80056CAC 3C048008 */ lui $a0, %hi(D_80078E54) +/* 320B0 80056CB0 8C848E54 */ lw $a0, %lo(D_80078E54)($a0) +/* 320B4 80056CB4 3C02062E */ lui $v0, 0x62e +/* 320B8 80056CB8 AC690004 */ sw $t1, 4($v1) +/* 320BC 80056CBC 252902E0 */ addiu $t1, $t1, 0x2e0 +/* 320C0 80056CC0 AFA90010 */ sw $t1, 0x10($sp) +/* 320C4 80056CC4 AC620000 */ sw $v0, ($v1) +/* 320C8 80056CC8 8FC20000 */ lw $v0, ($fp) +/* 320CC 80056CCC 8C830000 */ lw $v1, ($a0) +/* 320D0 80056CD0 24420001 */ addiu $v0, $v0, 1 +/* 320D4 80056CD4 246300B8 */ addiu $v1, $v1, 0xb8 +/* 320D8 80056CD8 AFC20000 */ sw $v0, ($fp) +/* 320DC 80056CDC AC830000 */ sw $v1, ($a0) +/* 320E0 80056CE0 8FA90054 */ lw $t1, 0x54($sp) +/* 320E4 80056CE4 1D20FE70 */ bgtz $t1, .L800566A8 +/* 320E8 80056CE8 26730008 */ addiu $s3, $s3, 8 +.L80056CEC: +/* 320EC 80056CEC 8FA90048 */ lw $t1, 0x48($sp) +/* 320F0 80056CF0 02691023 */ subu $v0, $s3, $t1 +/* 320F4 80056CF4 8FA9004C */ lw $t1, 0x4c($sp) +/* 320F8 80056CF8 000210C3 */ sra $v0, $v0, 3 +/* 320FC 80056CFC AD220000 */ sw $v0, ($t1) +.L80056D00: +/* 32100 80056D00 0260102D */ daddu $v0, $s3, $zero +/* 32104 80056D04 8FBF0044 */ lw $ra, 0x44($sp) +/* 32108 80056D08 8FBE0040 */ lw $fp, 0x40($sp) +/* 3210C 80056D0C 8FB7003C */ lw $s7, 0x3c($sp) +/* 32110 80056D10 8FB60038 */ lw $s6, 0x38($sp) +/* 32114 80056D14 8FB50034 */ lw $s5, 0x34($sp) +/* 32118 80056D18 8FB40030 */ lw $s4, 0x30($sp) +/* 3211C 80056D1C 8FB3002C */ lw $s3, 0x2c($sp) +/* 32120 80056D20 8FB20028 */ lw $s2, 0x28($sp) +/* 32124 80056D24 8FB10024 */ lw $s1, 0x24($sp) +/* 32128 80056D28 8FB00020 */ lw $s0, 0x20($sp) +/* 3212C 80056D2C 03E00008 */ jr $ra +/* 32130 80056D30 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/code_31650/func_80056250.s b/asm/nonmatchings/code_31650/func_80056250.s new file mode 100644 index 0000000000..cb2edcba8a --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056250.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056250 +/* 31650 80056250 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 31654 80056254 AFB50024 */ sw $s5, 0x24($sp) +/* 31658 80056258 00A0A82D */ daddu $s5, $a1, $zero +/* 3165C 8005625C 3C038008 */ lui $v1, %hi(D_80078E50) +/* 31660 80056260 24638E50 */ addiu $v1, $v1, %lo(D_80078E50) +/* 31664 80056264 AFBF002C */ sw $ra, 0x2c($sp) +/* 31668 80056268 AFB60028 */ sw $s6, 0x28($sp) +/* 3166C 8005626C AFB40020 */ sw $s4, 0x20($sp) +/* 31670 80056270 AFB3001C */ sw $s3, 0x1c($sp) +/* 31674 80056274 AFB20018 */ sw $s2, 0x18($sp) +/* 31678 80056278 AFB10014 */ sw $s1, 0x14($sp) +/* 3167C 8005627C AFB00010 */ sw $s0, 0x10($sp) +/* 31680 80056280 8C620000 */ lw $v0, ($v1) +/* 31684 80056284 8EB30014 */ lw $s3, 0x14($s5) +/* 31688 80056288 144000BC */ bnez $v0, .L8005657C +/* 3168C 8005628C 0080382D */ daddu $a3, $a0, $zero +/* 31690 80056290 8EA20000 */ lw $v0, ($s5) +/* 31694 80056294 0260202D */ daddu $a0, $s3, $zero +/* 31698 80056298 ACE2000C */ sw $v0, 0xc($a3) +/* 3169C 8005629C 8EA20004 */ lw $v0, 4($s5) +/* 316A0 800562A0 AC670000 */ sw $a3, ($v1) +/* 316A4 800562A4 ACE00000 */ sw $zero, ($a3) +/* 316A8 800562A8 ACE00004 */ sw $zero, 4($a3) +/* 316AC 800562AC ACE20010 */ sw $v0, 0x10($a3) +/* 316B0 800562B0 8EA20008 */ lw $v0, 8($s5) +/* 316B4 800562B4 3C108008 */ lui $s0, %hi(D_80078E54) +/* 316B8 800562B8 26108E54 */ addiu $s0, $s0, %lo(D_80078E54) +/* 316BC 800562BC AE070000 */ sw $a3, ($s0) +/* 316C0 800562C0 3C018008 */ lui $at, %hi(D_80078E58) +/* 316C4 800562C4 A0208E58 */ sb $zero, %lo(D_80078E58)($at) +/* 316C8 800562C8 ACE20008 */ sw $v0, 8($a3) +/* 316CC 800562CC 8EA30010 */ lw $v1, 0x10($s5) +/* 316D0 800562D0 24027FFF */ addiu $v0, $zero, 0x7fff +/* 316D4 800562D4 3C018008 */ lui $at, %hi(D_80078E5A) +/* 316D8 800562D8 A4228E5A */ sh $v0, %lo(D_80078E5A)($at) +/* 316DC 800562DC ACE30014 */ sw $v1, 0x14($a3) +/* 316E0 800562E0 8EA50000 */ lw $a1, ($s5) +/* 316E4 800562E4 24020001 */ addiu $v0, $zero, 1 +/* 316E8 800562E8 3C018008 */ lui $at, %hi(D_80078E5C) +/* 316EC 800562EC A0228E5C */ sb $v0, %lo(D_80078E5C)($at) +/* 316F0 800562F0 0C015FE4 */ jal alHeapAlloc +/* 316F4 800562F4 2406007C */ addiu $a2, $zero, 0x7c +/* 316F8 800562F8 8E030000 */ lw $v1, ($s0) +/* 316FC 800562FC AC62001C */ sw $v0, 0x1c($v1) +/* 31700 80056300 8EA20000 */ lw $v0, ($s5) +/* 31704 80056304 18400043 */ blez $v0, .L80056414 +/* 31708 80056308 0000882D */ daddu $s1, $zero, $zero +/* 3170C 8005630C 0200B02D */ daddu $s6, $s0, $zero +/* 31710 80056310 24120001 */ addiu $s2, $zero, 1 +/* 31714 80056314 0220A02D */ daddu $s4, $s1, $zero +/* 31718 80056318 0260202D */ daddu $a0, $s3, $zero +.L8005631C: +/* 3171C 8005631C 8EC20000 */ lw $v0, ($s6) +/* 31720 80056320 24050001 */ addiu $a1, $zero, 1 +/* 31724 80056324 8C50001C */ lw $s0, 0x1c($v0) +/* 31728 80056328 24060020 */ addiu $a2, $zero, 0x20 +/* 3172C 8005632C 0C015FE4 */ jal alHeapAlloc +/* 31730 80056330 02148021 */ addu $s0, $s0, $s4 +/* 31734 80056334 0260202D */ daddu $a0, $s3, $zero +/* 31738 80056338 24050001 */ addiu $a1, $zero, 1 +/* 3173C 8005633C 24060020 */ addiu $a2, $zero, 0x20 +/* 31740 80056340 0C015FE4 */ jal alHeapAlloc +/* 31744 80056344 AE020004 */ sw $v0, 4($s0) +/* 31748 80056348 8EC30000 */ lw $v1, ($s6) +/* 3174C 8005634C 26040024 */ addiu $a0, $s0, 0x24 +/* 31750 80056350 AE020008 */ sw $v0, 8($s0) +/* 31754 80056354 8C620014 */ lw $v0, 0x14($v1) +/* 31758 80056358 0040F809 */ jalr $v0 +/* 3175C 8005635C 2694007C */ addiu $s4, $s4, 0x7c +/* 31760 80056360 0260202D */ daddu $a0, $s3, $zero +/* 31764 80056364 24050001 */ addiu $a1, $zero, 1 +/* 31768 80056368 24060020 */ addiu $a2, $zero, 0x20 +/* 3176C 8005636C AE020020 */ sw $v0, 0x20($s0) +/* 31770 80056370 AE00002C */ sw $zero, 0x2c($s0) +/* 31774 80056374 AE120030 */ sw $s2, 0x30($s0) +/* 31778 80056378 0C015FE4 */ jal alHeapAlloc +/* 3177C 8005637C AE000034 */ sw $zero, 0x34($s0) +/* 31780 80056380 0260202D */ daddu $a0, $s3, $zero +/* 31784 80056384 24050001 */ addiu $a1, $zero, 1 +/* 31788 80056388 3C013F80 */ lui $at, 0x3f80 +/* 3178C 8005638C 44810000 */ mtc1 $at, $f0 +/* 31790 80056390 24060050 */ addiu $a2, $zero, 0x50 +/* 31794 80056394 AE020038 */ sw $v0, 0x38($s0) +/* 31798 80056398 AE000040 */ sw $zero, 0x40($s0) +/* 3179C 8005639C AE120044 */ sw $s2, 0x44($s0) +/* 317A0 800563A0 0C015FE4 */ jal alHeapAlloc +/* 317A4 800563A4 E600003C */ swc1 $f0, 0x3c($s0) +/* 317A8 800563A8 AE020048 */ sw $v0, 0x48($s0) +/* 317AC 800563AC 24020040 */ addiu $v0, $zero, 0x40 +/* 317B0 800563B0 AE12006C */ sw $s2, 0x6c($s0) +/* 317B4 800563B4 AE000070 */ sw $zero, 0x70($s0) +/* 317B8 800563B8 A612004E */ sh $s2, 0x4e($s0) +/* 317BC 800563BC A612005C */ sh $s2, 0x5c($s0) +/* 317C0 800563C0 A6120062 */ sh $s2, 0x62($s0) +/* 317C4 800563C4 A6120050 */ sh $s2, 0x50($s0) +/* 317C8 800563C8 A6120052 */ sh $s2, 0x52($s0) +/* 317CC 800563CC A6000054 */ sh $zero, 0x54($s0) +/* 317D0 800563D0 A6000056 */ sh $zero, 0x56($s0) +/* 317D4 800563D4 A612005A */ sh $s2, 0x5a($s0) +/* 317D8 800563D8 A6000058 */ sh $zero, 0x58($s0) +/* 317DC 800563DC A6120060 */ sh $s2, 0x60($s0) +/* 317E0 800563E0 A600005E */ sh $zero, 0x5e($s0) +/* 317E4 800563E4 AE000064 */ sw $zero, 0x64($s0) +/* 317E8 800563E8 AE000068 */ sw $zero, 0x68($s0) +/* 317EC 800563EC A602004C */ sh $v0, 0x4c($s0) +/* 317F0 800563F0 A6000074 */ sh $zero, 0x74($s0) +/* 317F4 800563F4 AE000000 */ sw $zero, ($s0) +/* 317F8 800563F8 A2000078 */ sb $zero, 0x78($s0) +/* 317FC 800563FC A2110079 */ sb $s1, 0x79($s0) +/* 31800 80056400 8EA20000 */ lw $v0, ($s5) +/* 31804 80056404 26310001 */ addiu $s1, $s1, 1 +/* 31808 80056408 0222102A */ slt $v0, $s1, $v0 +/* 3180C 8005640C 1440FFC3 */ bnez $v0, .L8005631C +/* 31810 80056410 0260202D */ daddu $a0, $s3, $zero +.L80056414: +/* 31814 80056414 0260202D */ daddu $a0, $s3, $zero +/* 31818 80056418 8EA50004 */ lw $a1, 4($s5) +/* 3181C 8005641C 0C015FE4 */ jal alHeapAlloc +/* 31820 80056420 24060018 */ addiu $a2, $zero, 0x18 +/* 31824 80056424 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31828 80056428 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3182C 8005642C AC620020 */ sw $v0, 0x20($v1) +/* 31830 80056430 8EA20004 */ lw $v0, 4($s5) +/* 31834 80056434 18400022 */ blez $v0, .L800564C0 +/* 31838 80056438 0000882D */ daddu $s1, $zero, $zero +/* 3183C 8005643C 24147FFF */ addiu $s4, $zero, 0x7fff +/* 31840 80056440 0220902D */ daddu $s2, $s1, $zero +.L80056444: +/* 31844 80056444 0260202D */ daddu $a0, $s3, $zero +/* 31848 80056448 24050001 */ addiu $a1, $zero, 1 +/* 3184C 8005644C 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31850 80056450 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31854 80056454 24060014 */ addiu $a2, $zero, 0x14 +/* 31858 80056458 8C500020 */ lw $s0, 0x20($v0) +/* 3185C 8005645C 02258821 */ addu $s1, $s1, $a1 +/* 31860 80056460 02128021 */ addu $s0, $s0, $s2 +/* 31864 80056464 AE000010 */ sw $zero, 0x10($s0) +/* 31868 80056468 AE000014 */ sw $zero, 0x14($s0) +/* 3186C 8005646C A6140000 */ sh $s4, ($s0) +/* 31870 80056470 0C015FE4 */ jal alHeapAlloc +/* 31874 80056474 A200000C */ sb $zero, 0xc($s0) +/* 31878 80056478 0260202D */ daddu $a0, $s3, $zero +/* 3187C 8005647C 24050001 */ addiu $a1, $zero, 1 +/* 31880 80056480 24060014 */ addiu $a2, $zero, 0x14 +/* 31884 80056484 0C015FE4 */ jal alHeapAlloc +/* 31888 80056488 AE020004 */ sw $v0, 4($s0) +/* 3188C 8005648C 8E040004 */ lw $a0, 4($s0) +/* 31890 80056490 9205000C */ lbu $a1, 0xc($s0) +/* 31894 80056494 0260302D */ daddu $a2, $s3, $zero +/* 31898 80056498 0C0163A1 */ jal func_80058E84 +/* 3189C 8005649C AE020008 */ sw $v0, 8($s0) +/* 318A0 800564A0 8E040008 */ lw $a0, 8($s0) +/* 318A4 800564A4 9205000C */ lbu $a1, 0xc($s0) +/* 318A8 800564A8 0C0163A1 */ jal func_80058E84 +/* 318AC 800564AC 0260302D */ daddu $a2, $s3, $zero +/* 318B0 800564B0 8EA20004 */ lw $v0, 4($s5) +/* 318B4 800564B4 0222102A */ slt $v0, $s1, $v0 +/* 318B8 800564B8 1440FFE2 */ bnez $v0, .L80056444 +/* 318BC 800564BC 26520018 */ addiu $s2, $s2, 0x18 +.L800564C0: +/* 318C0 800564C0 0260202D */ daddu $a0, $s3, $zero +/* 318C4 800564C4 24050170 */ addiu $a1, $zero, 0x170 +/* 318C8 800564C8 0C015FE4 */ jal alHeapAlloc +/* 318CC 800564CC 24060002 */ addiu $a2, $zero, 2 +/* 318D0 800564D0 0260202D */ daddu $a0, $s3, $zero +/* 318D4 800564D4 24050170 */ addiu $a1, $zero, 0x170 +/* 318D8 800564D8 24060002 */ addiu $a2, $zero, 2 +/* 318DC 800564DC 3C108008 */ lui $s0, %hi(D_80078E54) +/* 318E0 800564E0 26108E54 */ addiu $s0, $s0, %lo(D_80078E54) +/* 318E4 800564E4 8E030000 */ lw $v1, ($s0) +/* 318E8 800564E8 0000882D */ daddu $s1, $zero, $zero +/* 318EC 800564EC 0C015FE4 */ jal alHeapAlloc +/* 318F0 800564F0 AC620024 */ sw $v0, 0x24($v1) +/* 318F4 800564F4 0260202D */ daddu $a0, $s3, $zero +/* 318F8 800564F8 240502E0 */ addiu $a1, $zero, 0x2e0 +/* 318FC 800564FC 24060002 */ addiu $a2, $zero, 2 +/* 31900 80056500 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 31904 80056504 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) +/* 31908 80056508 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 3190C 8005650C A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) +/* 31910 80056510 8E070000 */ lw $a3, ($s0) +/* 31914 80056514 24030004 */ addiu $v1, $zero, 4 +/* 31918 80056518 3C01800A */ lui $at, %hi(D_800A3FF0) +/* 3191C 8005651C AC233FF0 */ sw $v1, %lo(D_800A3FF0)($at) +/* 31920 80056520 0C015FE4 */ jal alHeapAlloc +/* 31924 80056524 ACE20028 */ sw $v0, 0x28($a3) +/* 31928 80056528 0260202D */ daddu $a0, $s3, $zero +/* 3192C 8005652C 240502E0 */ addiu $a1, $zero, 0x2e0 +/* 31930 80056530 24060002 */ addiu $a2, $zero, 2 +/* 31934 80056534 3C10800A */ lui $s0, %hi(D_800A3FE0) +/* 31938 80056538 26103FE0 */ addiu $s0, $s0, %lo(D_800A3FE0) +/* 3193C 8005653C 0C015FE4 */ jal alHeapAlloc +/* 31940 80056540 AE020000 */ sw $v0, ($s0) +/* 31944 80056544 8E100000 */ lw $s0, ($s0) +/* 31948 80056548 0040182D */ daddu $v1, $v0, $zero +/* 3194C 8005654C 3C01800A */ lui $at, %hi(D_800A3FE4) +/* 31950 80056550 AC233FE4 */ sw $v1, %lo(D_800A3FE4)($at) +.L80056554: +/* 31954 80056554 A6000000 */ sh $zero, ($s0) +/* 31958 80056558 A4600000 */ sh $zero, ($v1) +/* 3195C 8005655C 24630002 */ addiu $v1, $v1, 2 +/* 31960 80056560 26310001 */ addiu $s1, $s1, 1 +/* 31964 80056564 2A2202E0 */ slti $v0, $s1, 0x2e0 +/* 31968 80056568 1440FFFA */ bnez $v0, .L80056554 +/* 3196C 8005656C 26100002 */ addiu $s0, $s0, 2 +/* 31970 80056570 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31974 80056574 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31978 80056578 AC530018 */ sw $s3, 0x18($v0) +.L8005657C: +/* 3197C 8005657C 8FBF002C */ lw $ra, 0x2c($sp) +/* 31980 80056580 8FB60028 */ lw $s6, 0x28($sp) +/* 31984 80056584 8FB50024 */ lw $s5, 0x24($sp) +/* 31988 80056588 8FB40020 */ lw $s4, 0x20($sp) +/* 3198C 8005658C 8FB3001C */ lw $s3, 0x1c($sp) +/* 31990 80056590 8FB20018 */ lw $s2, 0x18($sp) +/* 31994 80056594 8FB10014 */ lw $s1, 0x14($sp) +/* 31998 80056598 8FB00010 */ lw $s0, 0x10($sp) +/* 3199C 8005659C 03E00008 */ jr $ra +/* 319A0 800565A0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31650/func_800565A4.s b/asm/nonmatchings/code_31650/func_800565A4.s new file mode 100644 index 0000000000..d831b054be --- /dev/null +++ b/asm/nonmatchings/code_31650/func_800565A4.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_800565A4 +/* 319A4 800565A4 3C038008 */ lui $v1, %hi(D_80078E50) +/* 319A8 800565A8 24638E50 */ addiu $v1, $v1, %lo(D_80078E50) +/* 319AC 800565AC 8C620000 */ lw $v0, ($v1) +/* 319B0 800565B0 54400001 */ bnel $v0, $zero, .L800565B8 +/* 319B4 800565B4 AC600000 */ sw $zero, ($v1) +.L800565B8: +/* 319B8 800565B8 03E00008 */ jr $ra +/* 319BC 800565BC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80056D34.s b/asm/nonmatchings/code_31650/func_80056D34.s new file mode 100644 index 0000000000..56fc10663e --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D34.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D34 +/* 32134 80056D34 24020001 */ addiu $v0, $zero, 1 +/* 32138 80056D38 3C018008 */ lui $at, %hi(D_80078E58) +/* 3213C 80056D3C 03E00008 */ jr $ra +/* 32140 80056D40 A0228E58 */ sb $v0, %lo(D_80078E58)($at) diff --git a/asm/nonmatchings/code_31650/func_80056D44.s b/asm/nonmatchings/code_31650/func_80056D44.s new file mode 100644 index 0000000000..c7f3137a8b --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D44.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D44 +/* 32144 80056D44 3C018008 */ lui $at, %hi(D_80078E5A) +/* 32148 80056D48 03E00008 */ jr $ra +/* 3214C 80056D4C A4248E5A */ sh $a0, %lo(D_80078E5A)($at) diff --git a/asm/nonmatchings/code_31650/func_80056D50.s b/asm/nonmatchings/code_31650/func_80056D50.s new file mode 100644 index 0000000000..35aca52663 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D50.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D50 +/* 32150 80056D50 3C028008 */ lui $v0, %hi(D_80078E5A) +/* 32154 80056D54 03E00008 */ jr $ra +/* 32158 80056D58 84428E5A */ lh $v0, %lo(D_80078E5A)($v0) diff --git a/asm/nonmatchings/code_31650/func_80056D5C.s b/asm/nonmatchings/code_31650/func_80056D5C.s new file mode 100644 index 0000000000..31f3fecee4 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D5C.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D5C +/* 3215C 80056D5C 3C028008 */ lui $v0, %hi(D_80078181) +/* 32160 80056D60 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32164 80056D64 A0440000 */ sb $a0, ($v0) +/* 32168 80056D68 24020001 */ addiu $v0, $zero, 1 +/* 3216C 80056D6C 3C018008 */ lui $at, %hi(D_80078E5C) +/* 32170 80056D70 03E00008 */ jr $ra +/* 32174 80056D74 A0228E5C */ sb $v0, %lo(D_80078E5C)($at) diff --git a/asm/nonmatchings/code_31650/func_80056D78.s b/asm/nonmatchings/code_31650/func_80056D78.s new file mode 100644 index 0000000000..f81c89cc13 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D78.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D78 +/* 32178 80056D78 308400FF */ andi $a0, $a0, 0xff +/* 3217C 80056D7C 00041040 */ sll $v0, $a0, 1 +/* 32180 80056D80 00441021 */ addu $v0, $v0, $a0 +/* 32184 80056D84 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32188 80056D88 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3218C 80056D8C 000210C0 */ sll $v0, $v0, 3 +/* 32190 80056D90 8C630020 */ lw $v1, 0x20($v1) +/* 32194 80056D94 30A57FFF */ andi $a1, $a1, 0x7fff +/* 32198 80056D98 00621821 */ addu $v1, $v1, $v0 +/* 3219C 80056D9C 03E00008 */ jr $ra +/* 321A0 80056DA0 A4650000 */ sh $a1, ($v1) diff --git a/asm/nonmatchings/code_31650/func_80056DA4.s b/asm/nonmatchings/code_31650/func_80056DA4.s new file mode 100644 index 0000000000..5929744cea --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056DA4.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056DA4 +/* 321A4 80056DA4 308400FF */ andi $a0, $a0, 0xff +/* 321A8 80056DA8 00041840 */ sll $v1, $a0, 1 +/* 321AC 80056DAC 3C028008 */ lui $v0, %hi(D_80078E54) +/* 321B0 80056DB0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 321B4 80056DB4 00641821 */ addu $v1, $v1, $a0 +/* 321B8 80056DB8 8C420020 */ lw $v0, 0x20($v0) +/* 321BC 80056DBC 000318C0 */ sll $v1, $v1, 3 +/* 321C0 80056DC0 00431021 */ addu $v0, $v0, $v1 +/* 321C4 80056DC4 03E00008 */ jr $ra +/* 321C8 80056DC8 94420000 */ lhu $v0, ($v0) diff --git a/asm/nonmatchings/code_31650/func_80056DCC.s b/asm/nonmatchings/code_31650/func_80056DCC.s new file mode 100644 index 0000000000..0b3ee24ab1 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056DCC.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056DCC +/* 321CC 80056DCC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 321D0 80056DD0 00A0302D */ daddu $a2, $a1, $zero +/* 321D4 80056DD4 308400FF */ andi $a0, $a0, 0xff +/* 321D8 80056DD8 00041040 */ sll $v0, $a0, 1 +/* 321DC 80056DDC 00441021 */ addu $v0, $v0, $a0 +/* 321E0 80056DE0 3C038008 */ lui $v1, %hi(D_80078E54) +/* 321E4 80056DE4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 321E8 80056DE8 000210C0 */ sll $v0, $v0, 3 +/* 321EC 80056DEC AFBF0018 */ sw $ra, 0x18($sp) +/* 321F0 80056DF0 AFB10014 */ sw $s1, 0x14($sp) +/* 321F4 80056DF4 AFB00010 */ sw $s0, 0x10($sp) +/* 321F8 80056DF8 8C700020 */ lw $s0, 0x20($v1) +/* 321FC 80056DFC 30D100FF */ andi $s1, $a2, 0xff +/* 32200 80056E00 02028021 */ addu $s0, $s0, $v0 +/* 32204 80056E04 8E040004 */ lw $a0, 4($s0) +/* 32208 80056E08 0220282D */ daddu $a1, $s1, $zero +/* 3220C 80056E0C 0C016413 */ jal func_8005904C +/* 32210 80056E10 A206000C */ sb $a2, 0xc($s0) +/* 32214 80056E14 8E040008 */ lw $a0, 8($s0) +/* 32218 80056E18 0C016413 */ jal func_8005904C +/* 3221C 80056E1C 0220282D */ daddu $a1, $s1, $zero +/* 32220 80056E20 8FBF0018 */ lw $ra, 0x18($sp) +/* 32224 80056E24 8FB10014 */ lw $s1, 0x14($sp) +/* 32228 80056E28 8FB00010 */ lw $s0, 0x10($sp) +/* 3222C 80056E2C 03E00008 */ jr $ra +/* 32230 80056E30 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31650/func_80056E34.s b/asm/nonmatchings/code_31650/func_80056E34.s new file mode 100644 index 0000000000..7b78aba935 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056E34.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056E34 +/* 32234 80056E34 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32238 80056E38 AFB3001C */ sw $s3, 0x1c($sp) +/* 3223C 80056E3C 00E0982D */ daddu $s3, $a3, $zero +/* 32240 80056E40 AFB20018 */ sw $s2, 0x18($sp) +/* 32244 80056E44 00059400 */ sll $s2, $a1, 0x10 +/* 32248 80056E48 00129403 */ sra $s2, $s2, 0x10 +/* 3224C 80056E4C 0240282D */ daddu $a1, $s2, $zero +/* 32250 80056E50 AFB10014 */ sw $s1, 0x14($sp) +/* 32254 80056E54 00068C00 */ sll $s1, $a2, 0x10 +/* 32258 80056E58 00118C03 */ sra $s1, $s1, 0x10 +/* 3225C 80056E5C 308400FF */ andi $a0, $a0, 0xff +/* 32260 80056E60 00041040 */ sll $v0, $a0, 1 +/* 32264 80056E64 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32268 80056E68 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3226C 80056E6C 00441021 */ addu $v0, $v0, $a0 +/* 32270 80056E70 AFBF0020 */ sw $ra, 0x20($sp) +/* 32274 80056E74 AFB00010 */ sw $s0, 0x10($sp) +/* 32278 80056E78 8C700020 */ lw $s0, 0x20($v1) +/* 3227C 80056E7C 000210C0 */ sll $v0, $v0, 3 +/* 32280 80056E80 02028021 */ addu $s0, $s0, $v0 +/* 32284 80056E84 8E040004 */ lw $a0, 4($s0) +/* 32288 80056E88 0C016628 */ jal func_800598A0 +/* 3228C 80056E8C 0220302D */ daddu $a2, $s1, $zero +/* 32290 80056E90 0240282D */ daddu $a1, $s2, $zero +/* 32294 80056E94 0220302D */ daddu $a2, $s1, $zero +/* 32298 80056E98 8E040008 */ lw $a0, 8($s0) +/* 3229C 80056E9C 0C016628 */ jal func_800598A0 +/* 322A0 80056EA0 0260382D */ daddu $a3, $s3, $zero +/* 322A4 80056EA4 8FBF0020 */ lw $ra, 0x20($sp) +/* 322A8 80056EA8 8FB3001C */ lw $s3, 0x1c($sp) +/* 322AC 80056EAC 8FB20018 */ lw $s2, 0x18($sp) +/* 322B0 80056EB0 8FB10014 */ lw $s1, 0x14($sp) +/* 322B4 80056EB4 8FB00010 */ lw $s0, 0x10($sp) +/* 322B8 80056EB8 03E00008 */ jr $ra +/* 322BC 80056EBC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31650/func_80056EC0.s b/asm/nonmatchings/code_31650/func_80056EC0.s new file mode 100644 index 0000000000..bbfc4ef0eb --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056EC0.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056EC0 +/* 322C0 80056EC0 308400FF */ andi $a0, $a0, 0xff +/* 322C4 80056EC4 00041940 */ sll $v1, $a0, 5 +/* 322C8 80056EC8 3C028008 */ lui $v0, %hi(D_80078E54) +/* 322CC 80056ECC 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 322D0 80056ED0 00641823 */ subu $v1, $v1, $a0 +/* 322D4 80056ED4 8C42001C */ lw $v0, 0x1c($v0) +/* 322D8 80056ED8 00031880 */ sll $v1, $v1, 2 +/* 322DC 80056EDC 00431021 */ addu $v0, $v0, $v1 +/* 322E0 80056EE0 03E00008 */ jr $ra +/* 322E4 80056EE4 A0450078 */ sb $a1, 0x78($v0) diff --git a/asm/nonmatchings/code_31650/func_80056EE8.s b/asm/nonmatchings/code_31650/func_80056EE8.s new file mode 100644 index 0000000000..7b281402b2 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056EE8.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056EE8 +/* 322E8 80056EE8 308400FF */ andi $a0, $a0, 0xff +/* 322EC 80056EEC 00041140 */ sll $v0, $a0, 5 +/* 322F0 80056EF0 00441023 */ subu $v0, $v0, $a0 +/* 322F4 80056EF4 3C038008 */ lui $v1, %hi(D_80078E54) +/* 322F8 80056EF8 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 322FC 80056EFC 00021080 */ sll $v0, $v0, 2 +/* 32300 80056F00 8C63001C */ lw $v1, 0x1c($v1) +/* 32304 80056F04 24050001 */ addiu $a1, $zero, 1 +/* 32308 80056F08 00621821 */ addu $v1, $v1, $v0 +/* 3230C 80056F0C 8C620018 */ lw $v0, 0x18($v1) +/* 32310 80056F10 24640004 */ addiu $a0, $v1, 4 +/* 32314 80056F14 AC600070 */ sw $zero, 0x70($v1) +/* 32318 80056F18 AC65006C */ sw $a1, 0x6c($v1) +/* 3231C 80056F1C A465004E */ sh $a1, 0x4e($v1) +/* 32320 80056F20 AC600040 */ sw $zero, 0x40($v1) +/* 32324 80056F24 AC650044 */ sw $a1, 0x44($v1) +/* 32328 80056F28 AC60002C */ sw $zero, 0x2c($v1) +/* 3232C 80056F2C AC650030 */ sw $a1, 0x30($v1) +/* 32330 80056F30 1040000F */ beqz $v0, .L80056F70 +/* 32334 80056F34 AC600028 */ sw $zero, 0x28($v1) +/* 32338 80056F38 8C820014 */ lw $v0, 0x14($a0) +/* 3233C 80056F3C 8C420000 */ lw $v0, ($v0) +/* 32340 80056F40 AC620034 */ sw $v0, 0x34($v1) +/* 32344 80056F44 8C840014 */ lw $a0, 0x14($a0) +/* 32348 80056F48 90820024 */ lbu $v0, 0x24($a0) +/* 3234C 80056F4C 10400003 */ beqz $v0, .L80056F5C +/* 32350 80056F50 00000000 */ nop +/* 32354 80056F54 14450006 */ bne $v0, $a1, .L80056F70 +/* 32358 80056F58 00000000 */ nop +.L80056F5C: +/* 3235C 80056F5C 8C820010 */ lw $v0, 0x10($a0) +/* 32360 80056F60 10400003 */ beqz $v0, .L80056F70 +/* 32364 80056F64 00000000 */ nop +/* 32368 80056F68 8C820014 */ lw $v0, 0x14($a0) +/* 3236C 80056F6C AC620014 */ sw $v0, 0x14($v1) +.L80056F70: +/* 32370 80056F70 03E00008 */ jr $ra +/* 32374 80056F74 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80056F78.s b/asm/nonmatchings/code_31650/func_80056F78.s new file mode 100644 index 0000000000..2716ed4dd7 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056F78.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056F78 +/* 32378 80056F78 308400FF */ andi $a0, $a0, 0xff +/* 3237C 80056F7C 00041140 */ sll $v0, $a0, 5 +/* 32380 80056F80 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32384 80056F84 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32388 80056F88 00441023 */ subu $v0, $v0, $a0 +/* 3238C 80056F8C 8C63001C */ lw $v1, 0x1c($v1) +/* 32390 80056F90 00021080 */ sll $v0, $v0, 2 +/* 32394 80056F94 00621821 */ addu $v1, $v1, $v0 +/* 32398 80056F98 24020001 */ addiu $v0, $zero, 1 +/* 3239C 80056F9C 03E00008 */ jr $ra +/* 323A0 80056FA0 AC620070 */ sw $v0, 0x70($v1) diff --git a/asm/nonmatchings/code_31650/func_80056FA4.s b/asm/nonmatchings/code_31650/func_80056FA4.s new file mode 100644 index 0000000000..ffa7b7d466 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056FA4.s @@ -0,0 +1,173 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056FA4 +/* 323A4 80056FA4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 323A8 80056FA8 308400FF */ andi $a0, $a0, 0xff +/* 323AC 80056FAC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 323B0 80056FB0 4487A000 */ mtc1 $a3, $f20 +/* 323B4 80056FB4 00041140 */ sll $v0, $a0, 5 +/* 323B8 80056FB8 AFB10014 */ sw $s1, 0x14($sp) +/* 323BC 80056FBC 97B10042 */ lhu $s1, 0x42($sp) +/* 323C0 80056FC0 3C038008 */ lui $v1, %hi(D_80078E54) +/* 323C4 80056FC4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 323C8 80056FC8 00441023 */ subu $v0, $v0, $a0 +/* 323CC 80056FCC AFB20018 */ sw $s2, 0x18($sp) +/* 323D0 80056FD0 93B20047 */ lbu $s2, 0x47($sp) +/* 323D4 80056FD4 00021080 */ sll $v0, $v0, 2 +/* 323D8 80056FD8 AFBF0024 */ sw $ra, 0x24($sp) +/* 323DC 80056FDC AFB40020 */ sw $s4, 0x20($sp) +/* 323E0 80056FE0 AFB3001C */ sw $s3, 0x1c($sp) +/* 323E4 80056FE4 AFB00010 */ sw $s0, 0x10($sp) +/* 323E8 80056FE8 8C63001C */ lw $v1, 0x1c($v1) +/* 323EC 80056FEC 93B3004B */ lbu $s3, 0x4b($sp) +/* 323F0 80056FF0 00623821 */ addu $a3, $v1, $v0 +/* 323F4 80056FF4 24E40004 */ addiu $a0, $a3, 4 +/* 323F8 80056FF8 A0E50078 */ sb $a1, 0x78($a3) +/* 323FC 80056FFC ACE60018 */ sw $a2, 0x18($a3) +/* 32400 80057000 8C820014 */ lw $v0, 0x14($a0) +/* 32404 80057004 8C420000 */ lw $v0, ($v0) +/* 32408 80057008 ACE00028 */ sw $zero, 0x28($a3) +/* 3240C 8005700C ACE20034 */ sw $v0, 0x34($a3) +/* 32410 80057010 8C850014 */ lw $a1, 0x14($a0) +/* 32414 80057014 24F00048 */ addiu $s0, $a3, 0x48 +/* 32418 80057018 90A30024 */ lbu $v1, 0x24($a1) +/* 3241C 8005701C 10600006 */ beqz $v1, .L80057038 +/* 32420 80057020 24F40038 */ addiu $s4, $a3, 0x38 +/* 32424 80057024 24020001 */ addiu $v0, $zero, 1 +/* 32428 80057028 10620022 */ beq $v1, $v0, .L800570B4 +/* 3242C 8005702C 00000000 */ nop +/* 32430 80057030 08015C3C */ j .L800570F0 +/* 32434 80057034 24050001 */ addiu $a1, $zero, 1 +.L80057038: +/* 32438 80057038 3C0338E3 */ lui $v1, 0x38e3 +/* 3243C 8005703C 8CA20004 */ lw $v0, 4($a1) +/* 32440 80057040 34638E39 */ ori $v1, $v1, 0x8e39 +/* 32444 80057044 00430019 */ multu $v0, $v1 +/* 32448 80057048 00004010 */ mfhi $t0 +/* 3244C 8005704C 00081842 */ srl $v1, $t0, 1 +/* 32450 80057050 000310C0 */ sll $v0, $v1, 3 +/* 32454 80057054 00431021 */ addu $v0, $v0, $v1 +/* 32458 80057058 ACA20004 */ sw $v0, 4($a1) +/* 3245C 8005705C 8C820014 */ lw $v0, 0x14($a0) +/* 32460 80057060 9442001C */ lhu $v0, 0x1c($v0) +/* 32464 80057064 ACE2001C */ sw $v0, 0x1c($a3) +/* 32468 80057068 8C830014 */ lw $v1, 0x14($a0) +/* 3246C 8005706C 8C620010 */ lw $v0, 0x10($v1) +/* 32470 80057070 5040001C */ beql $v0, $zero, .L800570E4 +/* 32474 80057074 ACE00014 */ sw $zero, 0x14($a3) +/* 32478 80057078 8C62000C */ lw $v0, 0xc($v1) +/* 3247C 8005707C ACE2000C */ sw $v0, 0xc($a3) +/* 32480 80057080 8C820014 */ lw $v0, 0x14($a0) +/* 32484 80057084 8C420010 */ lw $v0, 0x10($v0) +/* 32488 80057088 ACE20010 */ sw $v0, 0x10($a3) +/* 3248C 8005708C 8C820014 */ lw $v0, 0x14($a0) +/* 32490 80057090 8C420014 */ lw $v0, 0x14($v0) +/* 32494 80057094 ACE20014 */ sw $v0, 0x14($a3) +/* 32498 80057098 8C820014 */ lw $v0, 0x14($a0) +/* 3249C 8005709C 8CE50008 */ lw $a1, 8($a3) +/* 324A0 800570A0 8C440008 */ lw $a0, 8($v0) +/* 324A4 800570A4 0C015FF6 */ jal func_80057FD8 +/* 324A8 800570A8 24060020 */ addiu $a2, $zero, 0x20 +/* 324AC 800570AC 08015C3C */ j .L800570F0 +/* 324B0 800570B0 24050001 */ addiu $a1, $zero, 1 +.L800570B4: +/* 324B4 800570B4 8CA20010 */ lw $v0, 0x10($a1) +/* 324B8 800570B8 5040000A */ beql $v0, $zero, .L800570E4 +/* 324BC 800570BC ACE00014 */ sw $zero, 0x14($a3) +/* 324C0 800570C0 8CA2000C */ lw $v0, 0xc($a1) +/* 324C4 800570C4 ACE2000C */ sw $v0, 0xc($a3) +/* 324C8 800570C8 8C820014 */ lw $v0, 0x14($a0) +/* 324CC 800570CC 8C420010 */ lw $v0, 0x10($v0) +/* 324D0 800570D0 ACE20010 */ sw $v0, 0x10($a3) +/* 324D4 800570D4 8C820014 */ lw $v0, 0x14($a0) +/* 324D8 800570D8 8C420014 */ lw $v0, 0x14($v0) +/* 324DC 800570DC 08015C3B */ j .L800570EC +/* 324E0 800570E0 ACE20014 */ sw $v0, 0x14($a3) +.L800570E4: +/* 324E4 800570E4 ACE00010 */ sw $zero, 0x10($a3) +/* 324E8 800570E8 ACE0000C */ sw $zero, 0xc($a3) +.L800570EC: +/* 324EC 800570EC 24050001 */ addiu $a1, $zero, 1 +.L800570F0: +/* 324F0 800570F0 00111400 */ sll $v0, $s1, 0x10 +/* 324F4 800570F4 00021403 */ sra $v0, $v0, 0x10 +/* 324F8 800570F8 326300FF */ andi $v1, $s3, 0xff +/* 324FC 800570FC 00420018 */ mult $v0, $v0 +/* 32500 80057100 AE050028 */ sw $a1, 0x28($s0) +/* 32504 80057104 AE050024 */ sw $a1, 0x24($s0) +/* 32508 80057108 AE00001C */ sw $zero, 0x1c($s0) +/* 3250C 8005710C 8FA2004C */ lw $v0, 0x4c($sp) +/* 32510 80057110 2406007F */ addiu $a2, $zero, 0x7f +/* 32514 80057114 AE020020 */ sw $v0, 0x20($s0) +/* 32518 80057118 324200FF */ andi $v0, $s2, 0xff +/* 3251C 8005711C A6020004 */ sh $v0, 4($s0) +/* 32520 80057120 00004012 */ mflo $t0 +/* 32524 80057124 000813C3 */ sra $v0, $t0, 0xf +/* 32528 80057128 A6020006 */ sh $v0, 6($s0) +/* 3252C 8005712C 00A31004 */ sllv $v0, $v1, $a1 +/* 32530 80057130 00C31823 */ subu $v1, $a2, $v1 +/* 32534 80057134 3C018008 */ lui $at, %hi(D_80078E60) +/* 32538 80057138 00220821 */ addu $at, $at, $v0 +/* 3253C 8005713C 94228E60 */ lhu $v0, %lo(D_80078E60)($at) +/* 32540 80057140 00A31804 */ sllv $v1, $v1, $a1 +/* 32544 80057144 A602000C */ sh $v0, 0xc($s0) +/* 32548 80057148 3C028008 */ lui $v0, %hi(D_80078E60) +/* 3254C 8005714C 00431021 */ addu $v0, $v0, $v1 +/* 32550 80057150 94428E60 */ lhu $v0, %lo(D_80078E60)($v0) +/* 32554 80057154 A602000E */ sh $v0, 0xe($s0) +/* 32558 80057158 8E020020 */ lw $v0, 0x20($s0) +/* 3255C 8005715C 3C048008 */ lui $a0, %hi(D_80078E60) +/* 32560 80057160 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 32564 80057164 10400004 */ beqz $v0, .L80057178 +/* 32568 80057168 00000000 */ nop +/* 3256C 8005716C A6050008 */ sh $a1, 8($s0) +/* 32570 80057170 08015C7F */ j .L800571FC +/* 32574 80057174 A605000A */ sh $a1, 0xa($s0) +.L80057178: +/* 32578 80057178 3C028008 */ lui $v0, %hi(D_80078181) +/* 3257C 8005717C 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32580 80057180 90420000 */ lbu $v0, ($v0) +/* 32584 80057184 1440000A */ bnez $v0, .L800571B0 +/* 32588 80057188 00000000 */ nop +/* 3258C 8005718C 86030006 */ lh $v1, 6($s0) +/* 32590 80057190 84820080 */ lh $v0, 0x80($a0) +/* 32594 80057194 00620018 */ mult $v1, $v0 +/* 32598 80057198 00004012 */ mflo $t0 +/* 3259C 8005719C 000813C3 */ sra $v0, $t0, 0xf +/* 325A0 800571A0 A6020008 */ sh $v0, 8($s0) +/* 325A4 800571A4 84820080 */ lh $v0, 0x80($a0) +/* 325A8 800571A8 08015C7C */ j .L800571F0 +/* 325AC 800571AC 00620018 */ mult $v1, $v0 +.L800571B0: +/* 325B0 800571B0 86020004 */ lh $v0, 4($s0) +/* 325B4 800571B4 86030006 */ lh $v1, 6($s0) +/* 325B8 800571B8 00021040 */ sll $v0, $v0, 1 +/* 325BC 800571BC 00441021 */ addu $v0, $v0, $a0 +/* 325C0 800571C0 84420000 */ lh $v0, ($v0) +/* 325C4 800571C4 00620018 */ mult $v1, $v0 +/* 325C8 800571C8 86020004 */ lh $v0, 4($s0) +/* 325CC 800571CC 00C21023 */ subu $v0, $a2, $v0 +/* 325D0 800571D0 00021040 */ sll $v0, $v0, 1 +/* 325D4 800571D4 00441021 */ addu $v0, $v0, $a0 +/* 325D8 800571D8 00004012 */ mflo $t0 +/* 325DC 800571DC 00081BC3 */ sra $v1, $t0, 0xf +/* 325E0 800571E0 A6030008 */ sh $v1, 8($s0) +/* 325E4 800571E4 86030006 */ lh $v1, 6($s0) +/* 325E8 800571E8 84420000 */ lh $v0, ($v0) +/* 325EC 800571EC 00620018 */ mult $v1, $v0 +.L800571F0: +/* 325F0 800571F0 00004012 */ mflo $t0 +/* 325F4 800571F4 000813C3 */ sra $v0, $t0, 0xf +/* 325F8 800571F8 A602000A */ sh $v0, 0xa($s0) +.L800571FC: +/* 325FC 800571FC E6940004 */ swc1 $f20, 4($s4) +/* 32600 80057200 8FBF0024 */ lw $ra, 0x24($sp) +/* 32604 80057204 8FB40020 */ lw $s4, 0x20($sp) +/* 32608 80057208 8FB3001C */ lw $s3, 0x1c($sp) +/* 3260C 8005720C 8FB20018 */ lw $s2, 0x18($sp) +/* 32610 80057210 8FB10014 */ lw $s1, 0x14($sp) +/* 32614 80057214 8FB00010 */ lw $s0, 0x10($sp) +/* 32618 80057218 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 3261C 8005721C 03E00008 */ jr $ra +/* 32620 80057220 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31650/func_80057224.s b/asm/nonmatchings/code_31650/func_80057224.s new file mode 100644 index 0000000000..0ccc428d61 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057224.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057224 +/* 32624 80057224 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32628 80057228 308400FF */ andi $a0, $a0, 0xff +/* 3262C 8005722C 00041140 */ sll $v0, $a0, 5 +/* 32630 80057230 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32634 80057234 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32638 80057238 00441023 */ subu $v0, $v0, $a0 +/* 3263C 8005723C AFBF0010 */ sw $ra, 0x10($sp) +/* 32640 80057240 8C63001C */ lw $v1, 0x1c($v1) +/* 32644 80057244 00021080 */ sll $v0, $v0, 2 +/* 32648 80057248 00623021 */ addu $a2, $v1, $v0 +/* 3264C 8005724C ACC50018 */ sw $a1, 0x18($a2) +/* 32650 80057250 24C50004 */ addiu $a1, $a2, 4 +/* 32654 80057254 8CA20014 */ lw $v0, 0x14($a1) +/* 32658 80057258 8C420000 */ lw $v0, ($v0) +/* 3265C 8005725C ACC00028 */ sw $zero, 0x28($a2) +/* 32660 80057260 ACC20034 */ sw $v0, 0x34($a2) +/* 32664 80057264 8CA40014 */ lw $a0, 0x14($a1) +/* 32668 80057268 90830024 */ lbu $v1, 0x24($a0) +/* 3266C 8005726C 10600005 */ beqz $v1, .L80057284 +/* 32670 80057270 24020001 */ addiu $v0, $zero, 1 +/* 32674 80057274 10620022 */ beq $v1, $v0, .L80057300 +/* 32678 80057278 00000000 */ nop +/* 3267C 8005727C 08015CCE */ j .L80057338 +/* 32680 80057280 00000000 */ nop +.L80057284: +/* 32684 80057284 3C0338E3 */ lui $v1, 0x38e3 +/* 32688 80057288 8C820004 */ lw $v0, 4($a0) +/* 3268C 8005728C 34638E39 */ ori $v1, $v1, 0x8e39 +/* 32690 80057290 00430019 */ multu $v0, $v1 +/* 32694 80057294 00003810 */ mfhi $a3 +/* 32698 80057298 00071842 */ srl $v1, $a3, 1 +/* 3269C 8005729C 000310C0 */ sll $v0, $v1, 3 +/* 326A0 800572A0 00431021 */ addu $v0, $v0, $v1 +/* 326A4 800572A4 AC820004 */ sw $v0, 4($a0) +/* 326A8 800572A8 8CA20014 */ lw $v0, 0x14($a1) +/* 326AC 800572AC 9442001C */ lhu $v0, 0x1c($v0) +/* 326B0 800572B0 ACC2001C */ sw $v0, 0x1c($a2) +/* 326B4 800572B4 8CA30014 */ lw $v1, 0x14($a1) +/* 326B8 800572B8 8C620010 */ lw $v0, 0x10($v1) +/* 326BC 800572BC 5040001C */ beql $v0, $zero, .L80057330 +/* 326C0 800572C0 ACC00014 */ sw $zero, 0x14($a2) +/* 326C4 800572C4 8C62000C */ lw $v0, 0xc($v1) +/* 326C8 800572C8 ACC2000C */ sw $v0, 0xc($a2) +/* 326CC 800572CC 8CA20014 */ lw $v0, 0x14($a1) +/* 326D0 800572D0 8C420010 */ lw $v0, 0x10($v0) +/* 326D4 800572D4 ACC20010 */ sw $v0, 0x10($a2) +/* 326D8 800572D8 8CA20014 */ lw $v0, 0x14($a1) +/* 326DC 800572DC 8C420014 */ lw $v0, 0x14($v0) +/* 326E0 800572E0 ACC20014 */ sw $v0, 0x14($a2) +/* 326E4 800572E4 8CA20014 */ lw $v0, 0x14($a1) +/* 326E8 800572E8 8CC50008 */ lw $a1, 8($a2) +/* 326EC 800572EC 8C440008 */ lw $a0, 8($v0) +/* 326F0 800572F0 0C015FF6 */ jal func_80057FD8 +/* 326F4 800572F4 24060020 */ addiu $a2, $zero, 0x20 +/* 326F8 800572F8 08015CCE */ j .L80057338 +/* 326FC 800572FC 00000000 */ nop +.L80057300: +/* 32700 80057300 8C820010 */ lw $v0, 0x10($a0) +/* 32704 80057304 5040000A */ beql $v0, $zero, .L80057330 +/* 32708 80057308 ACC00014 */ sw $zero, 0x14($a2) +/* 3270C 8005730C 8C82000C */ lw $v0, 0xc($a0) +/* 32710 80057310 ACC2000C */ sw $v0, 0xc($a2) +/* 32714 80057314 8CA20014 */ lw $v0, 0x14($a1) +/* 32718 80057318 8C420010 */ lw $v0, 0x10($v0) +/* 3271C 8005731C ACC20010 */ sw $v0, 0x10($a2) +/* 32720 80057320 8CA20014 */ lw $v0, 0x14($a1) +/* 32724 80057324 8C420014 */ lw $v0, 0x14($v0) +/* 32728 80057328 08015CCE */ j .L80057338 +/* 3272C 8005732C ACC20014 */ sw $v0, 0x14($a2) +.L80057330: +/* 32730 80057330 ACC00010 */ sw $zero, 0x10($a2) +/* 32734 80057334 ACC0000C */ sw $zero, 0xc($a2) +.L80057338: +/* 32738 80057338 8FBF0010 */ lw $ra, 0x10($sp) +/* 3273C 8005733C 03E00008 */ jr $ra +/* 32740 80057340 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31650/func_80057344.s b/asm/nonmatchings/code_31650/func_80057344.s new file mode 100644 index 0000000000..107e6ba4ca --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057344.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057344 +/* 32744 80057344 308400FF */ andi $a0, $a0, 0xff +/* 32748 80057348 00041940 */ sll $v1, $a0, 5 +/* 3274C 8005734C 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32750 80057350 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32754 80057354 00641823 */ subu $v1, $v1, $a0 +/* 32758 80057358 8C42001C */ lw $v0, 0x1c($v0) +/* 3275C 8005735C 00031880 */ sll $v1, $v1, 2 +/* 32760 80057360 00431021 */ addu $v0, $v0, $v1 +/* 32764 80057364 03E00008 */ jr $ra +/* 32768 80057368 AC45003C */ sw $a1, 0x3c($v0) diff --git a/asm/nonmatchings/code_31650/func_8005736C.s b/asm/nonmatchings/code_31650/func_8005736C.s new file mode 100644 index 0000000000..d153088e98 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_8005736C.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8005736C +/* 3276C 8005736C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 32770 80057370 AFB50024 */ sw $s5, 0x24($sp) +/* 32774 80057374 00C0A82D */ daddu $s5, $a2, $zero +/* 32778 80057378 AFB3001C */ sw $s3, 0x1c($sp) +/* 3277C 8005737C 00A0982D */ daddu $s3, $a1, $zero +/* 32780 80057380 AFB40020 */ sw $s4, 0x20($sp) +/* 32784 80057384 00E0A02D */ daddu $s4, $a3, $zero +/* 32788 80057388 308400FF */ andi $a0, $a0, 0xff +/* 3278C 8005738C 00041140 */ sll $v0, $a0, 5 +/* 32790 80057390 00441023 */ subu $v0, $v0, $a0 +/* 32794 80057394 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32798 80057398 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3279C 8005739C 00021080 */ sll $v0, $v0, 2 +/* 327A0 800573A0 AFBF0028 */ sw $ra, 0x28($sp) +/* 327A4 800573A4 AFB20018 */ sw $s2, 0x18($sp) +/* 327A8 800573A8 AFB10014 */ sw $s1, 0x14($sp) +/* 327AC 800573AC AFB00010 */ sw $s0, 0x10($sp) +/* 327B0 800573B0 8C63001C */ lw $v1, 0x1c($v1) +/* 327B4 800573B4 93B20043 */ lbu $s2, 0x43($sp) +/* 327B8 800573B8 00628021 */ addu $s0, $v1, $v0 +/* 327BC 800573BC 8E050064 */ lw $a1, 0x64($s0) +/* 327C0 800573C0 8E030068 */ lw $v1, 0x68($s0) +/* 327C4 800573C4 00A3102A */ slt $v0, $a1, $v1 +/* 327C8 800573C8 14400029 */ bnez $v0, .L80057470 +/* 327CC 800573CC 26110048 */ addiu $s1, $s0, 0x48 +/* 327D0 800573D0 3C028008 */ lui $v0, %hi(D_80078181) +/* 327D4 800573D4 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 327D8 800573D8 90420000 */ lbu $v0, ($v0) +/* 327DC 800573DC 1440000E */ bnez $v0, .L80057418 +/* 327E0 800573E0 AE030064 */ sw $v1, 0x64($s0) +/* 327E4 800573E4 3C048008 */ lui $a0, %hi(D_80078E60) +/* 327E8 800573E8 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 327EC 800573EC 8603004E */ lh $v1, 0x4e($s0) +/* 327F0 800573F0 84820080 */ lh $v0, 0x80($a0) +/* 327F4 800573F4 00620018 */ mult $v1, $v0 +/* 327F8 800573F8 00004012 */ mflo $t0 +/* 327FC 800573FC 000813C3 */ sra $v0, $t0, 0xf +/* 32800 80057400 A6020050 */ sh $v0, 0x50($s0) +/* 32804 80057404 84820080 */ lh $v0, 0x80($a0) +/* 32808 80057408 00620018 */ mult $v1, $v0 +/* 3280C 8005740C 00004012 */ mflo $t0 +/* 32810 80057410 08015D26 */ j .L80057498 +/* 32814 80057414 000813C3 */ sra $v0, $t0, 0xf +.L80057418: +/* 32818 80057418 8602004C */ lh $v0, 0x4c($s0) +/* 3281C 8005741C 8603004E */ lh $v1, 0x4e($s0) +/* 32820 80057420 00021040 */ sll $v0, $v0, 1 +/* 32824 80057424 3C018008 */ lui $at, %hi(D_80078E60) +/* 32828 80057428 00220821 */ addu $at, $at, $v0 +/* 3282C 8005742C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32830 80057430 00620018 */ mult $v1, $v0 +/* 32834 80057434 8603004C */ lh $v1, 0x4c($s0) +/* 32838 80057438 00004012 */ mflo $t0 +/* 3283C 8005743C 000813C3 */ sra $v0, $t0, 0xf +/* 32840 80057440 A6020050 */ sh $v0, 0x50($s0) +/* 32844 80057444 2402007F */ addiu $v0, $zero, 0x7f +/* 32848 80057448 00431023 */ subu $v0, $v0, $v1 +/* 3284C 8005744C 00021040 */ sll $v0, $v0, 1 +/* 32850 80057450 8603004E */ lh $v1, 0x4e($s0) +/* 32854 80057454 3C018008 */ lui $at, %hi(D_80078E60) +/* 32858 80057458 00220821 */ addu $at, $at, $v0 +/* 3285C 8005745C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32860 80057460 00620018 */ mult $v1, $v0 +/* 32864 80057464 00004012 */ mflo $t0 +/* 32868 80057468 08015D26 */ j .L80057498 +/* 3286C 8005746C 000813C3 */ sra $v0, $t0, 0xf +.L80057470: +/* 32870 80057470 86040050 */ lh $a0, 0x50($s0) +/* 32874 80057474 8606005A */ lh $a2, 0x5a($s0) +/* 32878 80057478 0C016001 */ jal func_80058004 +/* 3287C 8005747C 96070058 */ lhu $a3, 0x58($s0) +/* 32880 80057480 86040052 */ lh $a0, 0x52($s0) +/* 32884 80057484 8E050064 */ lw $a1, 0x64($s0) +/* 32888 80057488 86060060 */ lh $a2, 0x60($s0) +/* 3288C 8005748C 9607005E */ lhu $a3, 0x5e($s0) +/* 32890 80057490 0C016001 */ jal func_80058004 +/* 32894 80057494 A6020050 */ sh $v0, 0x50($s0) +.L80057498: +/* 32898 80057498 A6020052 */ sh $v0, 0x52($s0) +/* 3289C 8005749C 86220008 */ lh $v0, 8($s1) +/* 328A0 800574A0 14400002 */ bnez $v0, .L800574AC +/* 328A4 800574A4 24020001 */ addiu $v0, $zero, 1 +/* 328A8 800574A8 A6220008 */ sh $v0, 8($s1) +.L800574AC: +/* 328AC 800574AC 8622000A */ lh $v0, 0xa($s1) +/* 328B0 800574B0 14400004 */ bnez $v0, .L800574C4 +/* 328B4 800574B4 00131400 */ sll $v0, $s3, 0x10 +/* 328B8 800574B8 24020001 */ addiu $v0, $zero, 1 +/* 328BC 800574BC A622000A */ sh $v0, 0xa($s1) +/* 328C0 800574C0 00131400 */ sll $v0, $s3, 0x10 +.L800574C4: +/* 328C4 800574C4 00021403 */ sra $v0, $v0, 0x10 +/* 328C8 800574C8 00420018 */ mult $v0, $v0 +/* 328CC 800574CC 328200FF */ andi $v0, $s4, 0xff +/* 328D0 800574D0 324300FF */ andi $v1, $s2, 0xff +/* 328D4 800574D4 AE20001C */ sw $zero, 0x1c($s1) +/* 328D8 800574D8 AE350020 */ sw $s5, 0x20($s1) +/* 328DC 800574DC A6220004 */ sh $v0, 4($s1) +/* 328E0 800574E0 00004012 */ mflo $t0 +/* 328E4 800574E4 000813C3 */ sra $v0, $t0, 0xf +/* 328E8 800574E8 A6220006 */ sh $v0, 6($s1) +/* 328EC 800574EC 00031040 */ sll $v0, $v1, 1 +/* 328F0 800574F0 3C018008 */ lui $at, %hi(D_80078E60) +/* 328F4 800574F4 00220821 */ addu $at, $at, $v0 +/* 328F8 800574F8 94228E60 */ lhu $v0, %lo(D_80078E60)($at) +/* 328FC 800574FC A622000C */ sh $v0, 0xc($s1) +/* 32900 80057500 2402007F */ addiu $v0, $zero, 0x7f +/* 32904 80057504 00431023 */ subu $v0, $v0, $v1 +/* 32908 80057508 00021040 */ sll $v0, $v0, 1 +/* 3290C 8005750C 3C038008 */ lui $v1, %hi(D_80078E60) +/* 32910 80057510 00621821 */ addu $v1, $v1, $v0 +/* 32914 80057514 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) +/* 32918 80057518 24020001 */ addiu $v0, $zero, 1 +/* 3291C 8005751C AE220024 */ sw $v0, 0x24($s1) +/* 32920 80057520 A623000E */ sh $v1, 0xe($s1) +/* 32924 80057524 8FBF0028 */ lw $ra, 0x28($sp) +/* 32928 80057528 8FB50024 */ lw $s5, 0x24($sp) +/* 3292C 8005752C 8FB40020 */ lw $s4, 0x20($sp) +/* 32930 80057530 8FB3001C */ lw $s3, 0x1c($sp) +/* 32934 80057534 8FB20018 */ lw $s2, 0x18($sp) +/* 32938 80057538 8FB10014 */ lw $s1, 0x14($sp) +/* 3293C 8005753C 8FB00010 */ lw $s0, 0x10($sp) +/* 32940 80057540 03E00008 */ jr $ra +/* 32944 80057544 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31650/func_80057548.s b/asm/nonmatchings/code_31650/func_80057548.s new file mode 100644 index 0000000000..0349d24b40 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057548.s @@ -0,0 +1,114 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057548 +/* 32948 80057548 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3294C 8005754C AFB20018 */ sw $s2, 0x18($sp) +/* 32950 80057550 00A0902D */ daddu $s2, $a1, $zero +/* 32954 80057554 AFB3001C */ sw $s3, 0x1c($sp) +/* 32958 80057558 00C0982D */ daddu $s3, $a2, $zero +/* 3295C 8005755C 308400FF */ andi $a0, $a0, 0xff +/* 32960 80057560 00041140 */ sll $v0, $a0, 5 +/* 32964 80057564 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32968 80057568 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3296C 8005756C 00441023 */ subu $v0, $v0, $a0 +/* 32970 80057570 AFBF0020 */ sw $ra, 0x20($sp) +/* 32974 80057574 AFB10014 */ sw $s1, 0x14($sp) +/* 32978 80057578 AFB00010 */ sw $s0, 0x10($sp) +/* 3297C 8005757C 8C63001C */ lw $v1, 0x1c($v1) +/* 32980 80057580 00021080 */ sll $v0, $v0, 2 +/* 32984 80057584 00628021 */ addu $s0, $v1, $v0 +/* 32988 80057588 8E050064 */ lw $a1, 0x64($s0) +/* 3298C 8005758C 8E030068 */ lw $v1, 0x68($s0) +/* 32990 80057590 00A3102A */ slt $v0, $a1, $v1 +/* 32994 80057594 14400029 */ bnez $v0, .L8005763C +/* 32998 80057598 26110048 */ addiu $s1, $s0, 0x48 +/* 3299C 8005759C 3C028008 */ lui $v0, %hi(D_80078181) +/* 329A0 800575A0 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 329A4 800575A4 90420000 */ lbu $v0, ($v0) +/* 329A8 800575A8 1440000E */ bnez $v0, .L800575E4 +/* 329AC 800575AC AE030064 */ sw $v1, 0x64($s0) +/* 329B0 800575B0 3C048008 */ lui $a0, %hi(D_80078E60) +/* 329B4 800575B4 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 329B8 800575B8 8603004E */ lh $v1, 0x4e($s0) +/* 329BC 800575BC 84820080 */ lh $v0, 0x80($a0) +/* 329C0 800575C0 00620018 */ mult $v1, $v0 +/* 329C4 800575C4 00004012 */ mflo $t0 +/* 329C8 800575C8 000813C3 */ sra $v0, $t0, 0xf +/* 329CC 800575CC A6020050 */ sh $v0, 0x50($s0) +/* 329D0 800575D0 84820080 */ lh $v0, 0x80($a0) +/* 329D4 800575D4 00620018 */ mult $v1, $v0 +/* 329D8 800575D8 00004012 */ mflo $t0 +/* 329DC 800575DC 08015D99 */ j .L80057664 +/* 329E0 800575E0 000813C3 */ sra $v0, $t0, 0xf +.L800575E4: +/* 329E4 800575E4 8602004C */ lh $v0, 0x4c($s0) +/* 329E8 800575E8 8603004E */ lh $v1, 0x4e($s0) +/* 329EC 800575EC 00021040 */ sll $v0, $v0, 1 +/* 329F0 800575F0 3C018008 */ lui $at, %hi(D_80078E60) +/* 329F4 800575F4 00220821 */ addu $at, $at, $v0 +/* 329F8 800575F8 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 329FC 800575FC 00620018 */ mult $v1, $v0 +/* 32A00 80057600 8603004C */ lh $v1, 0x4c($s0) +/* 32A04 80057604 00004012 */ mflo $t0 +/* 32A08 80057608 000813C3 */ sra $v0, $t0, 0xf +/* 32A0C 8005760C A6020050 */ sh $v0, 0x50($s0) +/* 32A10 80057610 2402007F */ addiu $v0, $zero, 0x7f +/* 32A14 80057614 00431023 */ subu $v0, $v0, $v1 +/* 32A18 80057618 00021040 */ sll $v0, $v0, 1 +/* 32A1C 8005761C 8603004E */ lh $v1, 0x4e($s0) +/* 32A20 80057620 3C018008 */ lui $at, %hi(D_80078E60) +/* 32A24 80057624 00220821 */ addu $at, $at, $v0 +/* 32A28 80057628 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32A2C 8005762C 00620018 */ mult $v1, $v0 +/* 32A30 80057630 00004012 */ mflo $t0 +/* 32A34 80057634 08015D99 */ j .L80057664 +/* 32A38 80057638 000813C3 */ sra $v0, $t0, 0xf +.L8005763C: +/* 32A3C 8005763C 86040050 */ lh $a0, 0x50($s0) +/* 32A40 80057640 8606005A */ lh $a2, 0x5a($s0) +/* 32A44 80057644 0C016001 */ jal func_80058004 +/* 32A48 80057648 96070058 */ lhu $a3, 0x58($s0) +/* 32A4C 8005764C 86040052 */ lh $a0, 0x52($s0) +/* 32A50 80057650 8E050064 */ lw $a1, 0x64($s0) +/* 32A54 80057654 86060060 */ lh $a2, 0x60($s0) +/* 32A58 80057658 9607005E */ lhu $a3, 0x5e($s0) +/* 32A5C 8005765C 0C016001 */ jal func_80058004 +/* 32A60 80057660 A6020050 */ sh $v0, 0x50($s0) +.L80057664: +/* 32A64 80057664 A6020052 */ sh $v0, 0x52($s0) +/* 32A68 80057668 86220008 */ lh $v0, 8($s1) +/* 32A6C 8005766C 14400002 */ bnez $v0, .L80057678 +/* 32A70 80057670 24020001 */ addiu $v0, $zero, 1 +/* 32A74 80057674 A6220008 */ sh $v0, 8($s1) +.L80057678: +/* 32A78 80057678 8622000A */ lh $v0, 0xa($s1) +/* 32A7C 8005767C 14400004 */ bnez $v0, .L80057690 +/* 32A80 80057680 324200FF */ andi $v0, $s2, 0xff +/* 32A84 80057684 24020001 */ addiu $v0, $zero, 1 +/* 32A88 80057688 A622000A */ sh $v0, 0xa($s1) +/* 32A8C 8005768C 324200FF */ andi $v0, $s2, 0xff +.L80057690: +/* 32A90 80057690 326300FF */ andi $v1, $s3, 0xff +/* 32A94 80057694 A6220004 */ sh $v0, 4($s1) +/* 32A98 80057698 00031040 */ sll $v0, $v1, 1 +/* 32A9C 8005769C 3C018008 */ lui $at, %hi(D_80078E60) +/* 32AA0 800576A0 00220821 */ addu $at, $at, $v0 +/* 32AA4 800576A4 94228E60 */ lhu $v0, %lo(D_80078E60)($at) +/* 32AA8 800576A8 A622000C */ sh $v0, 0xc($s1) +/* 32AAC 800576AC 2402007F */ addiu $v0, $zero, 0x7f +/* 32AB0 800576B0 00431023 */ subu $v0, $v0, $v1 +/* 32AB4 800576B4 00021040 */ sll $v0, $v0, 1 +/* 32AB8 800576B8 3C038008 */ lui $v1, %hi(D_80078E60) +/* 32ABC 800576BC 00621821 */ addu $v1, $v1, $v0 +/* 32AC0 800576C0 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) +/* 32AC4 800576C4 24020001 */ addiu $v0, $zero, 1 +/* 32AC8 800576C8 AE220024 */ sw $v0, 0x24($s1) +/* 32ACC 800576CC A623000E */ sh $v1, 0xe($s1) +/* 32AD0 800576D0 8FBF0020 */ lw $ra, 0x20($sp) +/* 32AD4 800576D4 8FB3001C */ lw $s3, 0x1c($sp) +/* 32AD8 800576D8 8FB20018 */ lw $s2, 0x18($sp) +/* 32ADC 800576DC 8FB10014 */ lw $s1, 0x14($sp) +/* 32AE0 800576E0 8FB00010 */ lw $s0, 0x10($sp) +/* 32AE4 800576E4 03E00008 */ jr $ra +/* 32AE8 800576E8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31650/func_800576EC.s b/asm/nonmatchings/code_31650/func_800576EC.s new file mode 100644 index 0000000000..79ebca8337 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_800576EC.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_800576EC +/* 32AEC 800576EC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32AF0 800576F0 AFB3001C */ sw $s3, 0x1c($sp) +/* 32AF4 800576F4 00C0982D */ daddu $s3, $a2, $zero +/* 32AF8 800576F8 AFB20018 */ sw $s2, 0x18($sp) +/* 32AFC 800576FC 00A0902D */ daddu $s2, $a1, $zero +/* 32B00 80057700 308400FF */ andi $a0, $a0, 0xff +/* 32B04 80057704 00041140 */ sll $v0, $a0, 5 +/* 32B08 80057708 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32B0C 8005770C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32B10 80057710 00441023 */ subu $v0, $v0, $a0 +/* 32B14 80057714 AFBF0020 */ sw $ra, 0x20($sp) +/* 32B18 80057718 AFB10014 */ sw $s1, 0x14($sp) +/* 32B1C 8005771C AFB00010 */ sw $s0, 0x10($sp) +/* 32B20 80057720 8C63001C */ lw $v1, 0x1c($v1) +/* 32B24 80057724 00021080 */ sll $v0, $v0, 2 +/* 32B28 80057728 00628021 */ addu $s0, $v1, $v0 +/* 32B2C 8005772C 8E050064 */ lw $a1, 0x64($s0) +/* 32B30 80057730 8E030068 */ lw $v1, 0x68($s0) +/* 32B34 80057734 00A3102A */ slt $v0, $a1, $v1 +/* 32B38 80057738 14400029 */ bnez $v0, .L800577E0 +/* 32B3C 8005773C 26110048 */ addiu $s1, $s0, 0x48 +/* 32B40 80057740 3C028008 */ lui $v0, %hi(D_80078181) +/* 32B44 80057744 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32B48 80057748 90420000 */ lbu $v0, ($v0) +/* 32B4C 8005774C 1440000E */ bnez $v0, .L80057788 +/* 32B50 80057750 AE030064 */ sw $v1, 0x64($s0) +/* 32B54 80057754 3C048008 */ lui $a0, %hi(D_80078E60) +/* 32B58 80057758 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 32B5C 8005775C 8603004E */ lh $v1, 0x4e($s0) +/* 32B60 80057760 84820080 */ lh $v0, 0x80($a0) +/* 32B64 80057764 00620018 */ mult $v1, $v0 +/* 32B68 80057768 00004012 */ mflo $t0 +/* 32B6C 8005776C 000813C3 */ sra $v0, $t0, 0xf +/* 32B70 80057770 A6020050 */ sh $v0, 0x50($s0) +/* 32B74 80057774 84820080 */ lh $v0, 0x80($a0) +/* 32B78 80057778 00620018 */ mult $v1, $v0 +/* 32B7C 8005777C 00004012 */ mflo $t0 +/* 32B80 80057780 08015E02 */ j .L80057808 +/* 32B84 80057784 000813C3 */ sra $v0, $t0, 0xf +.L80057788: +/* 32B88 80057788 8602004C */ lh $v0, 0x4c($s0) +/* 32B8C 8005778C 8603004E */ lh $v1, 0x4e($s0) +/* 32B90 80057790 00021040 */ sll $v0, $v0, 1 +/* 32B94 80057794 3C018008 */ lui $at, %hi(D_80078E60) +/* 32B98 80057798 00220821 */ addu $at, $at, $v0 +/* 32B9C 8005779C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32BA0 800577A0 00620018 */ mult $v1, $v0 +/* 32BA4 800577A4 8603004C */ lh $v1, 0x4c($s0) +/* 32BA8 800577A8 00004012 */ mflo $t0 +/* 32BAC 800577AC 000813C3 */ sra $v0, $t0, 0xf +/* 32BB0 800577B0 A6020050 */ sh $v0, 0x50($s0) +/* 32BB4 800577B4 2402007F */ addiu $v0, $zero, 0x7f +/* 32BB8 800577B8 00431023 */ subu $v0, $v0, $v1 +/* 32BBC 800577BC 00021040 */ sll $v0, $v0, 1 +/* 32BC0 800577C0 8603004E */ lh $v1, 0x4e($s0) +/* 32BC4 800577C4 3C018008 */ lui $at, %hi(D_80078E60) +/* 32BC8 800577C8 00220821 */ addu $at, $at, $v0 +/* 32BCC 800577CC 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32BD0 800577D0 00620018 */ mult $v1, $v0 +/* 32BD4 800577D4 00004012 */ mflo $t0 +/* 32BD8 800577D8 08015E02 */ j .L80057808 +/* 32BDC 800577DC 000813C3 */ sra $v0, $t0, 0xf +.L800577E0: +/* 32BE0 800577E0 86040050 */ lh $a0, 0x50($s0) +/* 32BE4 800577E4 8606005A */ lh $a2, 0x5a($s0) +/* 32BE8 800577E8 0C016001 */ jal func_80058004 +/* 32BEC 800577EC 96070058 */ lhu $a3, 0x58($s0) +/* 32BF0 800577F0 86040052 */ lh $a0, 0x52($s0) +/* 32BF4 800577F4 8E050064 */ lw $a1, 0x64($s0) +/* 32BF8 800577F8 86060060 */ lh $a2, 0x60($s0) +/* 32BFC 800577FC 9607005E */ lhu $a3, 0x5e($s0) +/* 32C00 80057800 0C016001 */ jal func_80058004 +/* 32C04 80057804 A6020050 */ sh $v0, 0x50($s0) +.L80057808: +/* 32C08 80057808 A6020052 */ sh $v0, 0x52($s0) +/* 32C0C 8005780C 86220008 */ lh $v0, 8($s1) +/* 32C10 80057810 14400002 */ bnez $v0, .L8005781C +/* 32C14 80057814 24020001 */ addiu $v0, $zero, 1 +/* 32C18 80057818 A6220008 */ sh $v0, 8($s1) +.L8005781C: +/* 32C1C 8005781C 8622000A */ lh $v0, 0xa($s1) +/* 32C20 80057820 14400004 */ bnez $v0, .L80057834 +/* 32C24 80057824 00121400 */ sll $v0, $s2, 0x10 +/* 32C28 80057828 24020001 */ addiu $v0, $zero, 1 +/* 32C2C 8005782C A622000A */ sh $v0, 0xa($s1) +/* 32C30 80057830 00121400 */ sll $v0, $s2, 0x10 +.L80057834: +/* 32C34 80057834 00021403 */ sra $v0, $v0, 0x10 +/* 32C38 80057838 00420018 */ mult $v0, $v0 +/* 32C3C 8005783C 24020001 */ addiu $v0, $zero, 1 +/* 32C40 80057840 AE20001C */ sw $zero, 0x1c($s1) +/* 32C44 80057844 AE330020 */ sw $s3, 0x20($s1) +/* 32C48 80057848 AE220024 */ sw $v0, 0x24($s1) +/* 32C4C 8005784C 00004012 */ mflo $t0 +/* 32C50 80057850 000813C3 */ sra $v0, $t0, 0xf +/* 32C54 80057854 A6220006 */ sh $v0, 6($s1) +/* 32C58 80057858 8FBF0020 */ lw $ra, 0x20($sp) +/* 32C5C 8005785C 8FB3001C */ lw $s3, 0x1c($sp) +/* 32C60 80057860 8FB20018 */ lw $s2, 0x18($sp) +/* 32C64 80057864 8FB10014 */ lw $s1, 0x14($sp) +/* 32C68 80057868 8FB00010 */ lw $s0, 0x10($sp) +/* 32C6C 8005786C 03E00008 */ jr $ra +/* 32C70 80057870 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31650/func_80057874.s b/asm/nonmatchings/code_31650/func_80057874.s new file mode 100644 index 0000000000..9ec4fff3f8 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057874.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057874 +/* 32C74 80057874 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 32C78 80057878 AFB20018 */ sw $s2, 0x18($sp) +/* 32C7C 8005787C 00A0902D */ daddu $s2, $a1, $zero +/* 32C80 80057880 308400FF */ andi $a0, $a0, 0xff +/* 32C84 80057884 00041140 */ sll $v0, $a0, 5 +/* 32C88 80057888 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32C8C 8005788C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32C90 80057890 00441023 */ subu $v0, $v0, $a0 +/* 32C94 80057894 AFBF001C */ sw $ra, 0x1c($sp) +/* 32C98 80057898 AFB10014 */ sw $s1, 0x14($sp) +/* 32C9C 8005789C AFB00010 */ sw $s0, 0x10($sp) +/* 32CA0 800578A0 8C63001C */ lw $v1, 0x1c($v1) +/* 32CA4 800578A4 00021080 */ sll $v0, $v0, 2 +/* 32CA8 800578A8 00628021 */ addu $s0, $v1, $v0 +/* 32CAC 800578AC 8E050064 */ lw $a1, 0x64($s0) +/* 32CB0 800578B0 8E030068 */ lw $v1, 0x68($s0) +/* 32CB4 800578B4 00A3102A */ slt $v0, $a1, $v1 +/* 32CB8 800578B8 14400029 */ bnez $v0, .L80057960 +/* 32CBC 800578BC 26110048 */ addiu $s1, $s0, 0x48 +/* 32CC0 800578C0 3C028008 */ lui $v0, %hi(D_80078181) +/* 32CC4 800578C4 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32CC8 800578C8 90420000 */ lbu $v0, ($v0) +/* 32CCC 800578CC 1440000E */ bnez $v0, .L80057908 +/* 32CD0 800578D0 AE030064 */ sw $v1, 0x64($s0) +/* 32CD4 800578D4 3C048008 */ lui $a0, %hi(D_80078E60) +/* 32CD8 800578D8 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 32CDC 800578DC 8603004E */ lh $v1, 0x4e($s0) +/* 32CE0 800578E0 84820080 */ lh $v0, 0x80($a0) +/* 32CE4 800578E4 00620018 */ mult $v1, $v0 +/* 32CE8 800578E8 00004012 */ mflo $t0 +/* 32CEC 800578EC 000813C3 */ sra $v0, $t0, 0xf +/* 32CF0 800578F0 A6020050 */ sh $v0, 0x50($s0) +/* 32CF4 800578F4 84820080 */ lh $v0, 0x80($a0) +/* 32CF8 800578F8 00620018 */ mult $v1, $v0 +/* 32CFC 800578FC 00004012 */ mflo $t0 +/* 32D00 80057900 08015E62 */ j .L80057988 +/* 32D04 80057904 000813C3 */ sra $v0, $t0, 0xf +.L80057908: +/* 32D08 80057908 8602004C */ lh $v0, 0x4c($s0) +/* 32D0C 8005790C 8603004E */ lh $v1, 0x4e($s0) +/* 32D10 80057910 00021040 */ sll $v0, $v0, 1 +/* 32D14 80057914 3C018008 */ lui $at, %hi(D_80078E60) +/* 32D18 80057918 00220821 */ addu $at, $at, $v0 +/* 32D1C 8005791C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32D20 80057920 00620018 */ mult $v1, $v0 +/* 32D24 80057924 8603004C */ lh $v1, 0x4c($s0) +/* 32D28 80057928 00004012 */ mflo $t0 +/* 32D2C 8005792C 000813C3 */ sra $v0, $t0, 0xf +/* 32D30 80057930 A6020050 */ sh $v0, 0x50($s0) +/* 32D34 80057934 2402007F */ addiu $v0, $zero, 0x7f +/* 32D38 80057938 00431023 */ subu $v0, $v0, $v1 +/* 32D3C 8005793C 00021040 */ sll $v0, $v0, 1 +/* 32D40 80057940 8603004E */ lh $v1, 0x4e($s0) +/* 32D44 80057944 3C018008 */ lui $at, %hi(D_80078E60) +/* 32D48 80057948 00220821 */ addu $at, $at, $v0 +/* 32D4C 8005794C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32D50 80057950 00620018 */ mult $v1, $v0 +/* 32D54 80057954 00004012 */ mflo $t0 +/* 32D58 80057958 08015E62 */ j .L80057988 +/* 32D5C 8005795C 000813C3 */ sra $v0, $t0, 0xf +.L80057960: +/* 32D60 80057960 86040050 */ lh $a0, 0x50($s0) +/* 32D64 80057964 8606005A */ lh $a2, 0x5a($s0) +/* 32D68 80057968 0C016001 */ jal func_80058004 +/* 32D6C 8005796C 96070058 */ lhu $a3, 0x58($s0) +/* 32D70 80057970 86040052 */ lh $a0, 0x52($s0) +/* 32D74 80057974 8E050064 */ lw $a1, 0x64($s0) +/* 32D78 80057978 86060060 */ lh $a2, 0x60($s0) +/* 32D7C 8005797C 9607005E */ lhu $a3, 0x5e($s0) +/* 32D80 80057980 0C016001 */ jal func_80058004 +/* 32D84 80057984 A6020050 */ sh $v0, 0x50($s0) +.L80057988: +/* 32D88 80057988 A6020052 */ sh $v0, 0x52($s0) +/* 32D8C 8005798C 86220008 */ lh $v0, 8($s1) +/* 32D90 80057990 14400002 */ bnez $v0, .L8005799C +/* 32D94 80057994 24020001 */ addiu $v0, $zero, 1 +/* 32D98 80057998 A6220008 */ sh $v0, 8($s1) +.L8005799C: +/* 32D9C 8005799C 8622000A */ lh $v0, 0xa($s1) +/* 32DA0 800579A0 14400004 */ bnez $v0, .L800579B4 +/* 32DA4 800579A4 324200FF */ andi $v0, $s2, 0xff +/* 32DA8 800579A8 24020001 */ addiu $v0, $zero, 1 +/* 32DAC 800579AC A622000A */ sh $v0, 0xa($s1) +/* 32DB0 800579B0 324200FF */ andi $v0, $s2, 0xff +.L800579B4: +/* 32DB4 800579B4 A6220004 */ sh $v0, 4($s1) +/* 32DB8 800579B8 24020001 */ addiu $v0, $zero, 1 +/* 32DBC 800579BC AE220024 */ sw $v0, 0x24($s1) +/* 32DC0 800579C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 32DC4 800579C4 8FB20018 */ lw $s2, 0x18($sp) +/* 32DC8 800579C8 8FB10014 */ lw $s1, 0x14($sp) +/* 32DCC 800579CC 8FB00010 */ lw $s0, 0x10($sp) +/* 32DD0 800579D0 03E00008 */ jr $ra +/* 32DD4 800579D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31650/func_800579D8.s b/asm/nonmatchings/code_31650/func_800579D8.s new file mode 100644 index 0000000000..e97a4c0a7a --- /dev/null +++ b/asm/nonmatchings/code_31650/func_800579D8.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_800579D8 +/* 32DD8 800579D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 32DDC 800579DC AFB20018 */ sw $s2, 0x18($sp) +/* 32DE0 800579E0 00A0902D */ daddu $s2, $a1, $zero +/* 32DE4 800579E4 308400FF */ andi $a0, $a0, 0xff +/* 32DE8 800579E8 00041140 */ sll $v0, $a0, 5 +/* 32DEC 800579EC 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32DF0 800579F0 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32DF4 800579F4 00441023 */ subu $v0, $v0, $a0 +/* 32DF8 800579F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 32DFC 800579FC AFB10014 */ sw $s1, 0x14($sp) +/* 32E00 80057A00 AFB00010 */ sw $s0, 0x10($sp) +/* 32E04 80057A04 8C63001C */ lw $v1, 0x1c($v1) +/* 32E08 80057A08 00021080 */ sll $v0, $v0, 2 +/* 32E0C 80057A0C 00628021 */ addu $s0, $v1, $v0 +/* 32E10 80057A10 8E050064 */ lw $a1, 0x64($s0) +/* 32E14 80057A14 8E030068 */ lw $v1, 0x68($s0) +/* 32E18 80057A18 00A3102A */ slt $v0, $a1, $v1 +/* 32E1C 80057A1C 14400029 */ bnez $v0, .L80057AC4 +/* 32E20 80057A20 26110048 */ addiu $s1, $s0, 0x48 +/* 32E24 80057A24 3C028008 */ lui $v0, %hi(D_80078181) +/* 32E28 80057A28 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32E2C 80057A2C 90420000 */ lbu $v0, ($v0) +/* 32E30 80057A30 1440000E */ bnez $v0, .L80057A6C +/* 32E34 80057A34 AE030064 */ sw $v1, 0x64($s0) +/* 32E38 80057A38 3C048008 */ lui $a0, %hi(D_80078E60) +/* 32E3C 80057A3C 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 32E40 80057A40 8603004E */ lh $v1, 0x4e($s0) +/* 32E44 80057A44 84820080 */ lh $v0, 0x80($a0) +/* 32E48 80057A48 00620018 */ mult $v1, $v0 +/* 32E4C 80057A4C 00004012 */ mflo $t0 +/* 32E50 80057A50 000813C3 */ sra $v0, $t0, 0xf +/* 32E54 80057A54 A6020050 */ sh $v0, 0x50($s0) +/* 32E58 80057A58 84820080 */ lh $v0, 0x80($a0) +/* 32E5C 80057A5C 00620018 */ mult $v1, $v0 +/* 32E60 80057A60 00004012 */ mflo $t0 +/* 32E64 80057A64 08015EBB */ j .L80057AEC +/* 32E68 80057A68 000813C3 */ sra $v0, $t0, 0xf +.L80057A6C: +/* 32E6C 80057A6C 8602004C */ lh $v0, 0x4c($s0) +/* 32E70 80057A70 8603004E */ lh $v1, 0x4e($s0) +/* 32E74 80057A74 00021040 */ sll $v0, $v0, 1 +/* 32E78 80057A78 3C018008 */ lui $at, %hi(D_80078E60) +/* 32E7C 80057A7C 00220821 */ addu $at, $at, $v0 +/* 32E80 80057A80 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32E84 80057A84 00620018 */ mult $v1, $v0 +/* 32E88 80057A88 8603004C */ lh $v1, 0x4c($s0) +/* 32E8C 80057A8C 00004012 */ mflo $t0 +/* 32E90 80057A90 000813C3 */ sra $v0, $t0, 0xf +/* 32E94 80057A94 A6020050 */ sh $v0, 0x50($s0) +/* 32E98 80057A98 2402007F */ addiu $v0, $zero, 0x7f +/* 32E9C 80057A9C 00431023 */ subu $v0, $v0, $v1 +/* 32EA0 80057AA0 00021040 */ sll $v0, $v0, 1 +/* 32EA4 80057AA4 8603004E */ lh $v1, 0x4e($s0) +/* 32EA8 80057AA8 3C018008 */ lui $at, %hi(D_80078E60) +/* 32EAC 80057AAC 00220821 */ addu $at, $at, $v0 +/* 32EB0 80057AB0 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32EB4 80057AB4 00620018 */ mult $v1, $v0 +/* 32EB8 80057AB8 00004012 */ mflo $t0 +/* 32EBC 80057ABC 08015EBB */ j .L80057AEC +/* 32EC0 80057AC0 000813C3 */ sra $v0, $t0, 0xf +.L80057AC4: +/* 32EC4 80057AC4 86040050 */ lh $a0, 0x50($s0) +/* 32EC8 80057AC8 8606005A */ lh $a2, 0x5a($s0) +/* 32ECC 80057ACC 0C016001 */ jal func_80058004 +/* 32ED0 80057AD0 96070058 */ lhu $a3, 0x58($s0) +/* 32ED4 80057AD4 86040052 */ lh $a0, 0x52($s0) +/* 32ED8 80057AD8 8E050064 */ lw $a1, 0x64($s0) +/* 32EDC 80057ADC 86060060 */ lh $a2, 0x60($s0) +/* 32EE0 80057AE0 9607005E */ lhu $a3, 0x5e($s0) +/* 32EE4 80057AE4 0C016001 */ jal func_80058004 +/* 32EE8 80057AE8 A6020050 */ sh $v0, 0x50($s0) +.L80057AEC: +/* 32EEC 80057AEC A6020052 */ sh $v0, 0x52($s0) +/* 32EF0 80057AF0 86220008 */ lh $v0, 8($s1) +/* 32EF4 80057AF4 14400002 */ bnez $v0, .L80057B00 +/* 32EF8 80057AF8 24020001 */ addiu $v0, $zero, 1 +/* 32EFC 80057AFC A6220008 */ sh $v0, 8($s1) +.L80057B00: +/* 32F00 80057B00 8622000A */ lh $v0, 0xa($s1) +/* 32F04 80057B04 14400003 */ bnez $v0, .L80057B14 +/* 32F08 80057B08 324300FF */ andi $v1, $s2, 0xff +/* 32F0C 80057B0C 24020001 */ addiu $v0, $zero, 1 +/* 32F10 80057B10 A622000A */ sh $v0, 0xa($s1) +.L80057B14: +/* 32F14 80057B14 00031040 */ sll $v0, $v1, 1 +/* 32F18 80057B18 3C018008 */ lui $at, %hi(D_80078E60) +/* 32F1C 80057B1C 00220821 */ addu $at, $at, $v0 +/* 32F20 80057B20 94228E60 */ lhu $v0, %lo(D_80078E60)($at) +/* 32F24 80057B24 A622000C */ sh $v0, 0xc($s1) +/* 32F28 80057B28 2402007F */ addiu $v0, $zero, 0x7f +/* 32F2C 80057B2C 00431023 */ subu $v0, $v0, $v1 +/* 32F30 80057B30 00021040 */ sll $v0, $v0, 1 +/* 32F34 80057B34 3C038008 */ lui $v1, %hi(D_80078E60) +/* 32F38 80057B38 00621821 */ addu $v1, $v1, $v0 +/* 32F3C 80057B3C 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) +/* 32F40 80057B40 24020001 */ addiu $v0, $zero, 1 +/* 32F44 80057B44 AE220024 */ sw $v0, 0x24($s1) +/* 32F48 80057B48 A623000E */ sh $v1, 0xe($s1) +/* 32F4C 80057B4C 8FBF001C */ lw $ra, 0x1c($sp) +/* 32F50 80057B50 8FB20018 */ lw $s2, 0x18($sp) +/* 32F54 80057B54 8FB10014 */ lw $s1, 0x14($sp) +/* 32F58 80057B58 8FB00010 */ lw $s0, 0x10($sp) +/* 32F5C 80057B5C 03E00008 */ jr $ra +/* 32F60 80057B60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31650/func_80057B64.s b/asm/nonmatchings/code_31650/func_80057B64.s new file mode 100644 index 0000000000..33a238ea38 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057B64.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057B64 +/* 32F64 80057B64 308400FF */ andi $a0, $a0, 0xff +/* 32F68 80057B68 00041940 */ sll $v1, $a0, 5 +/* 32F6C 80057B6C 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32F70 80057B70 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32F74 80057B74 00641823 */ subu $v1, $v1, $a0 +/* 32F78 80057B78 8C42001C */ lw $v0, 0x1c($v0) +/* 32F7C 80057B7C 00031880 */ sll $v1, $v1, 2 +/* 32F80 80057B80 00431021 */ addu $v0, $v0, $v1 +/* 32F84 80057B84 03E00008 */ jr $ra +/* 32F88 80057B88 8C420070 */ lw $v0, 0x70($v0) diff --git a/asm/nonmatchings/code_31650/func_80057B8C.s b/asm/nonmatchings/code_31650/func_80057B8C.s new file mode 100644 index 0000000000..c3600f33bd --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057B8C.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057B8C +/* 32F8C 80057B8C 308400FF */ andi $a0, $a0, 0xff +/* 32F90 80057B90 00041940 */ sll $v1, $a0, 5 +/* 32F94 80057B94 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32F98 80057B98 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32F9C 80057B9C 00641823 */ subu $v1, $v1, $a0 +/* 32FA0 80057BA0 8C42001C */ lw $v0, 0x1c($v0) +/* 32FA4 80057BA4 00031880 */ sll $v1, $v1, 2 +/* 32FA8 80057BA8 00431021 */ addu $v0, $v0, $v1 +/* 32FAC 80057BAC 03E00008 */ jr $ra +/* 32FB0 80057BB0 90420078 */ lbu $v0, 0x78($v0) diff --git a/asm/nonmatchings/code_31650/func_80057BB4.s b/asm/nonmatchings/code_31650/func_80057BB4.s new file mode 100644 index 0000000000..8ee44c1d63 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057BB4.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057BB4 +/* 32FB4 80057BB4 308400FF */ andi $a0, $a0, 0xff +/* 32FB8 80057BB8 00041940 */ sll $v1, $a0, 5 +/* 32FBC 80057BBC 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32FC0 80057BC0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32FC4 80057BC4 00641823 */ subu $v1, $v1, $a0 +/* 32FC8 80057BC8 8C42001C */ lw $v0, 0x1c($v0) +/* 32FCC 80057BCC 00031880 */ sll $v1, $v1, 2 +/* 32FD0 80057BD0 00431021 */ addu $v0, $v0, $v1 +/* 32FD4 80057BD4 03E00008 */ jr $ra +/* 32FD8 80057BD8 C440003C */ lwc1 $f0, 0x3c($v0) diff --git a/asm/nonmatchings/code_31650/func_80057BDC.s b/asm/nonmatchings/code_31650/func_80057BDC.s new file mode 100644 index 0000000000..c2d51bf68a --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057BDC.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057BDC +/* 32FDC 80057BDC 308400FF */ andi $a0, $a0, 0xff +/* 32FE0 80057BE0 00041940 */ sll $v1, $a0, 5 +/* 32FE4 80057BE4 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32FE8 80057BE8 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32FEC 80057BEC 00641823 */ subu $v1, $v1, $a0 +/* 32FF0 80057BF0 8C42001C */ lw $v0, 0x1c($v0) +/* 32FF4 80057BF4 00031880 */ sll $v1, $v1, 2 +/* 32FF8 80057BF8 00431021 */ addu $v0, $v0, $v1 +/* 32FFC 80057BFC 03E00008 */ jr $ra +/* 33000 80057C00 9042004D */ lbu $v0, 0x4d($v0) diff --git a/asm/nonmatchings/code_31650/func_80057C04.s b/asm/nonmatchings/code_31650/func_80057C04.s new file mode 100644 index 0000000000..85b9121543 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057C04.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057C04 +/* 33004 80057C04 308400FF */ andi $a0, $a0, 0xff +/* 33008 80057C08 00041940 */ sll $v1, $a0, 5 +/* 3300C 80057C0C 3C028008 */ lui $v0, %hi(D_80078E54) +/* 33010 80057C10 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 33014 80057C14 00641823 */ subu $v1, $v1, $a0 +/* 33018 80057C18 8C42001C */ lw $v0, 0x1c($v0) +/* 3301C 80057C1C 00031880 */ sll $v1, $v1, 2 +/* 33020 80057C20 00431021 */ addu $v0, $v0, $v1 +/* 33024 80057C24 03E00008 */ jr $ra +/* 33028 80057C28 84420054 */ lh $v0, 0x54($v0) diff --git a/asm/nonmatchings/code_31650/func_80057C2C.s b/asm/nonmatchings/code_31650/func_80057C2C.s new file mode 100644 index 0000000000..1a9c1fde19 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057C2C.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057C2C +/* 3302C 80057C2C 308400FF */ andi $a0, $a0, 0xff +/* 33030 80057C30 00041940 */ sll $v1, $a0, 5 +/* 33034 80057C34 3C028008 */ lui $v0, %hi(D_80078E54) +/* 33038 80057C38 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 3303C 80057C3C 00641823 */ subu $v1, $v1, $a0 +/* 33040 80057C40 8C42001C */ lw $v0, 0x1c($v0) +/* 33044 80057C44 00031880 */ sll $v1, $v1, 2 +/* 33048 80057C48 00431021 */ addu $v0, $v0, $v1 +/* 3304C 80057C4C 03E00008 */ jr $ra +/* 33050 80057C50 84420056 */ lh $v0, 0x56($v0) diff --git a/asm/nonmatchings/code_31650/func_80057C54.s b/asm/nonmatchings/code_31650/func_80057C54.s new file mode 100644 index 0000000000..02eed05f52 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057C54.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057C54 +/* 33054 80057C54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 33058 80057C58 308400FF */ andi $a0, $a0, 0xff +/* 3305C 80057C5C 00041140 */ sll $v0, $a0, 5 +/* 33060 80057C60 3C038008 */ lui $v1, %hi(D_80078E54) +/* 33064 80057C64 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 33068 80057C68 00441023 */ subu $v0, $v0, $a0 +/* 3306C 80057C6C AFBF0010 */ sw $ra, 0x10($sp) +/* 33070 80057C70 8C63001C */ lw $v1, 0x1c($v1) +/* 33074 80057C74 00021080 */ sll $v0, $v0, 2 +/* 33078 80057C78 00621821 */ addu $v1, $v1, $v0 +/* 3307C 80057C7C 8C650064 */ lw $a1, 0x64($v1) +/* 33080 80057C80 8C620068 */ lw $v0, 0x68($v1) +/* 33084 80057C84 00A2102A */ slt $v0, $a1, $v0 +/* 33088 80057C88 14400017 */ bnez $v0, .L80057CE8 +/* 3308C 80057C8C 00000000 */ nop +/* 33090 80057C90 3C028008 */ lui $v0, %hi(D_80078181) +/* 33094 80057C94 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 33098 80057C98 90420000 */ lbu $v0, ($v0) +/* 3309C 80057C9C 14400008 */ bnez $v0, .L80057CC0 +/* 330A0 80057CA0 00000000 */ nop +/* 330A4 80057CA4 8463004E */ lh $v1, 0x4e($v1) +/* 330A8 80057CA8 3C028008 */ lui $v0, %hi(D_80078EE0) +/* 330AC 80057CAC 84428EE0 */ lh $v0, %lo(D_80078EE0)($v0) +/* 330B0 80057CB0 00620018 */ mult $v1, $v0 +/* 330B4 80057CB4 00004012 */ mflo $t0 +/* 330B8 80057CB8 08015F3F */ j .L80057CFC +/* 330BC 80057CBC 00081040 */ sll $v0, $t0, 1 +.L80057CC0: +/* 330C0 80057CC0 8462004C */ lh $v0, 0x4c($v1) +/* 330C4 80057CC4 8463004E */ lh $v1, 0x4e($v1) +/* 330C8 80057CC8 00021040 */ sll $v0, $v0, 1 +/* 330CC 80057CCC 3C018008 */ lui $at, %hi(D_80078E60) +/* 330D0 80057CD0 00220821 */ addu $at, $at, $v0 +/* 330D4 80057CD4 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 330D8 80057CD8 00620018 */ mult $v1, $v0 +/* 330DC 80057CDC 00004012 */ mflo $t0 +/* 330E0 80057CE0 08015F3F */ j .L80057CFC +/* 330E4 80057CE4 00081040 */ sll $v0, $t0, 1 +.L80057CE8: +/* 330E8 80057CE8 84640050 */ lh $a0, 0x50($v1) +/* 330EC 80057CEC 8466005A */ lh $a2, 0x5a($v1) +/* 330F0 80057CF0 0C016001 */ jal func_80058004 +/* 330F4 80057CF4 94670058 */ lhu $a3, 0x58($v1) +/* 330F8 80057CF8 00021400 */ sll $v0, $v0, 0x10 +.L80057CFC: +/* 330FC 80057CFC 00021403 */ sra $v0, $v0, 0x10 +/* 33100 80057D00 8FBF0010 */ lw $ra, 0x10($sp) +/* 33104 80057D04 03E00008 */ jr $ra +/* 33108 80057D08 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31650/func_80057D0C.s b/asm/nonmatchings/code_31650/func_80057D0C.s new file mode 100644 index 0000000000..df1bb68858 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057D0C.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057D0C +/* 3310C 80057D0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 33110 80057D10 308400FF */ andi $a0, $a0, 0xff +/* 33114 80057D14 00041140 */ sll $v0, $a0, 5 +/* 33118 80057D18 3C038008 */ lui $v1, %hi(D_80078E54) +/* 3311C 80057D1C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 33120 80057D20 00441023 */ subu $v0, $v0, $a0 +/* 33124 80057D24 AFBF0010 */ sw $ra, 0x10($sp) +/* 33128 80057D28 8C63001C */ lw $v1, 0x1c($v1) +/* 3312C 80057D2C 00021080 */ sll $v0, $v0, 2 +/* 33130 80057D30 00623821 */ addu $a3, $v1, $v0 +/* 33134 80057D34 8CE50064 */ lw $a1, 0x64($a3) +/* 33138 80057D38 8CE20068 */ lw $v0, 0x68($a3) +/* 3313C 80057D3C 00A2102A */ slt $v0, $a1, $v0 +/* 33140 80057D40 14400018 */ bnez $v0, .L80057DA4 +/* 33144 80057D44 00000000 */ nop +/* 33148 80057D48 3C028008 */ lui $v0, %hi(D_80078181) +/* 3314C 80057D4C 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 33150 80057D50 90420000 */ lbu $v0, ($v0) +/* 33154 80057D54 54400008 */ bnel $v0, $zero, .L80057D78 +/* 33158 80057D58 2402007F */ addiu $v0, $zero, 0x7f +/* 3315C 80057D5C 84E3004E */ lh $v1, 0x4e($a3) +/* 33160 80057D60 3C028008 */ lui $v0, %hi(D_80078EE0) +/* 33164 80057D64 84428EE0 */ lh $v0, %lo(D_80078EE0)($v0) +/* 33168 80057D68 00620018 */ mult $v1, $v0 +/* 3316C 80057D6C 00004012 */ mflo $t0 +/* 33170 80057D70 08015F6E */ j .L80057DB8 +/* 33174 80057D74 00081040 */ sll $v0, $t0, 1 +.L80057D78: +/* 33178 80057D78 84E3004C */ lh $v1, 0x4c($a3) +/* 3317C 80057D7C 00431023 */ subu $v0, $v0, $v1 +/* 33180 80057D80 00021040 */ sll $v0, $v0, 1 +/* 33184 80057D84 84E3004E */ lh $v1, 0x4e($a3) +/* 33188 80057D88 3C018008 */ lui $at, %hi(D_80078E60) +/* 3318C 80057D8C 00220821 */ addu $at, $at, $v0 +/* 33190 80057D90 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 33194 80057D94 00620018 */ mult $v1, $v0 +/* 33198 80057D98 00004012 */ mflo $t0 +/* 3319C 80057D9C 08015F6E */ j .L80057DB8 +/* 331A0 80057DA0 00081040 */ sll $v0, $t0, 1 +.L80057DA4: +/* 331A4 80057DA4 84E40050 */ lh $a0, 0x50($a3) +/* 331A8 80057DA8 84E6005A */ lh $a2, 0x5a($a3) +/* 331AC 80057DAC 0C016001 */ jal func_80058004 +/* 331B0 80057DB0 94E70058 */ lhu $a3, 0x58($a3) +/* 331B4 80057DB4 00021400 */ sll $v0, $v0, 0x10 +.L80057DB8: +/* 331B8 80057DB8 00021403 */ sra $v0, $v0, 0x10 +/* 331BC 80057DBC 8FBF0010 */ lw $ra, 0x10($sp) +/* 331C0 80057DC0 03E00008 */ jr $ra +/* 331C4 80057DC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31650/func_80057DC8.s b/asm/nonmatchings/code_31650/func_80057DC8.s new file mode 100644 index 0000000000..5ed3d3687f --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057DC8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057DC8 +/* 331C8 80057DC8 28820002 */ slti $v0, $a0, 2 +/* 331CC 80057DCC 10400005 */ beqz $v0, .L80057DE4 +/* 331D0 80057DD0 00000000 */ nop +/* 331D4 80057DD4 3C01800A */ lui $at, %hi(D_800A3FF0) +/* 331D8 80057DD8 AC203FF0 */ sw $zero, %lo(D_800A3FF0)($at) +/* 331DC 80057DDC 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 331E0 80057DE0 A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) +.L80057DE4: +/* 331E4 80057DE4 3C03800A */ lui $v1, %hi(D_800A3FF0) +/* 331E8 80057DE8 24633FF0 */ addiu $v1, $v1, %lo(D_800A3FF0) +/* 331EC 80057DEC 28820005 */ slti $v0, $a0, 5 +/* 331F0 80057DF0 14400003 */ bnez $v0, .L80057E00 +/* 331F4 80057DF4 AC640000 */ sw $a0, ($v1) +/* 331F8 80057DF8 24020004 */ addiu $v0, $zero, 4 +/* 331FC 80057DFC AC620000 */ sw $v0, ($v1) +.L80057E00: +/* 33200 80057E00 03E00008 */ jr $ra +/* 33204 80057E04 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057E08.s b/asm/nonmatchings/code_31650/func_80057E08.s new file mode 100644 index 0000000000..cc772371cf --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057E08.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057E08 +/* 33208 80057E08 0000302D */ daddu $a2, $zero, $zero +/* 3320C 80057E0C 3C05800A */ lui $a1, %hi(D_800A3FE0) +/* 33210 80057E10 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) +/* 33214 80057E14 3C03800A */ lui $v1, %hi(D_800A3FE4) +/* 33218 80057E18 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) +.L80057E1C: +/* 3321C 80057E1C ACA00000 */ sw $zero, ($a1) +/* 33220 80057E20 24A50004 */ addiu $a1, $a1, 4 +/* 33224 80057E24 AC600000 */ sw $zero, ($v1) +/* 33228 80057E28 24C60001 */ addiu $a2, $a2, 1 +/* 3322C 80057E2C 28C20170 */ slti $v0, $a2, 0x170 +/* 33230 80057E30 1440FFFA */ bnez $v0, .L80057E1C +/* 33234 80057E34 24630004 */ addiu $v1, $v1, 4 +/* 33238 80057E38 24020001 */ addiu $v0, $zero, 1 +/* 3323C 80057E3C 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 33240 80057E40 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) +/* 33244 80057E44 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 33248 80057E48 A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) +/* 3324C 80057E4C 3C01800A */ lui $at, %hi(D_800A3FE8) +/* 33250 80057E50 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) +/* 33254 80057E54 03E00008 */ jr $ra +/* 33258 80057E58 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057E5C.s b/asm/nonmatchings/code_31650/func_80057E5C.s new file mode 100644 index 0000000000..0080543cf0 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057E5C.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057E5C +/* 3325C 80057E5C 0000302D */ daddu $a2, $zero, $zero +/* 33260 80057E60 3C05800A */ lui $a1, %hi(D_800A3FE0) +/* 33264 80057E64 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) +/* 33268 80057E68 3C03800A */ lui $v1, %hi(D_800A3FE4) +/* 3326C 80057E6C 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) +.L80057E70: +/* 33270 80057E70 ACA00000 */ sw $zero, ($a1) +/* 33274 80057E74 24A50004 */ addiu $a1, $a1, 4 +/* 33278 80057E78 AC600000 */ sw $zero, ($v1) +/* 3327C 80057E7C 24C60001 */ addiu $a2, $a2, 1 +/* 33280 80057E80 28C20170 */ slti $v0, $a2, 0x170 +/* 33284 80057E84 1440FFFA */ bnez $v0, .L80057E70 +/* 33288 80057E88 24630004 */ addiu $v1, $v1, 4 +/* 3328C 80057E8C 24020002 */ addiu $v0, $zero, 2 +/* 33290 80057E90 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 33294 80057E94 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) +/* 33298 80057E98 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 3329C 80057E9C A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) +/* 332A0 80057EA0 3C01800A */ lui $at, %hi(D_800A3FE8) +/* 332A4 80057EA4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) +/* 332A8 80057EA8 03E00008 */ jr $ra +/* 332AC 80057EAC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057EB0.s b/asm/nonmatchings/code_31650/func_80057EB0.s new file mode 100644 index 0000000000..4159ded706 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057EB0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057EB0 +/* 332B0 80057EB0 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 332B4 80057EB4 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) +/* 332B8 80057EB8 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 332BC 80057EBC A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) +/* 332C0 80057EC0 3C01800A */ lui $at, %hi(D_800A3FE8) +/* 332C4 80057EC4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) +/* 332C8 80057EC8 03E00008 */ jr $ra +/* 332CC 80057ECC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057ED0.s b/asm/nonmatchings/code_31650/func_80057ED0.s new file mode 100644 index 0000000000..2b400e97f9 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057ED0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057ED0 +/* 332D0 80057ED0 0000302D */ daddu $a2, $zero, $zero +/* 332D4 80057ED4 3C05800A */ lui $a1, %hi(D_800A3FE0) +/* 332D8 80057ED8 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) +/* 332DC 80057EDC 3C03800A */ lui $v1, %hi(D_800A3FE4) +/* 332E0 80057EE0 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) +.L80057EE4: +/* 332E4 80057EE4 ACA00000 */ sw $zero, ($a1) +/* 332E8 80057EE8 24A50004 */ addiu $a1, $a1, 4 +/* 332EC 80057EEC AC600000 */ sw $zero, ($v1) +/* 332F0 80057EF0 24C60001 */ addiu $a2, $a2, 1 +/* 332F4 80057EF4 28C20170 */ slti $v0, $a2, 0x170 +/* 332F8 80057EF8 1440FFFA */ bnez $v0, .L80057EE4 +/* 332FC 80057EFC 24630004 */ addiu $v1, $v1, 4 +/* 33300 80057F00 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 33304 80057F04 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) +/* 33308 80057F08 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 3330C 80057F0C A4243FEE */ sh $a0, %lo(D_800A3FEE)($at) +/* 33310 80057F10 3C01800A */ lui $at, %hi(D_800A3FE8) +/* 33314 80057F14 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) +/* 33318 80057F18 03E00008 */ jr $ra +/* 3331C 80057F1C 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057F20.s b/asm/nonmatchings/code_31650/func_80057F20.s new file mode 100644 index 0000000000..c2ec9b45c6 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057F20.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057F20 +/* 33320 80057F20 30A3000F */ andi $v1, $a1, 0xf +/* 33324 80057F24 24020010 */ addiu $v0, $zero, 0x10 +/* 33328 80057F28 00431823 */ subu $v1, $v0, $v1 +/* 3332C 80057F2C 10620003 */ beq $v1, $v0, .L80057F3C +/* 33330 80057F30 00A31021 */ addu $v0, $a1, $v1 +/* 33334 80057F34 08015FD0 */ j .L80057F40 +/* 33338 80057F38 AC820000 */ sw $v0, ($a0) +.L80057F3C: +/* 3333C 80057F3C AC850000 */ sw $a1, ($a0) +.L80057F40: +/* 33340 80057F40 AC860008 */ sw $a2, 8($a0) +/* 33344 80057F44 00C0102D */ daddu $v0, $a2, $zero +/* 33348 80057F48 0000282D */ daddu $a1, $zero, $zero +/* 3334C 80057F4C 8C830000 */ lw $v1, ($a0) +/* 33350 80057F50 00021082 */ srl $v0, $v0, 2 +/* 33354 80057F54 AC80000C */ sw $zero, 0xc($a0) +/* 33358 80057F58 1040000B */ beqz $v0, .L80057F88 +/* 3335C 80057F5C AC830004 */ sw $v1, 4($a0) +.L80057F60: +/* 33360 80057F60 8C820000 */ lw $v0, ($a0) +/* 33364 80057F64 00051880 */ sll $v1, $a1, 2 +/* 33368 80057F68 00621821 */ addu $v1, $v1, $v0 +/* 3336C 80057F6C AC600000 */ sw $zero, ($v1) +/* 33370 80057F70 8C820008 */ lw $v0, 8($a0) +/* 33374 80057F74 24A50001 */ addiu $a1, $a1, 1 +/* 33378 80057F78 00021082 */ srl $v0, $v0, 2 +/* 3337C 80057F7C 00A2102B */ sltu $v0, $a1, $v0 +/* 33380 80057F80 1440FFF7 */ bnez $v0, .L80057F60 +/* 33384 80057F84 00000000 */ nop +.L80057F88: +/* 33388 80057F88 03E00008 */ jr $ra +/* 3338C 80057F8C 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057FD8.s b/asm/nonmatchings/code_31650/func_80057FD8.s new file mode 100644 index 0000000000..b84379d644 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057FD8.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057FD8 +/* 333D8 80057FD8 18C00008 */ blez $a2, .L80057FFC +/* 333DC 80057FDC 0000182D */ daddu $v1, $zero, $zero +.L80057FE0: +/* 333E0 80057FE0 90820000 */ lbu $v0, ($a0) +/* 333E4 80057FE4 24840001 */ addiu $a0, $a0, 1 +/* 333E8 80057FE8 24630001 */ addiu $v1, $v1, 1 +/* 333EC 80057FEC A0A20000 */ sb $v0, ($a1) +/* 333F0 80057FF0 0066102A */ slt $v0, $v1, $a2 +/* 333F4 80057FF4 1440FFFA */ bnez $v0, .L80057FE0 +/* 333F8 80057FF8 24A50001 */ addiu $a1, $a1, 1 +.L80057FFC: +/* 333FC 80057FFC 03E00008 */ jr $ra +/* 33400 80058000 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80058004.s b/asm/nonmatchings/code_31650/func_80058004.s new file mode 100644 index 0000000000..0d5a8168f5 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80058004.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80058004 +/* 33404 80058004 000528C3 */ sra $a1, $a1, 3 +/* 33408 80058008 50A0000E */ beql $a1, $zero, .L80058044 +/* 3340C 8005800C 00041400 */ sll $v0, $a0, 0x10 +/* 33410 80058010 30E2FFFF */ andi $v0, $a3, 0xffff +/* 33414 80058014 00450018 */ mult $v0, $a1 +/* 33418 80058018 00001012 */ mflo $v0 +/* 3341C 8005801C 00061C00 */ sll $v1, $a2, 0x10 +/* 33420 80058020 00031C03 */ sra $v1, $v1, 0x10 +/* 33424 80058024 00650018 */ mult $v1, $a1 +/* 33428 80058028 00021403 */ sra $v0, $v0, 0x10 +/* 3342C 8005802C 00001812 */ mflo $v1 +/* 33430 80058030 00431021 */ addu $v0, $v0, $v1 +/* 33434 80058034 00821021 */ addu $v0, $a0, $v0 +/* 33438 80058038 00021400 */ sll $v0, $v0, 0x10 +/* 3343C 8005803C 03E00008 */ jr $ra +/* 33440 80058040 00021403 */ sra $v0, $v0, 0x10 +.L80058044: +/* 33444 80058044 03E00008 */ jr $ra +/* 33448 80058048 00021403 */ sra $v0, $v0, 0x10 +/* 3344C 8005804C 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80058050.s b/asm/nonmatchings/code_31650/func_80058050.s new file mode 100644 index 0000000000..a3b81402f4 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80058050.s @@ -0,0 +1,745 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80058050 +/* 33450 80058050 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 33454 80058054 AFB60050 */ sw $s6, 0x50($sp) +/* 33458 80058058 00A0B02D */ daddu $s6, $a1, $zero +/* 3345C 8005805C AFB1003C */ sw $s1, 0x3c($sp) +/* 33460 80058060 02C0882D */ daddu $s1, $s6, $zero +/* 33464 80058064 AFB70054 */ sw $s7, 0x54($sp) +/* 33468 80058068 AFA40060 */ sw $a0, 0x60($sp) +/* 3346C 8005806C 24970048 */ addiu $s7, $a0, 0x48 +/* 33470 80058070 24880038 */ addiu $t0, $a0, 0x38 +/* 33474 80058074 AFB20040 */ sw $s2, 0x40($sp) +/* 33478 80058078 AFBF005C */ sw $ra, 0x5c($sp) +/* 3347C 8005807C AFBE0058 */ sw $fp, 0x58($sp) +/* 33480 80058080 AFB5004C */ sw $s5, 0x4c($sp) +/* 33484 80058084 AFB40048 */ sw $s4, 0x48($sp) +/* 33488 80058088 AFB30044 */ sw $s3, 0x44($sp) +/* 3348C 8005808C AFB00038 */ sw $s0, 0x38($sp) +/* 33490 80058090 AFA80020 */ sw $t0, 0x20($sp) +/* 33494 80058094 8C830070 */ lw $v1, 0x70($a0) +/* 33498 80058098 24020001 */ addiu $v0, $zero, 1 +/* 3349C 8005809C 14620293 */ bne $v1, $v0, .L80058AEC +/* 334A0 800580A0 24920004 */ addiu $s2, $a0, 4 +/* 334A4 800580A4 8FA80060 */ lw $t0, 0x60($sp) +/* 334A8 800580A8 C500003C */ lwc1 $f0, 0x3c($t0) +/* 334AC 800580AC 3C01800A */ lui $at, %hi(D_80098930) +/* 334B0 800580B0 D4228930 */ ldc1 $f2, %lo(D_80098930)($at) +/* 334B4 800580B4 46000021 */ cvt.d.s $f0, $f0 +/* 334B8 800580B8 4620103C */ c.lt.d $f2, $f0 +/* 334BC 800580BC 00000000 */ nop +/* 334C0 800580C0 45000007 */ bc1f .L800580E0 +/* 334C4 800580C4 241E0170 */ addiu $fp, $zero, 0x170 +/* 334C8 800580C8 3C013FFF */ lui $at, 0x3fff +/* 334CC 800580CC 3421FEB0 */ ori $at, $at, 0xfeb0 +/* 334D0 800580D0 44810000 */ mtc1 $at, $f0 +/* 334D4 800580D4 00000000 */ nop +/* 334D8 800580D8 E500003C */ swc1 $f0, 0x3c($t0) +/* 334DC 800580DC 8FA80060 */ lw $t0, 0x60($sp) +.L800580E0: +/* 334E0 800580E0 3C014700 */ lui $at, 0x4700 +/* 334E4 800580E4 44811000 */ mtc1 $at, $f2 +/* 334E8 800580E8 C500003C */ lwc1 $f0, 0x3c($t0) +/* 334EC 800580EC 46020002 */ mul.s $f0, $f0, $f2 +/* 334F0 800580F0 00000000 */ nop +/* 334F4 800580F4 4600018D */ trunc.w.s $f6, $f0 +/* 334F8 800580F8 44023000 */ mfc1 $v0, $f6 +/* 334FC 800580FC 3C013800 */ lui $at, 0x3800 +/* 33500 80058100 44810000 */ mtc1 $at, $f0 +/* 33504 80058104 44822000 */ mtc1 $v0, $f4 +/* 33508 80058108 00000000 */ nop +/* 3350C 8005810C 46802120 */ cvt.s.w $f4, $f4 +/* 33510 80058110 46002102 */ mul.s $f4, $f4, $f0 +/* 33514 80058114 00000000 */ nop +/* 33518 80058118 3C014338 */ lui $at, 0x4338 +/* 3351C 8005811C 44810000 */ mtc1 $at, $f0 +/* 33520 80058120 00000000 */ nop +/* 33524 80058124 46002002 */ mul.s $f0, $f4, $f0 +/* 33528 80058128 00000000 */ nop +/* 3352C 8005812C 8FA80060 */ lw $t0, 0x60($sp) +/* 33530 80058130 C5020040 */ lwc1 $f2, 0x40($t0) +/* 33534 80058134 46001080 */ add.s $f2, $f2, $f0 +/* 33538 80058138 4600118D */ trunc.w.s $f6, $f2 +/* 3353C 8005813C 44143000 */ mfc1 $s4, $f6 +/* 33540 80058140 00000000 */ nop +/* 33544 80058144 44940000 */ mtc1 $s4, $f0 +/* 33548 80058148 00000000 */ nop +/* 3354C 8005814C 46800020 */ cvt.s.w $f0, $f0 +/* 33550 80058150 46001081 */ sub.s $f2, $f2, $f0 +/* 33554 80058154 8FA80060 */ lw $t0, 0x60($sp) +/* 33558 80058158 E504003C */ swc1 $f4, 0x3c($t0) +/* 3355C 8005815C 128001BA */ beqz $s4, .L80058848 +/* 33560 80058160 E5020040 */ swc1 $f2, 0x40($t0) +/* 33564 80058164 8E470014 */ lw $a3, 0x14($s2) +/* 33568 80058168 90E20024 */ lbu $v0, 0x24($a3) +/* 3356C 8005816C 144000F2 */ bnez $v0, .L80058538 +/* 33570 80058170 3C0300FF */ lui $v1, 0xff +/* 33574 80058174 3463FFFF */ ori $v1, $v1, 0xffff +/* 33578 80058178 AFA00024 */ sw $zero, 0x24($sp) +/* 3357C 8005817C 8D02001C */ lw $v0, 0x1c($t0) +/* 33580 80058180 3C041FFF */ lui $a0, 0x1fff +/* 33584 80058184 00431024 */ and $v0, $v0, $v1 +/* 33588 80058188 3C030B00 */ lui $v1, 0xb00 +/* 3358C 8005818C 00431025 */ or $v0, $v0, $v1 +/* 33590 80058190 AE220000 */ sw $v0, ($s1) +/* 33594 80058194 8E420014 */ lw $v0, 0x14($s2) +/* 33598 80058198 3484FFFF */ ori $a0, $a0, 0xffff +/* 3359C 8005819C 8C420018 */ lw $v0, 0x18($v0) +/* 335A0 800581A0 8FA50024 */ lw $a1, 0x24($sp) +/* 335A4 800581A4 00441024 */ and $v0, $v0, $a0 +/* 335A8 800581A8 AE220004 */ sw $v0, 4($s1) +/* 335AC 800581AC 8D040028 */ lw $a0, 0x28($t0) +/* 335B0 800581B0 8D030010 */ lw $v1, 0x10($t0) +/* 335B4 800581B4 02841021 */ addu $v0, $s4, $a0 +/* 335B8 800581B8 0062102B */ sltu $v0, $v1, $v0 +/* 335BC 800581BC 10400003 */ beqz $v0, .L800581CC +/* 335C0 800581C0 26D60008 */ addiu $s6, $s6, 8 +/* 335C4 800581C4 8D020014 */ lw $v0, 0x14($t0) +/* 335C8 800581C8 0002282B */ sltu $a1, $zero, $v0 +.L800581CC: +/* 335CC 800581CC 10A00002 */ beqz $a1, .L800581D8 +/* 335D0 800581D0 0280802D */ daddu $s0, $s4, $zero +/* 335D4 800581D4 00648023 */ subu $s0, $v1, $a0 +.L800581D8: +/* 335D8 800581D8 8E430028 */ lw $v1, 0x28($s2) +/* 335DC 800581DC 10600003 */ beqz $v1, .L800581EC +/* 335E0 800581E0 24020010 */ addiu $v0, $zero, 0x10 +/* 335E4 800581E4 0801607C */ j .L800581F0 +/* 335E8 800581E8 0043A823 */ subu $s5, $v0, $v1 +.L800581EC: +/* 335EC 800581EC 0000A82D */ daddu $s5, $zero, $zero +.L800581F0: +/* 335F0 800581F0 02153023 */ subu $a2, $s0, $s5 +/* 335F4 800581F4 04C20001 */ bltzl $a2, .L800581FC +/* 335F8 800581F8 0000302D */ daddu $a2, $zero, $zero +.L800581FC: +/* 335FC 800581FC 24C2000F */ addiu $v0, $a2, 0xf +/* 33600 80058200 00028903 */ sra $s1, $v0, 4 +/* 33604 80058204 001110C0 */ sll $v0, $s1, 3 +/* 33608 80058208 10A00072 */ beqz $a1, .L800583D4 +/* 3360C 8005820C 00513821 */ addu $a3, $v0, $s1 +/* 33610 80058210 02C0202D */ daddu $a0, $s6, $zero +/* 33614 80058214 001E1400 */ sll $v0, $fp, 0x10 +/* 33618 80058218 00021403 */ sra $v0, $v0, 0x10 +/* 3361C 8005821C AFA20010 */ sw $v0, 0x10($sp) +/* 33620 80058220 AFA00014 */ sw $zero, 0x14($sp) +/* 33624 80058224 8E42002C */ lw $v0, 0x2c($s2) +/* 33628 80058228 0240282D */ daddu $a1, $s2, $zero +/* 3362C 8005822C 0C0162C8 */ jal func_80058B20 +/* 33630 80058230 AFA20018 */ sw $v0, 0x18($sp) +/* 33634 80058234 8E430028 */ lw $v1, 0x28($s2) +/* 33638 80058238 10600005 */ beqz $v1, .L80058250 +/* 3363C 8005823C 0040B02D */ daddu $s6, $v0, $zero +/* 33640 80058240 9642002A */ lhu $v0, 0x2a($s2) +/* 33644 80058244 00021040 */ sll $v0, $v0, 1 +/* 33648 80058248 08016095 */ j .L80058254 +/* 3364C 8005824C 03C2F021 */ addu $fp, $fp, $v0 +.L80058250: +/* 33650 80058250 27DE0020 */ addiu $fp, $fp, 0x20 +.L80058254: +/* 33654 80058254 001E2C00 */ sll $a1, $fp, 0x10 +/* 33658 80058258 8E420008 */ lw $v0, 8($s2) +/* 3365C 8005825C 00059C03 */ sra $s3, $a1, 0x10 +/* 33660 80058260 3042000F */ andi $v0, $v0, 0xf +/* 33664 80058264 AE420028 */ sw $v0, 0x28($s2) +/* 33668 80058268 8E420014 */ lw $v0, 0x14($s2) +/* 3366C 8005826C 8E430008 */ lw $v1, 8($s2) +/* 33670 80058270 8C440000 */ lw $a0, ($v0) +/* 33674 80058274 0060102D */ daddu $v0, $v1, $zero +/* 33678 80058278 00031902 */ srl $v1, $v1, 4 +/* 3367C 8005827C 24630001 */ addiu $v1, $v1, 1 +/* 33680 80058280 AE420024 */ sw $v0, 0x24($s2) +/* 33684 80058284 000310C0 */ sll $v0, $v1, 3 +/* 33688 80058288 00431021 */ addu $v0, $v0, $v1 +/* 3368C 8005828C 00822021 */ addu $a0, $a0, $v0 +/* 33690 80058290 0214102A */ slt $v0, $s0, $s4 +/* 33694 80058294 10400042 */ beqz $v0, .L800583A0 +/* 33698 80058298 AE440030 */ sw $a0, 0x30($s2) +/* 3369C 8005829C 0000402D */ daddu $t0, $zero, $zero +/* 336A0 800582A0 00081400 */ sll $v0, $t0, 0x10 +/* 336A4 800582A4 00021403 */ sra $v0, $v0, 0x10 +/* 336A8 800582A8 AFA2002C */ sw $v0, 0x2c($sp) +.L800582AC: +/* 336AC 800582AC 26220001 */ addiu $v0, $s1, 1 +/* 336B0 800582B0 00021140 */ sll $v0, $v0, 5 +/* 336B4 800582B4 02621021 */ addu $v0, $s3, $v0 +/* 336B8 800582B8 00101840 */ sll $v1, $s0, 1 +/* 336BC 800582BC 02639821 */ addu $s3, $s3, $v1 +/* 336C0 800582C0 24420010 */ addiu $v0, $v0, 0x10 +/* 336C4 800582C4 2403FFE0 */ addiu $v1, $zero, -0x20 +/* 336C8 800582C8 0043A824 */ and $s5, $v0, $v1 +/* 336CC 800582CC 8E430010 */ lw $v1, 0x10($s2) +/* 336D0 800582D0 2402FFFF */ addiu $v0, $zero, -1 +/* 336D4 800582D4 10620004 */ beq $v1, $v0, .L800582E8 +/* 336D8 800582D8 0290A023 */ subu $s4, $s4, $s0 +/* 336DC 800582DC 10600002 */ beqz $v1, .L800582E8 +/* 336E0 800582E0 00621021 */ addu $v0, $v1, $v0 +/* 336E4 800582E4 AE420010 */ sw $v0, 0x10($s2) +.L800582E8: +/* 336E8 800582E8 8E43000C */ lw $v1, 0xc($s2) +/* 336EC 800582EC 8E420008 */ lw $v0, 8($s2) +/* 336F0 800582F0 00621823 */ subu $v1, $v1, $v0 +/* 336F4 800582F4 0283102B */ sltu $v0, $s4, $v1 +/* 336F8 800582F8 14400002 */ bnez $v0, .L80058304 +/* 336FC 800582FC 0280802D */ daddu $s0, $s4, $zero +/* 33700 80058300 0060802D */ daddu $s0, $v1, $zero +.L80058304: +/* 33704 80058304 8E420028 */ lw $v0, 0x28($s2) +/* 33708 80058308 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 3370C 8005830C 02023021 */ addu $a2, $s0, $v0 +/* 33710 80058310 04C20001 */ bltzl $a2, .L80058318 +/* 33714 80058314 0000302D */ daddu $a2, $zero, $zero +.L80058318: +/* 33718 80058318 24C2000F */ addiu $v0, $a2, 0xf +/* 3371C 8005831C 00028903 */ sra $s1, $v0, 4 +/* 33720 80058320 02C0202D */ daddu $a0, $s6, $zero +/* 33724 80058324 0240282D */ daddu $a1, $s2, $zero +/* 33728 80058328 00151400 */ sll $v0, $s5, 0x10 +/* 3372C 8005832C 00021403 */ sra $v0, $v0, 0x10 +/* 33730 80058330 8FA8002C */ lw $t0, 0x2c($sp) +/* 33734 80058334 001138C0 */ sll $a3, $s1, 3 +/* 33738 80058338 AFA20010 */ sw $v0, 0x10($sp) +/* 3373C 8005833C AFA80014 */ sw $t0, 0x14($sp) +/* 33740 80058340 8E42002C */ lw $v0, 0x2c($s2) +/* 33744 80058344 00F13821 */ addu $a3, $a3, $s1 +/* 33748 80058348 34420002 */ ori $v0, $v0, 2 +/* 3374C 8005834C 0C0162C8 */ jal func_80058B20 +/* 33750 80058350 AFA20018 */ sw $v0, 0x18($sp) +/* 33754 80058354 0040B02D */ daddu $s6, $v0, $zero +/* 33758 80058358 02C0282D */ daddu $a1, $s6, $zero +/* 3375C 8005835C 3C0600FF */ lui $a2, 0xff +/* 33760 80058360 34C6FFFF */ ori $a2, $a2, 0xffff +/* 33764 80058364 00132400 */ sll $a0, $s3, 0x10 +/* 33768 80058368 00101840 */ sll $v1, $s0, 1 +/* 3376C 8005836C 3063FFFF */ andi $v1, $v1, 0xffff +/* 33770 80058370 00832025 */ or $a0, $a0, $v1 +/* 33774 80058374 8E420028 */ lw $v0, 0x28($s2) +/* 33778 80058378 3C030A00 */ lui $v1, 0xa00 +/* 3377C 8005837C ACA40004 */ sw $a0, 4($a1) +/* 33780 80058380 00021040 */ sll $v0, $v0, 1 +/* 33784 80058384 02A21021 */ addu $v0, $s5, $v0 +/* 33788 80058388 00461024 */ and $v0, $v0, $a2 +/* 3378C 8005838C 00431025 */ or $v0, $v0, $v1 +/* 33790 80058390 ACA20000 */ sw $v0, ($a1) +/* 33794 80058394 0214102A */ slt $v0, $s0, $s4 +/* 33798 80058398 1440FFC4 */ bnez $v0, .L800582AC +/* 3379C 8005839C 26D60008 */ addiu $s6, $s6, 8 +.L800583A0: +/* 337A0 800583A0 8E420028 */ lw $v0, 0x28($s2) +/* 337A4 800583A4 8E430024 */ lw $v1, 0x24($s2) +/* 337A8 800583A8 02821021 */ addu $v0, $s4, $v0 +/* 337AC 800583AC 3042000F */ andi $v0, $v0, 0xf +/* 337B0 800583B0 00741821 */ addu $v1, $v1, $s4 +/* 337B4 800583B4 AE420028 */ sw $v0, 0x28($s2) +/* 337B8 800583B8 001110C0 */ sll $v0, $s1, 3 +/* 337BC 800583BC AE430024 */ sw $v1, 0x24($s2) +/* 337C0 800583C0 8E430030 */ lw $v1, 0x30($s2) +/* 337C4 800583C4 00511021 */ addu $v0, $v0, $s1 +/* 337C8 800583C8 00621821 */ addu $v1, $v1, $v0 +/* 337CC 800583CC 08016212 */ j .L80058848 +/* 337D0 800583D0 AE430030 */ sw $v1, 0x30($s2) +.L800583D4: +/* 337D4 800583D4 8E440014 */ lw $a0, 0x14($s2) +/* 337D8 800583D8 8E430030 */ lw $v1, 0x30($s2) +/* 337DC 800583DC 8C820000 */ lw $v0, ($a0) +/* 337E0 800583E0 8C840004 */ lw $a0, 4($a0) +/* 337E4 800583E4 00671821 */ addu $v1, $v1, $a3 +/* 337E8 800583E8 00441021 */ addu $v0, $v0, $a0 +/* 337EC 800583EC 00622023 */ subu $a0, $v1, $v0 +/* 337F0 800583F0 1C800003 */ bgtz $a0, .L80058400 +/* 337F4 800583F4 00118100 */ sll $s0, $s1, 4 +/* 337F8 800583F8 08016101 */ j .L80058404 +/* 337FC 800583FC 0000202D */ daddu $a0, $zero, $zero +.L80058400: +/* 33800 80058400 AEE00028 */ sw $zero, 0x28($s7) +.L80058404: +/* 33804 80058404 3C0238E3 */ lui $v0, 0x38e3 +/* 33808 80058408 34428E39 */ ori $v0, $v0, 0x8e39 +/* 3380C 8005840C 00820018 */ mult $a0, $v0 +/* 33810 80058410 00041FC3 */ sra $v1, $a0, 0x1f +/* 33814 80058414 00004010 */ mfhi $t0 +/* 33818 80058418 00081043 */ sra $v0, $t0, 1 +/* 3381C 8005841C 00431023 */ subu $v0, $v0, $v1 +/* 33820 80058420 00029900 */ sll $s3, $v0, 4 +/* 33824 80058424 02151821 */ addu $v1, $s0, $s5 +/* 33828 80058428 0073102A */ slt $v0, $v1, $s3 +/* 3382C 8005842C 54400001 */ bnel $v0, $zero, .L80058434 +/* 33830 80058430 0060982D */ daddu $s3, $v1, $zero +.L80058434: +/* 33834 80058434 3262000F */ andi $v0, $s3, 0xf +/* 33838 80058438 02621023 */ subu $v0, $s3, $v0 +/* 3383C 8005843C 0054102A */ slt $v0, $v0, $s4 +/* 33840 80058440 10400020 */ beqz $v0, .L800584C4 +/* 33844 80058444 00E43823 */ subu $a3, $a3, $a0 +/* 33848 80058448 24080001 */ addiu $t0, $zero, 1 +/* 3384C 8005844C 02C0202D */ daddu $a0, $s6, $zero +/* 33850 80058450 0240282D */ daddu $a1, $s2, $zero +/* 33854 80058454 001E1400 */ sll $v0, $fp, 0x10 +/* 33858 80058458 00021403 */ sra $v0, $v0, 0x10 +/* 3385C 8005845C AFA80024 */ sw $t0, 0x24($sp) +/* 33860 80058460 AFA20010 */ sw $v0, 0x10($sp) +/* 33864 80058464 AFA00014 */ sw $zero, 0x14($sp) +/* 33868 80058468 8E42002C */ lw $v0, 0x2c($s2) +/* 3386C 8005846C 02133023 */ subu $a2, $s0, $s3 +/* 33870 80058470 0C0162C8 */ jal func_80058B20 +/* 33874 80058474 AFA20018 */ sw $v0, 0x18($sp) +/* 33878 80058478 8E430028 */ lw $v1, 0x28($s2) +/* 3387C 8005847C 10600005 */ beqz $v1, .L80058494 +/* 33880 80058480 0040B02D */ daddu $s6, $v0, $zero +/* 33884 80058484 9642002A */ lhu $v0, 0x2a($s2) +/* 33888 80058488 00021040 */ sll $v0, $v0, 1 +/* 3388C 8005848C 08016126 */ j .L80058498 +/* 33890 80058490 03C2F021 */ addu $fp, $fp, $v0 +.L80058494: +/* 33894 80058494 27DE0020 */ addiu $fp, $fp, 0x20 +.L80058498: +/* 33898 80058498 8E420028 */ lw $v0, 0x28($s2) +/* 3389C 8005849C 8E430024 */ lw $v1, 0x24($s2) +/* 338A0 800584A0 02821021 */ addu $v0, $s4, $v0 +/* 338A4 800584A4 3042000F */ andi $v0, $v0, 0xf +/* 338A8 800584A8 00741821 */ addu $v1, $v1, $s4 +/* 338AC 800584AC AE420028 */ sw $v0, 0x28($s2) +/* 338B0 800584B0 001110C0 */ sll $v0, $s1, 3 +/* 338B4 800584B4 AE430024 */ sw $v1, 0x24($s2) +/* 338B8 800584B8 8E430030 */ lw $v1, 0x30($s2) +/* 338BC 800584BC 08016135 */ j .L800584D4 +/* 338C0 800584C0 00511021 */ addu $v0, $v0, $s1 +.L800584C4: +/* 338C4 800584C4 001110C0 */ sll $v0, $s1, 3 +/* 338C8 800584C8 8E430030 */ lw $v1, 0x30($s2) +/* 338CC 800584CC 00511021 */ addu $v0, $v0, $s1 +/* 338D0 800584D0 AE400028 */ sw $zero, 0x28($s2) +.L800584D4: +/* 338D4 800584D4 00621821 */ addu $v1, $v1, $v0 +/* 338D8 800584D8 126000DB */ beqz $s3, .L80058848 +/* 338DC 800584DC AE430030 */ sw $v1, 0x30($s2) +/* 338E0 800584E0 AE400028 */ sw $zero, 0x28($s2) +/* 338E4 800584E4 8FA80024 */ lw $t0, 0x24($sp) +/* 338E8 800584E8 11000004 */ beqz $t0, .L800584FC +/* 338EC 800584EC 02B01021 */ addu $v0, $s5, $s0 +/* 338F0 800584F0 00531023 */ subu $v0, $v0, $s3 +/* 338F4 800584F4 08016140 */ j .L80058500 +/* 338F8 800584F8 00022840 */ sll $a1, $v0, 1 +.L800584FC: +/* 338FC 800584FC 0000282D */ daddu $a1, $zero, $zero +.L80058500: +/* 33900 80058500 02C0202D */ daddu $a0, $s6, $zero +/* 33904 80058504 26D60008 */ addiu $s6, $s6, 8 +/* 33908 80058508 3C0300FF */ lui $v1, 0xff +/* 3390C 8005850C 3463FFFF */ ori $v1, $v1, 0xffff +/* 33910 80058510 001E1400 */ sll $v0, $fp, 0x10 +/* 33914 80058514 00021403 */ sra $v0, $v0, 0x10 +/* 33918 80058518 00A21021 */ addu $v0, $a1, $v0 +/* 3391C 8005851C 00431024 */ and $v0, $v0, $v1 +/* 33920 80058520 3C030200 */ lui $v1, 0x200 +/* 33924 80058524 00431025 */ or $v0, $v0, $v1 +/* 33928 80058528 AC820000 */ sw $v0, ($a0) +/* 3392C 8005852C 00131040 */ sll $v0, $s3, 1 +/* 33930 80058530 08016212 */ j .L80058848 +/* 33934 80058534 AC820004 */ sw $v0, 4($a0) +.L80058538: +/* 33938 80058538 8FA80060 */ lw $t0, 0x60($sp) +/* 3393C 8005853C 8D040028 */ lw $a0, 0x28($t0) +/* 33940 80058540 8D030010 */ lw $v1, 0x10($t0) +/* 33944 80058544 02841021 */ addu $v0, $s4, $a0 +/* 33948 80058548 0062102B */ sltu $v0, $v1, $v0 +/* 3394C 8005854C 10400079 */ beqz $v0, .L80058734 +/* 33950 80058550 00148040 */ sll $s0, $s4, 1 +/* 33954 80058554 8D020014 */ lw $v0, 0x14($t0) +/* 33958 80058558 10400076 */ beqz $v0, .L80058734 +/* 3395C 8005855C 00649823 */ subu $s3, $v1, $a0 +/* 33960 80058560 1A600017 */ blez $s3, .L800585C0 +/* 33964 80058564 00138040 */ sll $s0, $s3, 1 +/* 33968 80058568 0200282D */ daddu $a1, $s0, $zero +/* 3396C 8005856C 8D040034 */ lw $a0, 0x34($t0) +/* 33970 80058570 8D060024 */ lw $a2, 0x24($t0) +/* 33974 80058574 90E70025 */ lbu $a3, 0x25($a3) +/* 33978 80058578 8D020020 */ lw $v0, 0x20($t0) +/* 3397C 8005857C 0040F809 */ jalr $v0 +/* 33980 80058580 26D60008 */ addiu $s6, $s6, 8 +/* 33984 80058584 0040382D */ daddu $a3, $v0, $zero +/* 33988 80058588 30E60007 */ andi $a2, $a3, 7 +/* 3398C 8005858C 02068021 */ addu $s0, $s0, $a2 +/* 33990 80058590 3C030400 */ lui $v1, 0x400 +/* 33994 80058594 34630170 */ ori $v1, $v1, 0x170 +/* 33998 80058598 32020007 */ andi $v0, $s0, 7 +/* 3399C 8005859C 2442FFF8 */ addiu $v0, $v0, -8 +/* 339A0 800585A0 02021023 */ subu $v0, $s0, $v0 +/* 339A4 800585A4 30420FFF */ andi $v0, $v0, 0xfff +/* 339A8 800585A8 00021300 */ sll $v0, $v0, 0xc +/* 339AC 800585AC 00431025 */ or $v0, $v0, $v1 +/* 339B0 800585B0 AE220000 */ sw $v0, ($s1) +/* 339B4 800585B4 00E61023 */ subu $v0, $a3, $a2 +/* 339B8 800585B8 08016171 */ j .L800585C4 +/* 339BC 800585BC AE220004 */ sw $v0, 4($s1) +.L800585C0: +/* 339C0 800585C0 0000302D */ daddu $a2, $zero, $zero +.L800585C4: +/* 339C4 800585C4 03C61021 */ addu $v0, $fp, $a2 +/* 339C8 800585C8 0040F02D */ daddu $fp, $v0, $zero +/* 339CC 800585CC 00021400 */ sll $v0, $v0, 0x10 +/* 339D0 800585D0 0002AC03 */ sra $s5, $v0, 0x10 +/* 339D4 800585D4 0274102A */ slt $v0, $s3, $s4 +/* 339D8 800585D8 8E430008 */ lw $v1, 8($s2) +/* 339DC 800585DC 8E440014 */ lw $a0, 0x14($s2) +/* 339E0 800585E0 0060282D */ daddu $a1, $v1, $zero +/* 339E4 800585E4 8C840000 */ lw $a0, ($a0) +/* 339E8 800585E8 00031840 */ sll $v1, $v1, 1 +/* 339EC 800585EC AE450024 */ sw $a1, 0x24($s2) +/* 339F0 800585F0 00832021 */ addu $a0, $a0, $v1 +/* 339F4 800585F4 10400047 */ beqz $v0, .L80058714 +/* 339F8 800585F8 AE440030 */ sw $a0, 0x30($s2) +/* 339FC 800585FC 26D1FFFC */ addiu $s1, $s6, -4 +/* 33A00 80058600 00131040 */ sll $v0, $s3, 1 +.L80058604: +/* 33A04 80058604 02A2A821 */ addu $s5, $s5, $v0 +/* 33A08 80058608 8E430010 */ lw $v1, 0x10($s2) +/* 33A0C 8005860C 2402FFFF */ addiu $v0, $zero, -1 +/* 33A10 80058610 10620004 */ beq $v1, $v0, .L80058624 +/* 33A14 80058614 0293A023 */ subu $s4, $s4, $s3 +/* 33A18 80058618 10600002 */ beqz $v1, .L80058624 +/* 33A1C 8005861C 00621021 */ addu $v0, $v1, $v0 +/* 33A20 80058620 AE420010 */ sw $v0, 0x10($s2) +.L80058624: +/* 33A24 80058624 8E43000C */ lw $v1, 0xc($s2) +/* 33A28 80058628 8E420008 */ lw $v0, 8($s2) +/* 33A2C 8005862C 00621823 */ subu $v1, $v1, $v0 +/* 33A30 80058630 0283102B */ sltu $v0, $s4, $v1 +/* 33A34 80058634 14400002 */ bnez $v0, .L80058640 +/* 33A38 80058638 0280982D */ daddu $s3, $s4, $zero +/* 33A3C 8005863C 0060982D */ daddu $s3, $v1, $zero +.L80058640: +/* 33A40 80058640 00138040 */ sll $s0, $s3, 1 +/* 33A44 80058644 8E440030 */ lw $a0, 0x30($s2) +/* 33A48 80058648 8E420014 */ lw $v0, 0x14($s2) +/* 33A4C 8005864C 8E460020 */ lw $a2, 0x20($s2) +/* 33A50 80058650 90470025 */ lbu $a3, 0x25($v0) +/* 33A54 80058654 8E42001C */ lw $v0, 0x1c($s2) +/* 33A58 80058658 0040F809 */ jalr $v0 +/* 33A5C 8005865C 0200282D */ daddu $a1, $s0, $zero +/* 33A60 80058660 0040382D */ daddu $a3, $v0, $zero +/* 33A64 80058664 30E60007 */ andi $a2, $a3, 7 +/* 33A68 80058668 32A30007 */ andi $v1, $s5, 7 +/* 33A6C 8005866C 10600004 */ beqz $v1, .L80058680 +/* 33A70 80058670 02068021 */ addu $s0, $s0, $a2 +/* 33A74 80058674 24020008 */ addiu $v0, $zero, 8 +/* 33A78 80058678 080161A1 */ j .L80058684 +/* 33A7C 8005867C 00432823 */ subu $a1, $v0, $v1 +.L80058680: +/* 33A80 80058680 0000282D */ daddu $a1, $zero, $zero +.L80058684: +/* 33A84 80058684 26310008 */ addiu $s1, $s1, 8 +/* 33A88 80058688 26D60008 */ addiu $s6, $s6, 8 +/* 33A8C 8005868C 32020007 */ andi $v0, $s0, 7 +/* 33A90 80058690 2442FFF8 */ addiu $v0, $v0, -8 +/* 33A94 80058694 02021023 */ subu $v0, $s0, $v0 +/* 33A98 80058698 30420FFF */ andi $v0, $v0, 0xfff +/* 33A9C 8005869C 00021300 */ sll $v0, $v0, 0xc +/* 33AA0 800586A0 02A51821 */ addu $v1, $s5, $a1 +/* 33AA4 800586A4 30630FFF */ andi $v1, $v1, 0xfff +/* 33AA8 800586A8 3C040400 */ lui $a0, 0x400 +/* 33AAC 800586AC 00641825 */ or $v1, $v1, $a0 +/* 33AB0 800586B0 00431025 */ or $v0, $v0, $v1 +/* 33AB4 800586B4 AE22FFFC */ sw $v0, -4($s1) +/* 33AB8 800586B8 00E61023 */ subu $v0, $a3, $a2 +/* 33ABC 800586BC 14C00003 */ bnez $a2, .L800586CC +/* 33AC0 800586C0 AE220000 */ sw $v0, ($s1) +/* 33AC4 800586C4 10A00011 */ beqz $a1, .L8005870C +/* 33AC8 800586C8 0274102A */ slt $v0, $s3, $s4 +.L800586CC: +/* 33ACC 800586CC 26310008 */ addiu $s1, $s1, 8 +/* 33AD0 800586D0 26D60008 */ addiu $s6, $s6, 8 +/* 33AD4 800586D4 3C0300FF */ lui $v1, 0xff +/* 33AD8 800586D8 3463FFFF */ ori $v1, $v1, 0xffff +/* 33ADC 800586DC 02A61021 */ addu $v0, $s5, $a2 +/* 33AE0 800586E0 00451021 */ addu $v0, $v0, $a1 +/* 33AE4 800586E4 00431024 */ and $v0, $v0, $v1 +/* 33AE8 800586E8 3C030A00 */ lui $v1, 0xa00 +/* 33AEC 800586EC 00431025 */ or $v0, $v0, $v1 +/* 33AF0 800586F0 00151C00 */ sll $v1, $s5, 0x10 +/* 33AF4 800586F4 AE22FFFC */ sw $v0, -4($s1) +/* 33AF8 800586F8 00131040 */ sll $v0, $s3, 1 +/* 33AFC 800586FC 3042FFFF */ andi $v0, $v0, 0xffff +/* 33B00 80058700 00621825 */ or $v1, $v1, $v0 +/* 33B04 80058704 AE230000 */ sw $v1, ($s1) +/* 33B08 80058708 0274102A */ slt $v0, $s3, $s4 +.L8005870C: +/* 33B0C 8005870C 1440FFBD */ bnez $v0, .L80058604 +/* 33B10 80058710 00131040 */ sll $v0, $s3, 1 +.L80058714: +/* 33B14 80058714 8E420024 */ lw $v0, 0x24($s2) +/* 33B18 80058718 00541021 */ addu $v0, $v0, $s4 +/* 33B1C 8005871C AE420024 */ sw $v0, 0x24($s2) +/* 33B20 80058720 8E420030 */ lw $v0, 0x30($s2) +/* 33B24 80058724 00141840 */ sll $v1, $s4, 1 +/* 33B28 80058728 00431021 */ addu $v0, $v0, $v1 +/* 33B2C 8005872C 08016212 */ j .L80058848 +/* 33B30 80058730 AE420030 */ sw $v0, 0x30($s2) +.L80058734: +/* 33B34 80058734 8E440014 */ lw $a0, 0x14($s2) +/* 33B38 80058738 8E430030 */ lw $v1, 0x30($s2) +/* 33B3C 8005873C 8C820000 */ lw $v0, ($a0) +/* 33B40 80058740 8C840004 */ lw $a0, 4($a0) +/* 33B44 80058744 00701821 */ addu $v1, $v1, $s0 +/* 33B48 80058748 00441021 */ addu $v0, $v0, $a0 +/* 33B4C 8005874C 00628823 */ subu $s1, $v1, $v0 +/* 33B50 80058750 5E200002 */ bgtzl $s1, .L8005875C +/* 33B54 80058754 AEE00028 */ sw $zero, 0x28($s7) +/* 33B58 80058758 0000882D */ daddu $s1, $zero, $zero +.L8005875C: +/* 33B5C 8005875C 0211102A */ slt $v0, $s0, $s1 +/* 33B60 80058760 54400001 */ bnel $v0, $zero, .L80058768 +/* 33B64 80058764 0200882D */ daddu $s1, $s0, $zero +.L80058768: +/* 33B68 80058768 0230102A */ slt $v0, $s1, $s0 +/* 33B6C 8005876C 10400021 */ beqz $v0, .L800587F4 +/* 33B70 80058770 00000000 */ nop +/* 33B74 80058774 1A80001A */ blez $s4, .L800587E0 +/* 33B78 80058778 02118023 */ subu $s0, $s0, $s1 +/* 33B7C 8005877C 8E440030 */ lw $a0, 0x30($s2) +/* 33B80 80058780 8E420014 */ lw $v0, 0x14($s2) +/* 33B84 80058784 8E460020 */ lw $a2, 0x20($s2) +/* 33B88 80058788 90470025 */ lbu $a3, 0x25($v0) +/* 33B8C 8005878C 8E42001C */ lw $v0, 0x1c($s2) +/* 33B90 80058790 0040F809 */ jalr $v0 +/* 33B94 80058794 0200282D */ daddu $a1, $s0, $zero +/* 33B98 80058798 0040382D */ daddu $a3, $v0, $zero +/* 33B9C 8005879C 30E60007 */ andi $a2, $a3, 7 +/* 33BA0 800587A0 02068021 */ addu $s0, $s0, $a2 +/* 33BA4 800587A4 02C0282D */ daddu $a1, $s6, $zero +/* 33BA8 800587A8 26D60008 */ addiu $s6, $s6, 8 +/* 33BAC 800587AC 32020007 */ andi $v0, $s0, 7 +/* 33BB0 800587B0 2442FFF8 */ addiu $v0, $v0, -8 +/* 33BB4 800587B4 02021023 */ subu $v0, $s0, $v0 +/* 33BB8 800587B8 30420FFF */ andi $v0, $v0, 0xfff +/* 33BBC 800587BC 00021300 */ sll $v0, $v0, 0xc +/* 33BC0 800587C0 33C30FFF */ andi $v1, $fp, 0xfff +/* 33BC4 800587C4 3C040400 */ lui $a0, 0x400 +/* 33BC8 800587C8 00641825 */ or $v1, $v1, $a0 +/* 33BCC 800587CC 00431025 */ or $v0, $v0, $v1 +/* 33BD0 800587D0 ACA20000 */ sw $v0, ($a1) +/* 33BD4 800587D4 00E61023 */ subu $v0, $a3, $a2 +/* 33BD8 800587D8 080161F9 */ j .L800587E4 +/* 33BDC 800587DC ACA20004 */ sw $v0, 4($a1) +.L800587E0: +/* 33BE0 800587E0 0000302D */ daddu $a2, $zero, $zero +.L800587E4: +/* 33BE4 800587E4 8E420024 */ lw $v0, 0x24($s2) +/* 33BE8 800587E8 03C6F021 */ addu $fp, $fp, $a2 +/* 33BEC 800587EC 00541021 */ addu $v0, $v0, $s4 +/* 33BF0 800587F0 AE420024 */ sw $v0, 0x24($s2) +.L800587F4: +/* 33BF4 800587F4 8E420030 */ lw $v0, 0x30($s2) +/* 33BF8 800587F8 00141840 */ sll $v1, $s4, 1 +/* 33BFC 800587FC 00431021 */ addu $v0, $v0, $v1 +/* 33C00 80058800 12200011 */ beqz $s1, .L80058848 +/* 33C04 80058804 AE420030 */ sw $v0, 0x30($s2) +/* 33C08 80058808 00141040 */ sll $v0, $s4, 1 +/* 33C0C 8005880C 00512823 */ subu $a1, $v0, $s1 +/* 33C10 80058810 04A20001 */ bltzl $a1, .L80058818 +/* 33C14 80058814 0000282D */ daddu $a1, $zero, $zero +.L80058818: +/* 33C18 80058818 02C0202D */ daddu $a0, $s6, $zero +/* 33C1C 8005881C 26D60008 */ addiu $s6, $s6, 8 +/* 33C20 80058820 3C0300FF */ lui $v1, 0xff +/* 33C24 80058824 3463FFFF */ ori $v1, $v1, 0xffff +/* 33C28 80058828 001E1400 */ sll $v0, $fp, 0x10 +/* 33C2C 8005882C 00021403 */ sra $v0, $v0, 0x10 +/* 33C30 80058830 00A21021 */ addu $v0, $a1, $v0 +/* 33C34 80058834 00431024 */ and $v0, $v0, $v1 +/* 33C38 80058838 3C030200 */ lui $v1, 0x200 +/* 33C3C 8005883C 00431025 */ or $v0, $v0, $v1 +/* 33C40 80058840 AC820000 */ sw $v0, ($a0) +/* 33C44 80058844 AC910004 */ sw $s1, 4($a0) +.L80058848: +/* 33C48 80058848 8FA80020 */ lw $t0, 0x20($sp) +/* 33C4C 8005884C 3C014700 */ lui $at, 0x4700 +/* 33C50 80058850 44811000 */ mtc1 $at, $f2 +/* 33C54 80058854 C5000004 */ lwc1 $f0, 4($t0) +/* 33C58 80058858 46020002 */ mul.s $f0, $f0, $f2 +/* 33C5C 8005885C 00000000 */ nop +/* 33C60 80058860 8D040000 */ lw $a0, ($t0) +/* 33C64 80058864 4600018D */ trunc.w.s $f6, $f0 +/* 33C68 80058868 44103000 */ mfc1 $s0, $f6 +/* 33C6C 8005886C 0C0187A4 */ jal osVirtualToPhysical +/* 33C70 80058870 3210FFFF */ andi $s0, $s0, 0xffff +/* 33C74 80058874 3C0300FF */ lui $v1, 0xff +/* 33C78 80058878 3463FFFF */ ori $v1, $v1, 0xffff +/* 33C7C 8005887C 02C0202D */ daddu $a0, $s6, $zero +/* 33C80 80058880 00431024 */ and $v0, $v0, $v1 +/* 33C84 80058884 3C030500 */ lui $v1, 0x500 +/* 33C88 80058888 00431025 */ or $v0, $v0, $v1 +/* 33C8C 8005888C 00108380 */ sll $s0, $s0, 0xe +/* 33C90 80058890 AC820000 */ sw $v0, ($a0) +/* 33C94 80058894 8FA80020 */ lw $t0, 0x20($sp) +/* 33C98 80058898 33C20FFF */ andi $v0, $fp, 0xfff +/* 33C9C 8005889C 8D03000C */ lw $v1, 0xc($t0) +/* 33CA0 800588A0 00021080 */ sll $v0, $v0, 2 +/* 33CA4 800588A4 00031F80 */ sll $v1, $v1, 0x1e +/* 33CA8 800588A8 00701825 */ or $v1, $v1, $s0 +/* 33CAC 800588AC 00621825 */ or $v1, $v1, $v0 +/* 33CB0 800588B0 AC830004 */ sw $v1, 4($a0) +/* 33CB4 800588B4 AD00000C */ sw $zero, 0xc($t0) +/* 33CB8 800588B8 8EE20024 */ lw $v0, 0x24($s7) +/* 33CBC 800588BC 10400069 */ beqz $v0, .L80058A64 +/* 33CC0 800588C0 26D60008 */ addiu $s6, $s6, 8 +/* 33CC4 800588C4 3C028008 */ lui $v0, %hi(D_80078181) +/* 33CC8 800588C8 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 33CCC 800588CC 90420000 */ lbu $v0, ($v0) +/* 33CD0 800588D0 1440000C */ bnez $v0, .L80058904 +/* 33CD4 800588D4 AEE00024 */ sw $zero, 0x24($s7) +/* 33CD8 800588D8 3C048008 */ lui $a0, %hi(D_80078E60) +/* 33CDC 800588DC 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 33CE0 800588E0 86E30006 */ lh $v1, 6($s7) +/* 33CE4 800588E4 84820080 */ lh $v0, 0x80($a0) +/* 33CE8 800588E8 00620018 */ mult $v1, $v0 +/* 33CEC 800588EC 00004012 */ mflo $t0 +/* 33CF0 800588F0 000813C3 */ sra $v0, $t0, 0xf +/* 33CF4 800588F4 A6E20014 */ sh $v0, 0x14($s7) +/* 33CF8 800588F8 84820080 */ lh $v0, 0x80($a0) +/* 33CFC 800588FC 08016254 */ j .L80058950 +/* 33D00 80058900 00620018 */ mult $v1, $v0 +.L80058904: +/* 33D04 80058904 86E20004 */ lh $v0, 4($s7) +/* 33D08 80058908 86E30006 */ lh $v1, 6($s7) +/* 33D0C 8005890C 00021040 */ sll $v0, $v0, 1 +/* 33D10 80058910 3C018008 */ lui $at, %hi(D_80078E60) +/* 33D14 80058914 00220821 */ addu $at, $at, $v0 +/* 33D18 80058918 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 33D1C 8005891C 00620018 */ mult $v1, $v0 +/* 33D20 80058920 86E30004 */ lh $v1, 4($s7) +/* 33D24 80058924 00004012 */ mflo $t0 +/* 33D28 80058928 000813C3 */ sra $v0, $t0, 0xf +/* 33D2C 8005892C A6E20014 */ sh $v0, 0x14($s7) +/* 33D30 80058930 2402007F */ addiu $v0, $zero, 0x7f +/* 33D34 80058934 00431023 */ subu $v0, $v0, $v1 +/* 33D38 80058938 00021040 */ sll $v0, $v0, 1 +/* 33D3C 8005893C 86E30006 */ lh $v1, 6($s7) +/* 33D40 80058940 3C018008 */ lui $at, %hi(D_80078E60) +/* 33D44 80058944 00220821 */ addu $at, $at, $v0 +/* 33D48 80058948 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 33D4C 8005894C 00620018 */ mult $v1, $v0 +.L80058950: +/* 33D50 80058950 00004012 */ mflo $t0 +/* 33D54 80058954 000813C3 */ sra $v0, $t0, 0xf +/* 33D58 80058958 A6E2001A */ sh $v0, 0x1a($s7) +/* 33D5C 8005895C 86E30008 */ lh $v1, 8($s7) +/* 33D60 80058960 86E40014 */ lh $a0, 0x14($s7) +/* 33D64 80058964 8EE50020 */ lw $a1, 0x20($s7) +/* 33D68 80058968 26E20010 */ addiu $v0, $s7, 0x10 +/* 33D6C 8005896C AFA20014 */ sw $v0, 0x14($sp) +/* 33D70 80058970 44836000 */ mtc1 $v1, $f12 +/* 33D74 80058974 00000000 */ nop +/* 33D78 80058978 46806321 */ cvt.d.w $f12, $f12 +/* 33D7C 8005897C 44847000 */ mtc1 $a0, $f14 +/* 33D80 80058980 00000000 */ nop +/* 33D84 80058984 468073A1 */ cvt.d.w $f14, $f14 +/* 33D88 80058988 0C01631B */ jal func_80058C6C +/* 33D8C 8005898C AFA50010 */ sw $a1, 0x10($sp) +/* 33D90 80058990 86E3000A */ lh $v1, 0xa($s7) +/* 33D94 80058994 86E4001A */ lh $a0, 0x1a($s7) +/* 33D98 80058998 8EE50020 */ lw $a1, 0x20($s7) +/* 33D9C 8005899C A6E20012 */ sh $v0, 0x12($s7) +/* 33DA0 800589A0 26E20016 */ addiu $v0, $s7, 0x16 +/* 33DA4 800589A4 AFA20014 */ sw $v0, 0x14($sp) +/* 33DA8 800589A8 44836000 */ mtc1 $v1, $f12 +/* 33DAC 800589AC 00000000 */ nop +/* 33DB0 800589B0 46806321 */ cvt.d.w $f12, $f12 +/* 33DB4 800589B4 44847000 */ mtc1 $a0, $f14 +/* 33DB8 800589B8 00000000 */ nop +/* 33DBC 800589BC 468073A1 */ cvt.d.w $f14, $f14 +/* 33DC0 800589C0 0C01631B */ jal func_80058C6C +/* 33DC4 800589C4 AFA50010 */ sw $a1, 0x10($sp) +/* 33DC8 800589C8 02C0202D */ daddu $a0, $s6, $zero +/* 33DCC 800589CC 26D60008 */ addiu $s6, $s6, 8 +/* 33DD0 800589D0 02C0282D */ daddu $a1, $s6, $zero +/* 33DD4 800589D4 26D60008 */ addiu $s6, $s6, 8 +/* 33DD8 800589D8 02C0302D */ daddu $a2, $s6, $zero +/* 33DDC 800589DC 26D60008 */ addiu $s6, $s6, 8 +/* 33DE0 800589E0 3C030900 */ lui $v1, 0x900 +/* 33DE4 800589E4 A6E20018 */ sh $v0, 0x18($s7) +/* 33DE8 800589E8 96E20014 */ lhu $v0, 0x14($s7) +/* 33DEC 800589EC 02C0802D */ daddu $s0, $s6, $zero +/* 33DF0 800589F0 00431025 */ or $v0, $v0, $v1 +/* 33DF4 800589F4 AC820000 */ sw $v0, ($a0) +/* 33DF8 800589F8 96E20012 */ lhu $v0, 0x12($s7) +/* 33DFC 800589FC 96E30010 */ lhu $v1, 0x10($s7) +/* 33E00 80058A00 00021400 */ sll $v0, $v0, 0x10 +/* 33E04 80058A04 00431025 */ or $v0, $v0, $v1 +/* 33E08 80058A08 AC820004 */ sw $v0, 4($a0) +/* 33E0C 80058A0C 96E20008 */ lhu $v0, 8($s7) +/* 33E10 80058A10 3C030906 */ lui $v1, 0x906 +/* 33E14 80058A14 00431025 */ or $v0, $v0, $v1 +/* 33E18 80058A18 ACA20000 */ sw $v0, ($a1) +/* 33E1C 80058A1C 96E2000C */ lhu $v0, 0xc($s7) +/* 33E20 80058A20 96E3000E */ lhu $v1, 0xe($s7) +/* 33E24 80058A24 00021400 */ sll $v0, $v0, 0x10 +/* 33E28 80058A28 00431025 */ or $v0, $v0, $v1 +/* 33E2C 80058A2C ACA20004 */ sw $v0, 4($a1) +/* 33E30 80058A30 96E2001A */ lhu $v0, 0x1a($s7) +/* 33E34 80058A34 3C030904 */ lui $v1, 0x904 +/* 33E38 80058A38 00431025 */ or $v0, $v0, $v1 +/* 33E3C 80058A3C ACC20000 */ sw $v0, ($a2) +/* 33E40 80058A40 96E20018 */ lhu $v0, 0x18($s7) +/* 33E44 80058A44 96E30016 */ lhu $v1, 0x16($s7) +/* 33E48 80058A48 00021400 */ sll $v0, $v0, 0x10 +/* 33E4C 80058A4C 00431025 */ or $v0, $v0, $v1 +/* 33E50 80058A50 ACC20004 */ sw $v0, 4($a2) +/* 33E54 80058A54 96E2000A */ lhu $v0, 0xa($s7) +/* 33E58 80058A58 3C030301 */ lui $v1, 0x301 +/* 33E5C 80058A5C 0801629B */ j .L80058A6C +/* 33E60 80058A60 00431025 */ or $v0, $v0, $v1 +.L80058A64: +/* 33E64 80058A64 02C0802D */ daddu $s0, $s6, $zero +/* 33E68 80058A68 3C020300 */ lui $v0, 0x300 +.L80058A6C: +/* 33E6C 80058A6C AE020000 */ sw $v0, ($s0) +/* 33E70 80058A70 8EE40000 */ lw $a0, ($s7) +/* 33E74 80058A74 0C0187A4 */ jal osVirtualToPhysical +/* 33E78 80058A78 26D60008 */ addiu $s6, $s6, 8 +/* 33E7C 80058A7C AE020004 */ sw $v0, 4($s0) +/* 33E80 80058A80 8EE2001C */ lw $v0, 0x1c($s7) +/* 33E84 80058A84 8EE30020 */ lw $v1, 0x20($s7) +/* 33E88 80058A88 244200B8 */ addiu $v0, $v0, 0xb8 +/* 33E8C 80058A8C AEE2001C */ sw $v0, 0x1c($s7) +/* 33E90 80058A90 0062102A */ slt $v0, $v1, $v0 +/* 33E94 80058A94 54400001 */ bnel $v0, $zero, .L80058A9C +/* 33E98 80058A98 AEE3001C */ sw $v1, 0x1c($s7) +.L80058A9C: +/* 33E9C 80058A9C 8EE20028 */ lw $v0, 0x28($s7) +/* 33EA0 80058AA0 14400013 */ bnez $v0, .L80058AF0 +/* 33EA4 80058AA4 02C0102D */ daddu $v0, $s6, $zero +/* 33EA8 80058AA8 24020001 */ addiu $v0, $zero, 1 +/* 33EAC 80058AAC AEE20024 */ sw $v0, 0x24($s7) +/* 33EB0 80058AB0 A6E20006 */ sh $v0, 6($s7) +/* 33EB4 80058AB4 8FA80020 */ lw $t0, 0x20($sp) +/* 33EB8 80058AB8 AD000008 */ sw $zero, 8($t0) +/* 33EBC 80058ABC AD02000C */ sw $v0, 0xc($t0) +/* 33EC0 80058AC0 8E430014 */ lw $v1, 0x14($s2) +/* 33EC4 80058AC4 AE400028 */ sw $zero, 0x28($s2) +/* 33EC8 80058AC8 AE42002C */ sw $v0, 0x2c($s2) +/* 33ECC 80058ACC AE400024 */ sw $zero, 0x24($s2) +/* 33ED0 80058AD0 8C620000 */ lw $v0, ($v1) +/* 33ED4 80058AD4 AE420030 */ sw $v0, 0x30($s2) +/* 33ED8 80058AD8 8C620014 */ lw $v0, 0x14($v1) +/* 33EDC 80058ADC AE420010 */ sw $v0, 0x10($s2) +/* 33EE0 80058AE0 8FA80060 */ lw $t0, 0x60($sp) +/* 33EE4 80058AE4 0C014B8C */ jal func_80052E30 +/* 33EE8 80058AE8 91040079 */ lbu $a0, 0x79($t0) +.L80058AEC: +/* 33EEC 80058AEC 02C0102D */ daddu $v0, $s6, $zero +.L80058AF0: +/* 33EF0 80058AF0 8FBF005C */ lw $ra, 0x5c($sp) +/* 33EF4 80058AF4 8FBE0058 */ lw $fp, 0x58($sp) +/* 33EF8 80058AF8 8FB70054 */ lw $s7, 0x54($sp) +/* 33EFC 80058AFC 8FB60050 */ lw $s6, 0x50($sp) +/* 33F00 80058B00 8FB5004C */ lw $s5, 0x4c($sp) +/* 33F04 80058B04 8FB40048 */ lw $s4, 0x48($sp) +/* 33F08 80058B08 8FB30044 */ lw $s3, 0x44($sp) +/* 33F0C 80058B0C 8FB20040 */ lw $s2, 0x40($sp) +/* 33F10 80058B10 8FB1003C */ lw $s1, 0x3c($sp) +/* 33F14 80058B14 8FB00038 */ lw $s0, 0x38($sp) +/* 33F18 80058B18 03E00008 */ jr $ra +/* 33F1C 80058B1C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/code_31650/func_80058B20.s b/asm/nonmatchings/code_31650/func_80058B20.s new file mode 100644 index 0000000000..07bc6ae0a5 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80058B20.s @@ -0,0 +1,90 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80058B20 +/* 33F20 80058B20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 33F24 80058B24 AFB3001C */ sw $s3, 0x1c($sp) +/* 33F28 80058B28 8FB30044 */ lw $s3, 0x44($sp) +/* 33F2C 80058B2C AFB50024 */ sw $s5, 0x24($sp) +/* 33F30 80058B30 8FB50048 */ lw $s5, 0x48($sp) +/* 33F34 80058B34 AFB40020 */ sw $s4, 0x20($sp) +/* 33F38 80058B38 97B40042 */ lhu $s4, 0x42($sp) +/* 33F3C 80058B3C AFB10014 */ sw $s1, 0x14($sp) +/* 33F40 80058B40 0080882D */ daddu $s1, $a0, $zero +/* 33F44 80058B44 AFB20018 */ sw $s2, 0x18($sp) +/* 33F48 80058B48 00A0902D */ daddu $s2, $a1, $zero +/* 33F4C 80058B4C AFB60028 */ sw $s6, 0x28($sp) +/* 33F50 80058B50 00C0B02D */ daddu $s6, $a2, $zero +/* 33F54 80058B54 AFB00010 */ sw $s0, 0x10($sp) +/* 33F58 80058B58 00E0802D */ daddu $s0, $a3, $zero +/* 33F5C 80058B5C 1A000019 */ blez $s0, .L80058BC4 +/* 33F60 80058B60 AFBF002C */ sw $ra, 0x2c($sp) +/* 33F64 80058B64 8E430014 */ lw $v1, 0x14($s2) +/* 33F68 80058B68 8E42001C */ lw $v0, 0x1c($s2) +/* 33F6C 80058B6C 8E440030 */ lw $a0, 0x30($s2) +/* 33F70 80058B70 8E460020 */ lw $a2, 0x20($s2) +/* 33F74 80058B74 90670025 */ lbu $a3, 0x25($v1) +/* 33F78 80058B78 0040F809 */ jalr $v0 +/* 33F7C 80058B7C 0200282D */ daddu $a1, $s0, $zero +/* 33F80 80058B80 30480007 */ andi $t0, $v0, 7 +/* 33F84 80058B84 02088021 */ addu $s0, $s0, $t0 +/* 33F88 80058B88 0220302D */ daddu $a2, $s1, $zero +/* 33F8C 80058B8C 26310008 */ addiu $s1, $s1, 8 +/* 33F90 80058B90 32030007 */ andi $v1, $s0, 7 +/* 33F94 80058B94 2463FFF8 */ addiu $v1, $v1, -8 +/* 33F98 80058B98 02031823 */ subu $v1, $s0, $v1 +/* 33F9C 80058B9C 30630FFF */ andi $v1, $v1, 0xfff +/* 33FA0 80058BA0 00031B00 */ sll $v1, $v1, 0xc +/* 33FA4 80058BA4 32640FFF */ andi $a0, $s3, 0xfff +/* 33FA8 80058BA8 3C050400 */ lui $a1, 0x400 +/* 33FAC 80058BAC 00852025 */ or $a0, $a0, $a1 +/* 33FB0 80058BB0 00641825 */ or $v1, $v1, $a0 +/* 33FB4 80058BB4 00481023 */ subu $v0, $v0, $t0 +/* 33FB8 80058BB8 ACC30000 */ sw $v1, ($a2) +/* 33FBC 80058BBC 080162F2 */ j .L80058BC8 +/* 33FC0 80058BC0 ACC20004 */ sw $v0, 4($a2) +.L80058BC4: +/* 33FC4 80058BC4 0000402D */ daddu $t0, $zero, $zero +.L80058BC8: +/* 33FC8 80058BC8 32A20002 */ andi $v0, $s5, 2 +/* 33FCC 80058BCC 10400009 */ beqz $v0, .L80058BF4 +/* 33FD0 80058BD0 0220202D */ daddu $a0, $s1, $zero +/* 33FD4 80058BD4 26310008 */ addiu $s1, $s1, 8 +/* 33FD8 80058BD8 3C031FFF */ lui $v1, 0x1fff +/* 33FDC 80058BDC 3C020F00 */ lui $v0, 0xf00 +/* 33FE0 80058BE0 AC820000 */ sw $v0, ($a0) +/* 33FE4 80058BE4 8E420004 */ lw $v0, 4($s2) +/* 33FE8 80058BE8 3463FFFF */ ori $v1, $v1, 0xffff +/* 33FEC 80058BEC 00431024 */ and $v0, $v0, $v1 +/* 33FF0 80058BF0 AC820004 */ sw $v0, 4($a0) +.L80058BF4: +/* 33FF4 80058BF4 3C0700FF */ lui $a3, 0xff +/* 33FF8 80058BF8 34E7FFFF */ ori $a3, $a3, 0xffff +/* 33FFC 80058BFC 26220008 */ addiu $v0, $s1, 8 +/* 34000 80058C00 0220302D */ daddu $a2, $s1, $zero +/* 34004 80058C04 00152700 */ sll $a0, $s5, 0x1c +/* 34008 80058C08 00161840 */ sll $v1, $s6, 1 +/* 3400C 80058C0C 30630FFF */ andi $v1, $v1, 0xfff +/* 34010 80058C10 00031C00 */ sll $v1, $v1, 0x10 +/* 34014 80058C14 00832025 */ or $a0, $a0, $v1 +/* 34018 80058C18 00081B00 */ sll $v1, $t0, 0xc +/* 3401C 80058C1C 00832025 */ or $a0, $a0, $v1 +/* 34020 80058C20 32850FFF */ andi $a1, $s4, 0xfff +/* 34024 80058C24 8E430000 */ lw $v1, ($s2) +/* 34028 80058C28 00852025 */ or $a0, $a0, $a1 +/* 3402C 80058C2C ACC40004 */ sw $a0, 4($a2) +/* 34030 80058C30 3C040100 */ lui $a0, 0x100 +/* 34034 80058C34 00671824 */ and $v1, $v1, $a3 +/* 34038 80058C38 00641825 */ or $v1, $v1, $a0 +/* 3403C 80058C3C ACC30000 */ sw $v1, ($a2) +/* 34040 80058C40 AE40002C */ sw $zero, 0x2c($s2) +/* 34044 80058C44 8FBF002C */ lw $ra, 0x2c($sp) +/* 34048 80058C48 8FB60028 */ lw $s6, 0x28($sp) +/* 3404C 80058C4C 8FB50024 */ lw $s5, 0x24($sp) +/* 34050 80058C50 8FB40020 */ lw $s4, 0x20($sp) +/* 34054 80058C54 8FB3001C */ lw $s3, 0x1c($sp) +/* 34058 80058C58 8FB20018 */ lw $s2, 0x18($sp) +/* 3405C 80058C5C 8FB10014 */ lw $s1, 0x14($sp) +/* 34060 80058C60 8FB00010 */ lw $s0, 0x10($sp) +/* 34064 80058C64 03E00008 */ jr $ra +/* 34068 80058C68 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31650/func_80058C6C.s b/asm/nonmatchings/code_31650/func_80058C6C.s new file mode 100644 index 0000000000..fbc8587270 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80058C6C.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80058C6C +/* 3406C 80058C6C 8FA20010 */ lw $v0, 0x10($sp) +/* 34070 80058C70 1440000B */ bnez $v0, .L80058CA0 +/* 34074 80058C74 8FA50014 */ lw $a1, 0x14($sp) +/* 34078 80058C78 462E603E */ c.le.d $f12, $f14 +/* 3407C 80058C7C 00000000 */ nop +/* 34080 80058C80 45020005 */ bc1fl .L80058C98 +/* 34084 80058C84 A4A00000 */ sh $zero, ($a1) +/* 34088 80058C88 3402FFFF */ ori $v0, $zero, 0xffff +/* 3408C 80058C8C A4A20000 */ sh $v0, ($a1) +/* 34090 80058C90 03E00008 */ jr $ra +/* 34094 80058C94 24027FFF */ addiu $v0, $zero, 0x7fff +.L80058C98: +/* 34098 80058C98 03E00008 */ jr $ra +/* 3409C 80058C9C 0000102D */ daddu $v0, $zero, $zero +.L80058CA0: +/* 340A0 80058CA0 3C013FF0 */ lui $at, 0x3ff0 +/* 340A4 80058CA4 44812800 */ mtc1 $at, $f5 +/* 340A8 80058CA8 44802000 */ mtc1 $zero, $f4 +/* 340AC 80058CAC 44820000 */ mtc1 $v0, $f0 +/* 340B0 80058CB0 00000000 */ nop +/* 340B4 80058CB4 46800021 */ cvt.d.w $f0, $f0 +/* 340B8 80058CB8 4624703C */ c.lt.d $f14, $f4 +/* 340BC 80058CBC 00000000 */ nop +/* 340C0 80058CC0 45000002 */ bc1f .L80058CCC +/* 340C4 80058CC4 46202083 */ div.d $f2, $f4, $f0 +/* 340C8 80058CC8 46202386 */ mov.d $f14, $f4 +.L80058CCC: +/* 340CC 80058CCC 44800000 */ mtc1 $zero, $f0 +/* 340D0 80058CD0 44800800 */ mtc1 $zero, $f1 +/* 340D4 80058CD4 00000000 */ nop +/* 340D8 80058CD8 4620603E */ c.le.d $f12, $f0 +/* 340DC 80058CDC 00000000 */ nop +/* 340E0 80058CE0 45030001 */ bc1tl .L80058CE8 +/* 340E4 80058CE4 46202306 */ mov.d $f12, $f4 +.L80058CE8: +/* 340E8 80058CE8 462C7001 */ sub.d $f0, $f14, $f12 +/* 340EC 80058CEC 46220002 */ mul.d $f0, $f0, $f2 +/* 340F0 80058CF0 00000000 */ nop +/* 340F4 80058CF4 3C014020 */ lui $at, 0x4020 +/* 340F8 80058CF8 44811800 */ mtc1 $at, $f3 +/* 340FC 80058CFC 44801000 */ mtc1 $zero, $f2 +/* 34100 80058D00 00000000 */ nop +/* 34104 80058D04 46220002 */ mul.d $f0, $f0, $f2 +/* 34108 80058D08 00000000 */ nop +/* 3410C 80058D0C 4620018D */ trunc.w.d $f6, $f0 +/* 34110 80058D10 44033000 */ mfc1 $v1, $f6 +/* 34114 80058D14 00000000 */ nop +/* 34118 80058D18 00031400 */ sll $v0, $v1, 0x10 +/* 3411C 80058D1C 00021403 */ sra $v0, $v0, 0x10 +/* 34120 80058D20 44821000 */ mtc1 $v0, $f2 +/* 34124 80058D24 00000000 */ nop +/* 34128 80058D28 468010A1 */ cvt.d.w $f2, $f2 +/* 3412C 80058D2C 46220001 */ sub.d $f0, $f0, $f2 +/* 34130 80058D30 46240000 */ add.d $f0, $f0, $f4 +/* 34134 80058D34 4620018D */ trunc.w.d $f6, $f0 +/* 34138 80058D38 44043000 */ mfc1 $a0, $f6 +/* 3413C 80058D3C 00000000 */ nop +/* 34140 80058D40 00041400 */ sll $v0, $a0, 0x10 +/* 34144 80058D44 00021403 */ sra $v0, $v0, 0x10 +/* 34148 80058D48 44821000 */ mtc1 $v0, $f2 +/* 3414C 80058D4C 00000000 */ nop +/* 34150 80058D50 468010A1 */ cvt.d.w $f2, $f2 +/* 34154 80058D54 46220001 */ sub.d $f0, $f0, $f2 +/* 34158 80058D58 3C01800A */ lui $at, %hi(D_80098938) +/* 3415C 80058D5C D4228938 */ ldc1 $f2, %lo(D_80098938)($at) +/* 34160 80058D60 46220002 */ mul.d $f0, $f0, $f2 +/* 34164 80058D64 00000000 */ nop +/* 34168 80058D68 2463FFFF */ addiu $v1, $v1, -1 +/* 3416C 80058D6C 3C0141E0 */ lui $at, 0x41e0 +/* 34170 80058D70 44811800 */ mtc1 $at, $f3 +/* 34174 80058D74 44801000 */ mtc1 $zero, $f2 +/* 34178 80058D78 00000000 */ nop +/* 3417C 80058D7C 4620103E */ c.le.d $f2, $f0 +/* 34180 80058D80 00000000 */ nop +/* 34184 80058D84 45010005 */ bc1t .L80058D9C +/* 34188 80058D88 00641821 */ addu $v1, $v1, $a0 +/* 3418C 80058D8C 4620018D */ trunc.w.d $f6, $f0 +/* 34190 80058D90 44043000 */ mfc1 $a0, $f6 +/* 34194 80058D94 0801636E */ j .L80058DB8 +/* 34198 80058D98 A4A40000 */ sh $a0, ($a1) +.L80058D9C: +/* 3419C 80058D9C 46220001 */ sub.d $f0, $f0, $f2 +/* 341A0 80058DA0 3C028000 */ lui $v0, 0x8000 +/* 341A4 80058DA4 4620018D */ trunc.w.d $f6, $f0 +/* 341A8 80058DA8 44043000 */ mfc1 $a0, $f6 +/* 341AC 80058DAC 00000000 */ nop +/* 341B0 80058DB0 00822025 */ or $a0, $a0, $v0 +/* 341B4 80058DB4 A4A40000 */ sh $a0, ($a1) +.L80058DB8: +/* 341B8 80058DB8 00031400 */ sll $v0, $v1, 0x10 +/* 341BC 80058DBC 03E00008 */ jr $ra +/* 341C0 80058DC0 00021403 */ sra $v0, $v0, 0x10 +/* 341C4 80058DC4 00000000 */ nop +/* 341C8 80058DC8 00000000 */ nop +/* 341CC 80058DCC 00000000 */ nop diff --git a/include/functions.h b/include/functions.h index e9a3be6e7b..fe2254e58a 100644 --- a/include/functions.h +++ b/include/functions.h @@ -71,7 +71,7 @@ s32 func_80055464(s32, s32); s32 func_800554A4(s32, s32); s32 func_800554E8(s32, s32); s32 func_800555E4(s32); -void func_800561A4(s16); +void func_800561A4(s32); s32 osGetId(); void set_curtain_scale_goal(f32 scale); diff --git a/src/audio.h b/src/audio.h index f1b28c5940..9fb462b19c 100644 --- a/src/audio.h +++ b/src/audio.h @@ -44,7 +44,9 @@ typedef struct UnkAl6CC { /* 0x0BA */ s16 unk_BA; /* 0x0BC */ char unk_BC[0x2]; /* 0x0BE */ u8 unk_BE; - /* 0x0BF */ char unk_BF[0x60D]; + /* 0x0BF */ char unk_BF[0xA9]; + /* 0x168 */ s32 unk_168; + /* 0x16C */ char unk_16C[0x560]; } UnkAl6CC; typedef struct UnkAlA9C { @@ -154,7 +156,9 @@ typedef struct UnkAl19E0 { /* 0x001C */ s32 unk_1C; /* 0x0020 */ UnkTemp2* unk_20; /* 0x0024 */ s32 unk_24; - /* 0x0028 */ char unk_28[0x14]; + /* 0x0028 */ char unk_28[0xC]; + /* 0x0034 */ s32 unk_34; + /* 0x0038 */ s32 unk_38; /* 0x003C */ UnkAl19E0Sub* unk_3C; /* 0x0040 */ UnkAl19E0Sub2 unk_40[4]; /* 0x0050 */ s8 unk_50; @@ -241,6 +245,10 @@ extern s32* D_80078190; extern s32* D_800781D0; extern s32* D_80078544; extern s32* D_80078DB0; + +extern s8 D_80078E58; +extern s16 D_80078E5A; + extern UnkAl19E0* D_8009A5C0; extern UnkAlA9C* D_8009A5CC; extern UnkAlA9C* D_8009A5FC; @@ -249,7 +257,10 @@ extern UnkAl834* D_8009A628; extern UnkAl6CC* D_8009A640; extern UnkAlA9C* D_8009A664; +void al_LoadBKHeaders(UnkAl19E0* arg0, ALHeap* arg1); + void func_8004B748(UnkAl6CC*); +void func_8004BA54(UnkAl6CC* arg0, s32 arg1); void func_8004D510(UnkAlA9C*); void func_8004DAA8(UnkStructFor8004DAA8* arg0); void func_800532F4(UnkAl30*); @@ -260,7 +271,9 @@ void func_80053A18(UnkStructFor80053A18* arg0); void func_80053A28(s32); void func_80053A98(s16 arg0, s32 arg1, s32 arg2); void func_80053BA8(UnkAl1*); +void func_80054CE0(s32, s32); void func_8005610C(void); +s16 func_80056D50(void); void func_80056D78(u8, u16); void func_800576EC(u8, s32, s32); diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index bab0205b46..2324838167 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -13,7 +13,7 @@ INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B9E4); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004BA54); +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004BA54, UnkAl6CC* arg0, s32 arg1); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004BA74); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 0980f8a851..065ed12807 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -409,7 +409,7 @@ s32 func_80054C4C(s32 arg0, s32 arg1) { INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054C84); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054CE0); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80054CE0, s32 arg0, s32 arg1); s32 func_80054D74(s32 arg0) { if (arg0 & 0x10) { diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index ece317290b..af0edc6bb4 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -1,11 +1,10 @@ #include "common.h" - #include "audio.h" // TODO: rodata extern u16 D_80078DB4; -INCLUDE_ASM(s32, "code_303c0_len_3e10", al_LoadBKHeaders); +INCLUDE_ASM(void, "code_303c0_len_3e10", al_LoadBKHeaders, UnkAl19E0* arg0, ALHeap* arg1); #ifdef NON_MATCHING // Delay slot (probably needs rodata) @@ -33,7 +32,9 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055330); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800553C0); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800553F4); +void func_800553F4(void) { + D_8009A640->unk_168 = 1; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055408); @@ -131,7 +132,9 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056068); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005608C); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560A8); +void func_800560A8(void) { + D_8009A5C0->unk_9C = 1; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560BC); @@ -139,109 +142,32 @@ INCLUDE_ASM(void, "code_303c0_len_3e10", func_8005610C, void); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056144); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005615C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056180); - -INCLUDE_ASM(void, "code_303c0_len_3e10", func_800561A4, s16 arg0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800561C4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800561E4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056204); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056228); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056250); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800565A4); - -INCLUDE_ASM(Acmd*, "code_303c0_len_3e10", alAudioFrame, Acmd* cmdList, s32* cmdLen, s16* outBuf, s32 outLen); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D34); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D44); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D50); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D5C); - -INCLUDE_ASM(void, "code_303c0_len_3e10", func_80056D78, u8 arg0, u16 arg1); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056DA4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056DCC); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056E34); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056EC0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056EE8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056F78); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056FA4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057224); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057344); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005736C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057548); - -INCLUDE_ASM(void, "code_303c0_len_3e10", func_800576EC, u8 arg0, s32 arg1, s32 arg2); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057874); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800579D8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057B64); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057B8C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057BB4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057BDC); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C04); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C2C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C54); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057D0C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057DC8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057E08); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057E5C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057EB0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057ED0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057F20); - -void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size) { - void* ret = NULL; - u8* newCur = &heap->cur[ALIGN16(arg1 * size)]; - - if (&heap->base[heap->len] >= newCur) { - ret = heap->cur; - heap->cur = newCur; - } - return ret; +void func_8005615C(void) { + func_80056D5C(1); + func_80054DA8(0); } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057FD8); +void func_80056180(void) { + func_80056D5C(0); + func_80054DA8(1); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058004); +void func_800561A4(s32 arg0) { + func_80054CE0(1, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058050); +void func_800561C4(s32 arg0) { + func_80054CE0(16, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058B20); +void func_800561E4(s32 arg0) { + func_80054D74(16, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058C6C); +void func_80056204(void) { + func_8004BA54(D_8009A640, 0); +} + +void func_80056228(void) { + func_8004BA54(D_8009A640, 1); +} diff --git a/src/code_31650.c b/src/code_31650.c new file mode 100644 index 0000000000..819d4de7b3 --- /dev/null +++ b/src/code_31650.c @@ -0,0 +1,113 @@ +#include "common.h" +#include "audio.h" + +INCLUDE_ASM(s32, "code_31650", func_80056250); + +INCLUDE_ASM(s32, "code_31650", func_800565A4); + +INCLUDE_ASM(Acmd*, "code_31650", alAudioFrame, Acmd* cmdList, s32* cmdLen, s16* outBuf, s32 outLen); + +#ifdef NON_MATCHING +void func_80056D34(void) { + D_80078E58 = 1; +} +#else +INCLUDE_ASM(s32, "code_31650", func_80056D34); +#endif + +#ifdef NON_MATCHING +void func_80056D44(s16 arg0) { + D_80078E5A = arg0; +} +#else +INCLUDE_ASM(s16, "code_31650", func_80056D44); +#endif + +#ifdef NON_MATCHING +s16 func_80056D50(void) { + return D_80078E5A; +} +#else +INCLUDE_ASM(s16, "code_31650", func_80056D50); +#endif + +INCLUDE_ASM(s32, "code_31650", func_80056D5C); + +INCLUDE_ASM(void, "code_31650", func_80056D78, u8 arg0, u16 arg1); + +INCLUDE_ASM(s32, "code_31650", func_80056DA4); + +INCLUDE_ASM(s32, "code_31650", func_80056DCC); + +INCLUDE_ASM(s32, "code_31650", func_80056E34); + +INCLUDE_ASM(s32, "code_31650", func_80056EC0); + +INCLUDE_ASM(s32, "code_31650", func_80056EE8); + +INCLUDE_ASM(s32, "code_31650", func_80056F78); + +INCLUDE_ASM(s32, "code_31650", func_80056FA4); + +INCLUDE_ASM(s32, "code_31650", func_80057224); + +INCLUDE_ASM(s32, "code_31650", func_80057344); + +INCLUDE_ASM(s32, "code_31650", func_8005736C); + +INCLUDE_ASM(s32, "code_31650", func_80057548); + +INCLUDE_ASM(void, "code_31650", func_800576EC, u8 arg0, s32 arg1, s32 arg2); + +INCLUDE_ASM(s32, "code_31650", func_80057874); + +INCLUDE_ASM(s32, "code_31650", func_800579D8); + +INCLUDE_ASM(s32, "code_31650", func_80057B64); + +INCLUDE_ASM(s32, "code_31650", func_80057B8C); + +INCLUDE_ASM(s32, "code_31650", func_80057BB4); + +INCLUDE_ASM(s32, "code_31650", func_80057BDC); + +INCLUDE_ASM(s32, "code_31650", func_80057C04); + +INCLUDE_ASM(s32, "code_31650", func_80057C2C); + +INCLUDE_ASM(s32, "code_31650", func_80057C54); + +INCLUDE_ASM(s32, "code_31650", func_80057D0C); + +INCLUDE_ASM(s32, "code_31650", func_80057DC8); + +INCLUDE_ASM(s32, "code_31650", func_80057E08); + +INCLUDE_ASM(s32, "code_31650", func_80057E5C); + +INCLUDE_ASM(s32, "code_31650", func_80057EB0); + +INCLUDE_ASM(s32, "code_31650", func_80057ED0); + +INCLUDE_ASM(s32, "code_31650", func_80057F20); + +void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size) { + void* ret = NULL; + u8* newCur = &heap->cur[ALIGN16(arg1 * size)]; + + if (&heap->base[heap->len] >= newCur) { + ret = heap->cur; + heap->cur = newCur; + } + return ret; +} + +INCLUDE_ASM(s32, "code_31650", func_80057FD8); + +INCLUDE_ASM(s32, "code_31650", func_80058004); + +INCLUDE_ASM(s32, "code_31650", func_80058050); + +INCLUDE_ASM(s32, "code_31650", func_80058B20); + +INCLUDE_ASM(s32, "code_31650", func_80058C6C); diff --git a/tools/splat.yaml b/tools/splat.yaml index df9ba53af0..18c3a76de2 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -62,6 +62,7 @@ segments: - [0x2d9a0, c, code_2d9a0_len_890] - [0x2e230, c, code_2e230_len_2190] - [0x303c0, c, code_303c0_len_3e10] + - [0x31650, c, code_31650] - [0x341d0, c, world/world] - [0x362a0, c, code_362a0_len_2f70] - [0x39210, c, code_39210_len_aa0]