papermario/ver/jp/asm/nonmatchings/main_31300/func_80056270.s
Ethan Roseman 698cf99458
jp cod (Created the first segment's c files for jp) (#194)
* jp cod

* just have less code and it works

* oops

* removing splat cause subrepo is being dumb

* git subrepo clone https://github.com/ethteck/splat.git tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "d7281bae6a"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "d7281bae6a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* move jp stuff + revert configure

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "c56195a9c5"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "c56195a9c5"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"
2021-02-27 00:36:33 +09:00

518 lines
26 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80056270
/* 31670 80056270 3C028008 */ lui $v0, %hi(D_80078E20)
/* 31674 80056274 8C428E20 */ lw $v0, %lo(D_80078E20)($v0)
/* 31678 80056278 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 3167C 8005627C AFB3002C */ sw $s3, 0x2c($sp)
/* 31680 80056280 AFA40048 */ sw $a0, 0x48($sp)
/* 31684 80056284 0080982D */ daddu $s3, $a0, $zero
/* 31688 80056288 AFBF0044 */ sw $ra, 0x44($sp)
/* 3168C 8005628C AFBE0040 */ sw $fp, 0x40($sp)
/* 31690 80056290 AFB7003C */ sw $s7, 0x3c($sp)
/* 31694 80056294 AFB60038 */ sw $s6, 0x38($sp)
/* 31698 80056298 AFB50034 */ sw $s5, 0x34($sp)
/* 3169C 8005629C AFB40030 */ sw $s4, 0x30($sp)
/* 316A0 800562A0 AFB20028 */ sw $s2, 0x28($sp)
/* 316A4 800562A4 AFB10024 */ sw $s1, 0x24($sp)
/* 316A8 800562A8 AFB00020 */ sw $s0, 0x20($sp)
/* 316AC 800562AC AFA5004C */ sw $a1, 0x4c($sp)
/* 316B0 800562B0 AFA70054 */ sw $a3, 0x54($sp)
/* 316B4 800562B4 14400003 */ bnez $v0, .L800562C4
/* 316B8 800562B8 AFA60010 */ sw $a2, 0x10($sp)
/* 316BC 800562BC 08015A6C */ j .L800569B0
/* 316C0 800562C0 ACA00000 */ sw $zero, ($a1)
.L800562C4:
/* 316C4 800562C4 0C014C9C */ jal func_80053270
/* 316C8 800562C8 00000000 */ nop
/* 316CC 800562CC 3C028008 */ lui $v0, %hi(D_80078E2C)
/* 316D0 800562D0 90428E2C */ lbu $v0, %lo(D_80078E2C)($v0)
/* 316D4 800562D4 1040001B */ beqz $v0, .L80056344
/* 316D8 800562D8 00000000 */ nop
/* 316DC 800562DC 3C038008 */ lui $v1, %hi(D_80078E24)
/* 316E0 800562E0 24638E24 */ addiu $v1, $v1, %lo(D_80078E24)
/* 316E4 800562E4 8C620000 */ lw $v0, ($v1)
/* 316E8 800562E8 8C42000C */ lw $v0, 0xc($v0)
/* 316EC 800562EC 18400013 */ blez $v0, .L8005633C
/* 316F0 800562F0 0000A82D */ daddu $s5, $zero, $zero
/* 316F4 800562F4 0060882D */ daddu $s1, $v1, $zero
/* 316F8 800562F8 24120001 */ addiu $s2, $zero, 1
/* 316FC 800562FC 02A0802D */ daddu $s0, $s5, $zero
.L80056300:
/* 31700 80056300 8E220000 */ lw $v0, ($s1)
/* 31704 80056304 8C42001C */ lw $v0, 0x1c($v0)
/* 31708 80056308 00502021 */ addu $a0, $v0, $s0
/* 3170C 8005630C 8C820070 */ lw $v0, 0x70($a0)
/* 31710 80056310 14520004 */ bne $v0, $s2, .L80056324
/* 31714 80056314 00000000 */ nop
/* 31718 80056318 9085004D */ lbu $a1, 0x4d($a0)
/* 3171C 8005631C 0C015D49 */ jal func_80057524
/* 31720 80056320 32A400FF */ andi $a0, $s5, 0xff
.L80056324:
/* 31724 80056324 8E220000 */ lw $v0, ($s1)
/* 31728 80056328 8C42000C */ lw $v0, 0xc($v0)
/* 3172C 8005632C 26B50001 */ addiu $s5, $s5, 1
/* 31730 80056330 02A2102A */ slt $v0, $s5, $v0
/* 31734 80056334 1440FFF2 */ bnez $v0, .L80056300
/* 31738 80056338 2610007C */ addiu $s0, $s0, 0x7c
.L8005633C:
/* 3173C 8005633C 3C018008 */ lui $at, %hi(D_80078E2C)
/* 31740 80056340 A0208E2C */ sb $zero, %lo(D_80078E2C)($at)
.L80056344:
/* 31744 80056344 8FA90054 */ lw $t1, 0x54($sp)
/* 31748 80056348 19200194 */ blez $t1, .L8005699C
/* 3174C 8005634C 00000000 */ nop
/* 31750 80056350 3C1E800A */ lui $fp, %hi(D_800A1DF8)
/* 31754 80056354 27DE1DF8 */ addiu $fp, $fp, %lo(D_800A1DF8)
.L80056358:
/* 31758 80056358 0C014C20 */ jal func_80053080
/* 3175C 8005635C 0000A82D */ daddu $s5, $zero, $zero
/* 31760 80056360 3C038008 */ lui $v1, %hi(D_80078E24)
/* 31764 80056364 8C638E24 */ lw $v1, %lo(D_80078E24)($v1)
/* 31768 80056368 8C62000C */ lw $v0, 0xc($v1)
/* 3176C 8005636C 1840001E */ blez $v0, .L800563E8
/* 31770 80056370 24170001 */ addiu $s7, $zero, 1
/* 31774 80056374 0060302D */ daddu $a2, $v1, $zero
/* 31778 80056378 02A0282D */ daddu $a1, $s5, $zero
.L8005637C:
/* 3177C 8005637C 8CC2001C */ lw $v0, 0x1c($a2)
/* 31780 80056380 00452021 */ addu $a0, $v0, $a1
/* 31784 80056384 90820078 */ lbu $v0, 0x78($a0)
/* 31788 80056388 240900FF */ addiu $t1, $zero, 0xff
/* 3178C 8005638C 1049000E */ beq $v0, $t1, .L800563C8
/* 31790 80056390 0040182D */ daddu $v1, $v0, $zero
/* 31794 80056394 8CC20010 */ lw $v0, 0x10($a2)
/* 31798 80056398 0062102A */ slt $v0, $v1, $v0
/* 3179C 8005639C 1040000A */ beqz $v0, .L800563C8
/* 317A0 800563A0 00031040 */ sll $v0, $v1, 1
/* 317A4 800563A4 00431021 */ addu $v0, $v0, $v1
/* 317A8 800563A8 8CC30020 */ lw $v1, 0x20($a2)
/* 317AC 800563AC 000210C0 */ sll $v0, $v0, 3
/* 317B0 800563B0 0062A021 */ addu $s4, $v1, $v0
/* 317B4 800563B4 8E820014 */ lw $v0, 0x14($s4)
/* 317B8 800563B8 50400002 */ beql $v0, $zero, .L800563C4
/* 317BC 800563BC AE840010 */ sw $a0, 0x10($s4)
/* 317C0 800563C0 AC440000 */ sw $a0, ($v0)
.L800563C4:
/* 317C4 800563C4 AE840014 */ sw $a0, 0x14($s4)
.L800563C8:
/* 317C8 800563C8 3C028008 */ lui $v0, %hi(D_80078E24)
/* 317CC 800563CC 8C428E24 */ lw $v0, %lo(D_80078E24)($v0)
/* 317D0 800563D0 8C42000C */ lw $v0, 0xc($v0)
/* 317D4 800563D4 26B50001 */ addiu $s5, $s5, 1
/* 317D8 800563D8 02A2102A */ slt $v0, $s5, $v0
/* 317DC 800563DC 1440FFE7 */ bnez $v0, .L8005637C
/* 317E0 800563E0 24A5007C */ addiu $a1, $a1, 0x7c
/* 317E4 800563E4 24170001 */ addiu $s7, $zero, 1
.L800563E8:
/* 317E8 800563E8 3C028008 */ lui $v0, %hi(D_80078E24)
/* 317EC 800563EC 8C428E24 */ lw $v0, %lo(D_80078E24)($v0)
/* 317F0 800563F0 3C038008 */ lui $v1, %hi(D_80078E24)
/* 317F4 800563F4 24638E24 */ addiu $v1, $v1, %lo(D_80078E24)
/* 317F8 800563F8 8C420010 */ lw $v0, 0x10($v0)
/* 317FC 800563FC 18400110 */ blez $v0, .L80056840
/* 31800 80056400 0000A82D */ daddu $s5, $zero, $zero
/* 31804 80056404 02A0B02D */ daddu $s6, $s5, $zero
.L80056408:
/* 31808 80056408 8C620000 */ lw $v0, ($v1)
/* 3180C 8005640C 8C420020 */ lw $v0, 0x20($v0)
/* 31810 80056410 0056A021 */ addu $s4, $v0, $s6
/* 31814 80056414 8E820010 */ lw $v0, 0x10($s4)
/* 31818 80056418 10400101 */ beqz $v0, .L80056820
/* 3181C 8005641C 3C020200 */ lui $v0, 0x200
/* 31820 80056420 344204E0 */ ori $v0, $v0, 0x4e0
/* 31824 80056424 0260182D */ daddu $v1, $s3, $zero
/* 31828 80056428 AC620000 */ sw $v0, ($v1)
/* 3182C 8005642C 240205C0 */ addiu $v0, $zero, 0x5c0
/* 31830 80056430 AC620004 */ sw $v0, 4($v1)
/* 31834 80056434 8E820010 */ lw $v0, 0x10($s4)
/* 31838 80056438 1040000B */ beqz $v0, .L80056468
/* 3183C 8005643C 26730008 */ addiu $s3, $s3, 8
.L80056440:
/* 31840 80056440 8E840010 */ lw $a0, 0x10($s4)
/* 31844 80056444 0C015F40 */ jal func_80057D00
/* 31848 80056448 0260282D */ daddu $a1, $s3, $zero
/* 3184C 8005644C 8E830010 */ lw $v1, 0x10($s4)
/* 31850 80056450 8C640000 */ lw $a0, ($v1)
/* 31854 80056454 0040982D */ daddu $s3, $v0, $zero
/* 31858 80056458 AC600000 */ sw $zero, ($v1)
/* 3185C 8005645C 1480FFF8 */ bnez $a0, .L80056440
/* 31860 80056460 AE840010 */ sw $a0, 0x10($s4)
/* 31864 80056464 AE800014 */ sw $zero, 0x14($s4)
.L80056468:
/* 31868 80056468 9282000C */ lbu $v0, 0xc($s4)
/* 3186C 8005646C 1040000B */ beqz $v0, .L8005649C
/* 31870 80056470 0260282D */ daddu $a1, $s3, $zero
/* 31874 80056474 240607C0 */ addiu $a2, $zero, 0x7c0
/* 31878 80056478 8E840004 */ lw $a0, 4($s4)
/* 3187C 8005647C 0C0163F0 */ jal func_80058FC0
/* 31880 80056480 0000382D */ daddu $a3, $zero, $zero
/* 31884 80056484 0040282D */ daddu $a1, $v0, $zero
/* 31888 80056488 24060930 */ addiu $a2, $zero, 0x930
/* 3188C 8005648C 8E840008 */ lw $a0, 8($s4)
/* 31890 80056490 0C0163F0 */ jal func_80058FC0
/* 31894 80056494 0000382D */ daddu $a3, $zero, $zero
/* 31898 80056498 0040982D */ daddu $s3, $v0, $zero
.L8005649C:
/* 3189C 8005649C 3C02800A */ lui $v0, %hi(D_800A1DFC)
/* 318A0 800564A0 90421DFC */ lbu $v0, %lo(D_800A1DFC)($v0)
/* 318A4 800564A4 16A20089 */ bne $s5, $v0, .L800566CC
/* 318A8 800564A8 24020001 */ addiu $v0, $zero, 1
/* 318AC 800564AC 3C03800A */ lui $v1, %hi(D_800A1DFE)
/* 318B0 800564B0 84631DFE */ lh $v1, %lo(D_800A1DFE)($v1)
/* 318B4 800564B4 10620006 */ beq $v1, $v0, .L800564D0
/* 318B8 800564B8 2410FFFF */ addiu $s0, $zero, -1
/* 318BC 800564BC 24020002 */ addiu $v0, $zero, 2
/* 318C0 800564C0 10620006 */ beq $v1, $v0, .L800564DC
/* 318C4 800564C4 00101400 */ sll $v0, $s0, 0x10
/* 318C8 800564C8 0801593C */ j .L800564F0
/* 318CC 800564CC 00021403 */ sra $v0, $v0, 0x10
.L800564D0:
/* 318D0 800564D0 241004E0 */ addiu $s0, $zero, 0x4e0
/* 318D4 800564D4 08015939 */ j .L800564E4
/* 318D8 800564D8 240907C0 */ addiu $t1, $zero, 0x7c0
.L800564DC:
/* 318DC 800564DC 24100650 */ addiu $s0, $zero, 0x650
/* 318E0 800564E0 24090930 */ addiu $t1, $zero, 0x930
.L800564E4:
/* 318E4 800564E4 A7A9001E */ sh $t1, 0x1e($sp)
/* 318E8 800564E8 00101400 */ sll $v0, $s0, 0x10
/* 318EC 800564EC 00021403 */ sra $v0, $v0, 0x10
.L800564F0:
/* 318F0 800564F0 2403FFFF */ addiu $v1, $zero, -1
/* 318F4 800564F4 10430075 */ beq $v0, $v1, .L800566CC
/* 318F8 800564F8 0260882D */ daddu $s1, $s3, $zero
/* 318FC 800564FC 8FC30000 */ lw $v1, ($fp)
/* 31900 80056500 3C02800A */ lui $v0, %hi(D_800A1E00)
/* 31904 80056504 8C421E00 */ lw $v0, %lo(D_800A1E00)($v0)
/* 31908 80056508 14400002 */ bnez $v0, .L80056514
/* 3190C 8005650C 0062001A */ div $zero, $v1, $v0
/* 31910 80056510 0007000D */ break 7
.L80056514:
/* 31914 80056514 2401FFFF */ addiu $at, $zero, -1
/* 31918 80056518 14410004 */ bne $v0, $at, .L8005652C
/* 3191C 8005651C 3C018000 */ lui $at, 0x8000
/* 31920 80056520 14610002 */ bne $v1, $at, .L8005652C
/* 31924 80056524 00000000 */ nop
/* 31928 80056528 0006000D */ break 6
.L8005652C:
/* 3192C 8005652C 00002810 */ mfhi $a1
/* 31930 80056530 32100FFF */ andi $s0, $s0, 0xfff
/* 31934 80056534 3C090617 */ lui $t1, 0x617
/* 31938 80056538 02091025 */ or $v0, $s0, $t1
/* 3193C 8005653C AE220000 */ sw $v0, ($s1)
/* 31940 80056540 3C02800A */ lui $v0, %hi(D_800A1DF0)
/* 31944 80056544 8C421DF0 */ lw $v0, %lo(D_800A1DF0)($v0)
/* 31948 80056548 00052040 */ sll $a0, $a1, 1
/* 3194C 8005654C 00852021 */ addu $a0, $a0, $a1
/* 31950 80056550 000420C0 */ sll $a0, $a0, 3
/* 31954 80056554 00852023 */ subu $a0, $a0, $a1
/* 31958 80056558 00042100 */ sll $a0, $a0, 4
/* 3195C 8005655C 0C018798 */ jal func_80061E60
/* 31960 80056560 00442021 */ addu $a0, $v0, $a0
/* 31964 80056564 8FC30000 */ lw $v1, ($fp)
/* 31968 80056568 3C04800A */ lui $a0, %hi(D_800A1E00)
/* 3196C 8005656C 8C841E00 */ lw $a0, %lo(D_800A1E00)($a0)
/* 31970 80056570 24630001 */ addiu $v1, $v1, 1
/* 31974 80056574 14800002 */ bnez $a0, .L80056580
/* 31978 80056578 0064001A */ div $zero, $v1, $a0
/* 3197C 8005657C 0007000D */ break 7
.L80056580:
/* 31980 80056580 2401FFFF */ addiu $at, $zero, -1
/* 31984 80056584 14810004 */ bne $a0, $at, .L80056598
/* 31988 80056588 3C018000 */ lui $at, 0x8000
/* 3198C 8005658C 14610002 */ bne $v1, $at, .L80056598
/* 31990 80056590 00000000 */ nop
/* 31994 80056594 0006000D */ break 6
.L80056598:
/* 31998 80056598 00002810 */ mfhi $a1
/* 3199C 8005659C 26730008 */ addiu $s3, $s3, 8
/* 319A0 800565A0 AE220004 */ sw $v0, 4($s1)
/* 319A4 800565A4 0260882D */ daddu $s1, $s3, $zero
/* 319A8 800565A8 3C090417 */ lui $t1, 0x417
/* 319AC 800565AC 3C02800A */ lui $v0, %hi(D_800A1DF0)
/* 319B0 800565B0 8C421DF0 */ lw $v0, %lo(D_800A1DF0)($v0)
/* 319B4 800565B4 02098025 */ or $s0, $s0, $t1
/* 319B8 800565B8 AE300000 */ sw $s0, ($s1)
/* 319BC 800565BC 00052040 */ sll $a0, $a1, 1
/* 319C0 800565C0 00852021 */ addu $a0, $a0, $a1
/* 319C4 800565C4 000420C0 */ sll $a0, $a0, 3
/* 319C8 800565C8 00852023 */ subu $a0, $a0, $a1
/* 319CC 800565CC 00042100 */ sll $a0, $a0, 4
/* 319D0 800565D0 0C018798 */ jal func_80061E60
/* 319D4 800565D4 00442021 */ addu $a0, $v0, $a0
/* 319D8 800565D8 8FC40000 */ lw $a0, ($fp)
/* 319DC 800565DC 3C03800A */ lui $v1, %hi(D_800A1E00)
/* 319E0 800565E0 8C631E00 */ lw $v1, %lo(D_800A1E00)($v1)
/* 319E4 800565E4 14600002 */ bnez $v1, .L800565F0
/* 319E8 800565E8 0083001A */ div $zero, $a0, $v1
/* 319EC 800565EC 0007000D */ break 7
.L800565F0:
/* 319F0 800565F0 2401FFFF */ addiu $at, $zero, -1
/* 319F4 800565F4 14610004 */ bne $v1, $at, .L80056608
/* 319F8 800565F8 3C018000 */ lui $at, 0x8000
/* 319FC 800565FC 14810002 */ bne $a0, $at, .L80056608
/* 31A00 80056600 00000000 */ nop
/* 31A04 80056604 0006000D */ break 6
.L80056608:
/* 31A08 80056608 00001810 */ mfhi $v1
/* 31A0C 8005660C 26730008 */ addiu $s3, $s3, 8
/* 31A10 80056610 AE220004 */ sw $v0, 4($s1)
/* 31A14 80056614 97A9001E */ lhu $t1, 0x1e($sp)
/* 31A18 80056618 0260902D */ daddu $s2, $s3, $zero
/* 31A1C 8005661C 31300FFF */ andi $s0, $t1, 0xfff
/* 31A20 80056620 3C090617 */ lui $t1, 0x617
/* 31A24 80056624 02091025 */ or $v0, $s0, $t1
/* 31A28 80056628 AE420000 */ sw $v0, ($s2)
/* 31A2C 8005662C 3C02800A */ lui $v0, %hi(D_800A1DF4)
/* 31A30 80056630 8C421DF4 */ lw $v0, %lo(D_800A1DF4)($v0)
/* 31A34 80056634 00032040 */ sll $a0, $v1, 1
/* 31A38 80056638 00832021 */ addu $a0, $a0, $v1
/* 31A3C 8005663C 000420C0 */ sll $a0, $a0, 3
/* 31A40 80056640 00832023 */ subu $a0, $a0, $v1
/* 31A44 80056644 00042100 */ sll $a0, $a0, 4
/* 31A48 80056648 0C018798 */ jal func_80061E60
/* 31A4C 8005664C 00442021 */ addu $a0, $v0, $a0
/* 31A50 80056650 8FC30000 */ lw $v1, ($fp)
/* 31A54 80056654 3C04800A */ lui $a0, %hi(D_800A1E00)
/* 31A58 80056658 8C841E00 */ lw $a0, %lo(D_800A1E00)($a0)
/* 31A5C 8005665C 24630001 */ addiu $v1, $v1, 1
/* 31A60 80056660 14800002 */ bnez $a0, .L8005666C
/* 31A64 80056664 0064001A */ div $zero, $v1, $a0
/* 31A68 80056668 0007000D */ break 7
.L8005666C:
/* 31A6C 8005666C 2401FFFF */ addiu $at, $zero, -1
/* 31A70 80056670 14810004 */ bne $a0, $at, .L80056684
/* 31A74 80056674 3C018000 */ lui $at, 0x8000
/* 31A78 80056678 14610002 */ bne $v1, $at, .L80056684
/* 31A7C 8005667C 00000000 */ nop
/* 31A80 80056680 0006000D */ break 6
.L80056684:
/* 31A84 80056684 00002810 */ mfhi $a1
/* 31A88 80056688 26730008 */ addiu $s3, $s3, 8
/* 31A8C 8005668C 0260882D */ daddu $s1, $s3, $zero
/* 31A90 80056690 26730008 */ addiu $s3, $s3, 8
/* 31A94 80056694 3C090417 */ lui $t1, 0x417
/* 31A98 80056698 AE420004 */ sw $v0, 4($s2)
/* 31A9C 8005669C 3C02800A */ lui $v0, %hi(D_800A1DF4)
/* 31AA0 800566A0 8C421DF4 */ lw $v0, %lo(D_800A1DF4)($v0)
/* 31AA4 800566A4 02098025 */ or $s0, $s0, $t1
/* 31AA8 800566A8 AE300000 */ sw $s0, ($s1)
/* 31AAC 800566AC 00052040 */ sll $a0, $a1, 1
/* 31AB0 800566B0 00852021 */ addu $a0, $a0, $a1
/* 31AB4 800566B4 000420C0 */ sll $a0, $a0, 3
/* 31AB8 800566B8 00852023 */ subu $a0, $a0, $a1
/* 31ABC 800566BC 00042100 */ sll $a0, $a0, 4
/* 31AC0 800566C0 0C018798 */ jal func_80061E60
/* 31AC4 800566C4 00442021 */ addu $a0, $v0, $a0
/* 31AC8 800566C8 AE220004 */ sw $v0, 4($s1)
.L800566CC:
/* 31ACC 800566CC 12E00007 */ beqz $s7, .L800566EC
/* 31AD0 800566D0 0260102D */ daddu $v0, $s3, $zero
/* 31AD4 800566D4 26730008 */ addiu $s3, $s3, 8
/* 31AD8 800566D8 3C030200 */ lui $v1, 0x200
/* 31ADC 800566DC AC430000 */ sw $v1, ($v0)
/* 31AE0 800566E0 240302E0 */ addiu $v1, $zero, 0x2e0
/* 31AE4 800566E4 080159C4 */ j .L80056710
/* 31AE8 800566E8 AC430004 */ sw $v1, 4($v0)
.L800566EC:
/* 31AEC 800566EC 0260802D */ daddu $s0, $s3, $zero
/* 31AF0 800566F0 3C038008 */ lui $v1, %hi(D_80078E24)
/* 31AF4 800566F4 8C638E24 */ lw $v1, %lo(D_80078E24)($v1)
/* 31AF8 800566F8 3C02042E */ lui $v0, 0x42e
/* 31AFC 800566FC AE020000 */ sw $v0, ($s0)
/* 31B00 80056700 8C640028 */ lw $a0, 0x28($v1)
/* 31B04 80056704 0C018798 */ jal func_80061E60
/* 31B08 80056708 26730008 */ addiu $s3, $s3, 8
/* 31B0C 8005670C AE020004 */ sw $v0, 4($s0)
.L80056710:
/* 31B10 80056710 0260202D */ daddu $a0, $s3, $zero
/* 31B14 80056714 26730008 */ addiu $s3, $s3, 8
/* 31B18 80056718 0260282D */ daddu $a1, $s3, $zero
/* 31B1C 8005671C 26730008 */ addiu $s3, $s3, 8
/* 31B20 80056720 3C060930 */ lui $a2, 0x930
/* 31B24 80056724 3C0207C0 */ lui $v0, 0x7c0
/* 31B28 80056728 3C090C00 */ lui $t1, 0xc00
/* 31B2C 8005672C 96830000 */ lhu $v1, ($s4)
/* 31B30 80056730 34C60170 */ ori $a2, $a2, 0x170
/* 31B34 80056734 AC820004 */ sw $v0, 4($a0)
/* 31B38 80056738 00691825 */ or $v1, $v1, $t1
/* 31B3C 8005673C AC830000 */ sw $v1, ($a0)
/* 31B40 80056740 96820000 */ lhu $v0, ($s4)
/* 31B44 80056744 3C038008 */ lui $v1, %hi(D_80078E24)
/* 31B48 80056748 8C638E24 */ lw $v1, %lo(D_80078E24)($v1)
/* 31B4C 8005674C 0260802D */ daddu $s0, $s3, $zero
/* 31B50 80056750 ACA60004 */ sw $a2, 4($a1)
/* 31B54 80056754 00491025 */ or $v0, $v0, $t1
/* 31B58 80056758 ACA20000 */ sw $v0, ($a1)
/* 31B5C 8005675C 3C02062E */ lui $v0, 0x62e
/* 31B60 80056760 AE020000 */ sw $v0, ($s0)
/* 31B64 80056764 8C640028 */ lw $a0, 0x28($v1)
/* 31B68 80056768 0C018798 */ jal func_80061E60
/* 31B6C 8005676C 26730008 */ addiu $s3, $s3, 8
/* 31B70 80056770 12E00009 */ beqz $s7, .L80056798
/* 31B74 80056774 AE020004 */ sw $v0, 4($s0)
/* 31B78 80056778 0260102D */ daddu $v0, $s3, $zero
/* 31B7C 8005677C 26730008 */ addiu $s3, $s3, 8
/* 31B80 80056780 0000B82D */ daddu $s7, $zero, $zero
/* 31B84 80056784 3C030200 */ lui $v1, 0x200
/* 31B88 80056788 AC430000 */ sw $v1, ($v0)
/* 31B8C 8005678C 240302E0 */ addiu $v1, $zero, 0x2e0
/* 31B90 80056790 080159EF */ j .L800567BC
/* 31B94 80056794 AC430004 */ sw $v1, 4($v0)
.L80056798:
/* 31B98 80056798 0260802D */ daddu $s0, $s3, $zero
/* 31B9C 8005679C 3C038008 */ lui $v1, %hi(D_80078E24)
/* 31BA0 800567A0 8C638E24 */ lw $v1, %lo(D_80078E24)($v1)
/* 31BA4 800567A4 3C02042E */ lui $v0, 0x42e
/* 31BA8 800567A8 AE020000 */ sw $v0, ($s0)
/* 31BAC 800567AC 8C640024 */ lw $a0, 0x24($v1)
/* 31BB0 800567B0 0C018798 */ jal func_80061E60
/* 31BB4 800567B4 26730008 */ addiu $s3, $s3, 8
/* 31BB8 800567B8 AE020004 */ sw $v0, 4($s0)
.L800567BC:
/* 31BBC 800567BC 0260202D */ daddu $a0, $s3, $zero
/* 31BC0 800567C0 26730008 */ addiu $s3, $s3, 8
/* 31BC4 800567C4 0260282D */ daddu $a1, $s3, $zero
/* 31BC8 800567C8 26730008 */ addiu $s3, $s3, 8
/* 31BCC 800567CC 3C060650 */ lui $a2, 0x650
/* 31BD0 800567D0 3C0204E0 */ lui $v0, 0x4e0
/* 31BD4 800567D4 3C090C00 */ lui $t1, 0xc00
/* 31BD8 800567D8 96830000 */ lhu $v1, ($s4)
/* 31BDC 800567DC 34C60170 */ ori $a2, $a2, 0x170
/* 31BE0 800567E0 AC820004 */ sw $v0, 4($a0)
/* 31BE4 800567E4 00691825 */ or $v1, $v1, $t1
/* 31BE8 800567E8 AC830000 */ sw $v1, ($a0)
/* 31BEC 800567EC 96820000 */ lhu $v0, ($s4)
/* 31BF0 800567F0 3C038008 */ lui $v1, %hi(D_80078E24)
/* 31BF4 800567F4 8C638E24 */ lw $v1, %lo(D_80078E24)($v1)
/* 31BF8 800567F8 0260802D */ daddu $s0, $s3, $zero
/* 31BFC 800567FC ACA60004 */ sw $a2, 4($a1)
/* 31C00 80056800 00491025 */ or $v0, $v0, $t1
/* 31C04 80056804 ACA20000 */ sw $v0, ($a1)
/* 31C08 80056808 3C02062E */ lui $v0, 0x62e
/* 31C0C 8005680C AE020000 */ sw $v0, ($s0)
/* 31C10 80056810 8C640024 */ lw $a0, 0x24($v1)
/* 31C14 80056814 0C018798 */ jal func_80061E60
/* 31C18 80056818 26730008 */ addiu $s3, $s3, 8
/* 31C1C 8005681C AE020004 */ sw $v0, 4($s0)
.L80056820:
/* 31C20 80056820 3C038008 */ lui $v1, %hi(D_80078E24)
/* 31C24 80056824 24638E24 */ addiu $v1, $v1, %lo(D_80078E24)
/* 31C28 80056828 8C620000 */ lw $v0, ($v1)
/* 31C2C 8005682C 8C420010 */ lw $v0, 0x10($v0)
/* 31C30 80056830 26B50001 */ addiu $s5, $s5, 1
/* 31C34 80056834 02A2102A */ slt $v0, $s5, $v0
/* 31C38 80056838 1440FEF3 */ bnez $v0, .L80056408
/* 31C3C 8005683C 26D60018 */ addiu $s6, $s6, 0x18
.L80056840:
/* 31C40 80056840 0260182D */ daddu $v1, $s3, $zero
/* 31C44 80056844 26730008 */ addiu $s3, $s3, 8
/* 31C48 80056848 3C0404E0 */ lui $a0, 0x4e0
/* 31C4C 8005684C 348402E0 */ ori $a0, $a0, 0x2e0
/* 31C50 80056850 3C05042E */ lui $a1, 0x42e
/* 31C54 80056854 34A507C0 */ ori $a1, $a1, 0x7c0
/* 31C58 80056858 3C020A00 */ lui $v0, 0xa00
/* 31C5C 8005685C AC620000 */ sw $v0, ($v1)
/* 31C60 80056860 3C028008 */ lui $v0, %hi(D_80078E24)
/* 31C64 80056864 8C428E24 */ lw $v0, %lo(D_80078E24)($v0)
/* 31C68 80056868 0260802D */ daddu $s0, $s3, $zero
/* 31C6C 8005686C AC640004 */ sw $a0, 4($v1)
/* 31C70 80056870 AE050000 */ sw $a1, ($s0)
/* 31C74 80056874 8C440028 */ lw $a0, 0x28($v0)
/* 31C78 80056878 0C018798 */ jal func_80061E60
/* 31C7C 8005687C 26730008 */ addiu $s3, $s3, 8
/* 31C80 80056880 0260382D */ daddu $a3, $s3, $zero
/* 31C84 80056884 26730008 */ addiu $s3, $s3, 8
/* 31C88 80056888 3C060C00 */ lui $a2, 0xc00
/* 31C8C 8005688C 34C67FFF */ ori $a2, $a2, 0x7fff
/* 31C90 80056890 3C0807C0 */ lui $t0, 0x7c0
/* 31C94 80056894 350804E0 */ ori $t0, $t0, 0x4e0
/* 31C98 80056898 0260182D */ daddu $v1, $s3, $zero
/* 31C9C 8005689C 26730008 */ addiu $s3, $s3, 8
/* 31CA0 800568A0 3C040930 */ lui $a0, 0x930
/* 31CA4 800568A4 3C058008 */ lui $a1, %hi(D_80078E28)
/* 31CA8 800568A8 90A58E28 */ lbu $a1, %lo(D_80078E28)($a1)
/* 31CAC 800568AC 34840650 */ ori $a0, $a0, 0x650
/* 31CB0 800568B0 AE020004 */ sw $v0, 4($s0)
/* 31CB4 800568B4 ACE60000 */ sw $a2, ($a3)
/* 31CB8 800568B8 ACE80004 */ sw $t0, 4($a3)
/* 31CBC 800568BC AC660000 */ sw $a2, ($v1)
/* 31CC0 800568C0 10A0001D */ beqz $a1, .L80056938
/* 31CC4 800568C4 AC640004 */ sw $a0, 4($v1)
/* 31CC8 800568C8 0260202D */ daddu $a0, $s3, $zero
/* 31CCC 800568CC 26730008 */ addiu $s3, $s3, 8
/* 31CD0 800568D0 3C020A00 */ lui $v0, 0xa00
/* 31CD4 800568D4 344204E0 */ ori $v0, $v0, 0x4e0
/* 31CD8 800568D8 0260182D */ daddu $v1, $s3, $zero
/* 31CDC 800568DC 26730008 */ addiu $s3, $s3, 8
/* 31CE0 800568E0 3C070200 */ lui $a3, 0x200
/* 31CE4 800568E4 34E704E0 */ ori $a3, $a3, 0x4e0
/* 31CE8 800568E8 0260282D */ daddu $a1, $s3, $zero
/* 31CEC 800568EC 26730008 */ addiu $s3, $s3, 8
/* 31CF0 800568F0 0260302D */ daddu $a2, $s3, $zero
/* 31CF4 800568F4 26730008 */ addiu $s3, $s3, 8
/* 31CF8 800568F8 3C080170 */ lui $t0, 0x170
/* 31CFC 800568FC 35080650 */ ori $t0, $t0, 0x650
/* 31D00 80056900 AC820000 */ sw $v0, ($a0)
/* 31D04 80056904 240202E0 */ addiu $v0, $zero, 0x2e0
/* 31D08 80056908 AC820004 */ sw $v0, 4($a0)
/* 31D0C 8005690C AC670000 */ sw $a3, ($v1)
/* 31D10 80056910 AC620004 */ sw $v0, 4($v1)
/* 31D14 80056914 3C038008 */ lui $v1, %hi(D_80078E2A)
/* 31D18 80056918 94638E2A */ lhu $v1, %lo(D_80078E2A)($v1)
/* 31D1C 8005691C 240204E0 */ addiu $v0, $zero, 0x4e0
/* 31D20 80056920 ACA20004 */ sw $v0, 4($a1)
/* 31D24 80056924 3C020C00 */ lui $v0, 0xc00
/* 31D28 80056928 00621825 */ or $v1, $v1, $v0
/* 31D2C 8005692C ACA30000 */ sw $v1, ($a1)
/* 31D30 80056930 ACC30000 */ sw $v1, ($a2)
/* 31D34 80056934 ACC80004 */ sw $t0, 4($a2)
.L80056938:
/* 31D38 80056938 0260202D */ daddu $a0, $s3, $zero
/* 31D3C 8005693C 26730008 */ addiu $s3, $s3, 8
/* 31D40 80056940 0260182D */ daddu $v1, $s3, $zero
/* 31D44 80056944 8FA90054 */ lw $t1, 0x54($sp)
/* 31D48 80056948 3C020D00 */ lui $v0, 0xd00
/* 31D4C 8005694C 2529FF48 */ addiu $t1, $t1, -0xb8
/* 31D50 80056950 AFA90054 */ sw $t1, 0x54($sp)
/* 31D54 80056954 AC820000 */ sw $v0, ($a0)
/* 31D58 80056958 8FA90010 */ lw $t1, 0x10($sp)
/* 31D5C 8005695C 3C048008 */ lui $a0, %hi(D_80078E24)
/* 31D60 80056960 8C848E24 */ lw $a0, %lo(D_80078E24)($a0)
/* 31D64 80056964 3C02062E */ lui $v0, 0x62e
/* 31D68 80056968 AC690004 */ sw $t1, 4($v1)
/* 31D6C 8005696C 252902E0 */ addiu $t1, $t1, 0x2e0
/* 31D70 80056970 AFA90010 */ sw $t1, 0x10($sp)
/* 31D74 80056974 AC620000 */ sw $v0, ($v1)
/* 31D78 80056978 8FC20000 */ lw $v0, ($fp)
/* 31D7C 8005697C 8C830000 */ lw $v1, ($a0)
/* 31D80 80056980 24420001 */ addiu $v0, $v0, 1
/* 31D84 80056984 246300B8 */ addiu $v1, $v1, 0xb8
/* 31D88 80056988 AFC20000 */ sw $v0, ($fp)
/* 31D8C 8005698C AC830000 */ sw $v1, ($a0)
/* 31D90 80056990 8FA90054 */ lw $t1, 0x54($sp)
/* 31D94 80056994 1D20FE70 */ bgtz $t1, .L80056358
/* 31D98 80056998 26730008 */ addiu $s3, $s3, 8
.L8005699C:
/* 31D9C 8005699C 8FA90048 */ lw $t1, 0x48($sp)
/* 31DA0 800569A0 02691023 */ subu $v0, $s3, $t1
/* 31DA4 800569A4 8FA9004C */ lw $t1, 0x4c($sp)
/* 31DA8 800569A8 000210C3 */ sra $v0, $v0, 3
/* 31DAC 800569AC AD220000 */ sw $v0, ($t1)
.L800569B0:
/* 31DB0 800569B0 0260102D */ daddu $v0, $s3, $zero
/* 31DB4 800569B4 8FBF0044 */ lw $ra, 0x44($sp)
/* 31DB8 800569B8 8FBE0040 */ lw $fp, 0x40($sp)
/* 31DBC 800569BC 8FB7003C */ lw $s7, 0x3c($sp)
/* 31DC0 800569C0 8FB60038 */ lw $s6, 0x38($sp)
/* 31DC4 800569C4 8FB50034 */ lw $s5, 0x34($sp)
/* 31DC8 800569C8 8FB40030 */ lw $s4, 0x30($sp)
/* 31DCC 800569CC 8FB3002C */ lw $s3, 0x2c($sp)
/* 31DD0 800569D0 8FB20028 */ lw $s2, 0x28($sp)
/* 31DD4 800569D4 8FB10024 */ lw $s1, 0x24($sp)
/* 31DD8 800569D8 8FB00020 */ lw $s0, 0x20($sp)
/* 31DDC 800569DC 03E00008 */ jr $ra
/* 31DE0 800569E0 27BD0048 */ addiu $sp, $sp, 0x48