papermario/ver/jp/asm/nonmatchings/main_457A0/func_8006A3A0.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

170 lines
8.3 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8006A3A0
/* 457A0 8006A3A0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 457A4 8006A3A4 8FA20058 */ lw $v0, 0x58($sp)
/* 457A8 8006A3A8 AFB40030 */ sw $s4, 0x30($sp)
/* 457AC 8006A3AC 0080A021 */ addu $s4, $a0, $zero
/* 457B0 8006A3B0 AFB3002C */ sw $s3, 0x2c($sp)
/* 457B4 8006A3B4 00A09821 */ addu $s3, $a1, $zero
/* 457B8 8006A3B8 AFB50034 */ sw $s5, 0x34($sp)
/* 457BC 8006A3BC 24150002 */ addiu $s5, $zero, 2
/* 457C0 8006A3C0 AFB7003C */ sw $s7, 0x3c($sp)
/* 457C4 8006A3C4 00E0B821 */ addu $s7, $a3, $zero
/* 457C8 8006A3C8 AFB00020 */ sw $s0, 0x20($sp)
/* 457CC 8006A3CC 00C08021 */ addu $s0, $a2, $zero
/* 457D0 8006A3D0 3204FFFF */ andi $a0, $s0, 0xffff
/* 457D4 8006A3D4 2C830007 */ sltiu $v1, $a0, 7
/* 457D8 8006A3D8 AFBF0044 */ sw $ra, 0x44($sp)
/* 457DC 8006A3DC AFBE0040 */ sw $fp, 0x40($sp)
/* 457E0 8006A3E0 AFB60038 */ sw $s6, 0x38($sp)
/* 457E4 8006A3E4 AFB20028 */ sw $s2, 0x28($sp)
/* 457E8 8006A3E8 38420001 */ xori $v0, $v0, 1
/* 457EC 8006A3EC 0002102B */ sltu $v0, $zero, $v0
/* 457F0 8006A3F0 00431024 */ and $v0, $v0, $v1
/* 457F4 8006A3F4 10400003 */ beqz $v0, .L8006A404
/* 457F8 8006A3F8 AFB10024 */ sw $s1, 0x24($sp)
/* 457FC 8006A3FC 1480005D */ bnez $a0, .L8006A574
/* 45800 8006A400 00001021 */ addu $v0, $zero, $zero
.L8006A404:
/* 45804 8006A404 0C019765 */ jal func_80065D94
/* 45808 8006A408 241E0003 */ addiu $fp, $zero, 3
/* 4580C 8006A40C 3216FFFF */ andi $s6, $s0, 0xffff
/* 45810 8006A410 00108140 */ sll $s0, $s0, 5
/* 45814 8006A414 AFB00014 */ sw $s0, 0x14($sp)
.L8006A418:
/* 45818 8006A418 3C02800A */ lui $v0, %hi(D_8009A5FC)
/* 4581C 8006A41C 9042A5FC */ lbu $v0, %lo(D_8009A5FC)($v0)
/* 45820 8006A420 3C10800E */ lui $s0, %hi(D_800D9FE0)
/* 45824 8006A424 145E0005 */ bne $v0, $fp, .L8006A43C
/* 45828 8006A428 26109FE0 */ addiu $s0, $s0, %lo(D_800D9FE0)
/* 4582C 8006A42C 3C028009 */ lui $v0, %hi(D_80095870)
/* 45830 8006A430 8C425870 */ lw $v0, %lo(D_80095870)($v0)
/* 45834 8006A434 5053001A */ beql $v0, $s3, .L8006A4A0
/* 45838 8006A438 02708021 */ addu $s0, $s3, $s0
.L8006A43C:
/* 4583C 8006A43C 3C01800A */ lui $at, %hi(D_8009A5FC)
/* 45840 8006A440 A03EA5FC */ sb $fp, %lo(D_8009A5FC)($at)
/* 45844 8006A444 3C018009 */ lui $at, %hi(D_80095870)
/* 45848 8006A448 AC335870 */ sw $s3, %lo(D_80095870)($at)
/* 4584C 8006A44C 1A600006 */ blez $s3, .L8006A468
/* 45850 8006A450 00001821 */ addu $v1, $zero, $zero
.L8006A454:
/* 45854 8006A454 A2000000 */ sb $zero, ($s0)
/* 45858 8006A458 24630001 */ addiu $v1, $v1, 1
/* 4585C 8006A45C 0073102A */ slt $v0, $v1, $s3
/* 45860 8006A460 1440FFFC */ bnez $v0, .L8006A454
/* 45864 8006A464 26100001 */ addiu $s0, $s0, 1
.L8006A468:
/* 45868 8006A468 24080001 */ addiu $t0, $zero, 1
/* 4586C 8006A46C 3C01800E */ lui $at, %hi(D_800DA01C)
/* 45870 8006A470 AC28A01C */ sw $t0, %lo(D_800DA01C)($at)
/* 45874 8006A474 240800FF */ addiu $t0, $zero, 0xff
/* 45878 8006A478 24020023 */ addiu $v0, $zero, 0x23
/* 4587C 8006A47C A2080000 */ sb $t0, ($s0)
/* 45880 8006A480 24080001 */ addiu $t0, $zero, 1
/* 45884 8006A484 A2080002 */ sb $t0, 2($s0)
/* 45888 8006A488 240800FF */ addiu $t0, $zero, 0xff
/* 4588C 8006A48C A2020001 */ sb $v0, 1($s0)
/* 45890 8006A490 240200FE */ addiu $v0, $zero, 0xfe
/* 45894 8006A494 A21E0003 */ sb $fp, 3($s0)
/* 45898 8006A498 A2080026 */ sb $t0, 0x26($s0)
/* 4589C 8006A49C A2020027 */ sb $v0, 0x27($s0)
.L8006A4A0:
/* 458A0 8006A4A0 02C02021 */ addu $a0, $s6, $zero
/* 458A4 8006A4A4 001610C2 */ srl $v0, $s6, 3
/* 458A8 8006A4A8 0C01B210 */ jal func_8006C840
/* 458AC 8006A4AC A2020004 */ sb $v0, 4($s0)
/* 458B0 8006A4B0 02E02021 */ addu $a0, $s7, $zero
/* 458B4 8006A4B4 8FA80014 */ lw $t0, 0x14($sp)
/* 458B8 8006A4B8 26050006 */ addiu $a1, $s0, 6
/* 458BC 8006A4BC 24060020 */ addiu $a2, $zero, 0x20
/* 458C0 8006A4C0 00481025 */ or $v0, $v0, $t0
/* 458C4 8006A4C4 0C019188 */ jal func_80064620
/* 458C8 8006A4C8 A2020005 */ sb $v0, 5($s0)
/* 458CC 8006A4CC 3C05800E */ lui $a1, %hi(D_800D9FE0)
/* 458D0 8006A4D0 24A59FE0 */ addiu $a1, $a1, %lo(D_800D9FE0)
/* 458D4 8006A4D4 0C019724 */ jal func_80065C90
/* 458D8 8006A4D8 24040001 */ addiu $a0, $zero, 1
/* 458DC 8006A4DC 0C01B22B */ jal func_8006C8AC
/* 458E0 8006A4E0 02E02021 */ addu $a0, $s7, $zero
/* 458E4 8006A4E4 02802021 */ addu $a0, $s4, $zero
/* 458E8 8006A4E8 00002821 */ addu $a1, $zero, $zero
/* 458EC 8006A4EC 24060001 */ addiu $a2, $zero, 1
/* 458F0 8006A4F0 0C0195B0 */ jal func_800656C0
/* 458F4 8006A4F4 00409021 */ addu $s2, $v0, $zero
/* 458F8 8006A4F8 3C05800E */ lui $a1, %hi(D_800D9FE0)
/* 458FC 8006A4FC 24A59FE0 */ addiu $a1, $a1, %lo(D_800D9FE0)
/* 45900 8006A500 0C019724 */ jal func_80065C90
/* 45904 8006A504 00002021 */ addu $a0, $zero, $zero
/* 45908 8006A508 02802021 */ addu $a0, $s4, $zero
/* 4590C 8006A50C 00002821 */ addu $a1, $zero, $zero
/* 45910 8006A510 0C0195B0 */ jal func_800656C0
/* 45914 8006A514 24060001 */ addiu $a2, $zero, 1
/* 45918 8006A518 92020002 */ lbu $v0, 2($s0)
/* 4591C 8006A51C 304200C0 */ andi $v0, $v0, 0xc0
/* 45920 8006A520 00028902 */ srl $s1, $v0, 4
/* 45924 8006A524 5620000B */ bnel $s1, $zero, .L8006A554
/* 45928 8006A528 24110001 */ addiu $s1, $zero, 1
/* 4592C 8006A52C 92030026 */ lbu $v1, 0x26($s0)
/* 45930 8006A530 324200FF */ andi $v0, $s2, 0xff
/* 45934 8006A534 10430007 */ beq $v0, $v1, .L8006A554
/* 45938 8006A538 02802021 */ addu $a0, $s4, $zero
/* 4593C 8006A53C 0C01A528 */ jal func_800694A0
/* 45940 8006A540 02602821 */ addu $a1, $s3, $zero
/* 45944 8006A544 00408821 */ addu $s1, $v0, $zero
/* 45948 8006A548 16200007 */ bnez $s1, .L8006A568
/* 4594C 8006A54C 00000000 */ nop
/* 45950 8006A550 24110004 */ addiu $s1, $zero, 4
.L8006A554:
/* 45954 8006A554 24020004 */ addiu $v0, $zero, 4
/* 45958 8006A558 16220003 */ bne $s1, $v0, .L8006A568
/* 4595C 8006A55C 02A01021 */ addu $v0, $s5, $zero
/* 45960 8006A560 0441FFAD */ bgez $v0, .L8006A418
/* 45964 8006A564 26B5FFFF */ addiu $s5, $s5, -1
.L8006A568:
/* 45968 8006A568 0C019780 */ jal func_80065E00
/* 4596C 8006A56C 00000000 */ nop
/* 45970 8006A570 02201021 */ addu $v0, $s1, $zero
.L8006A574:
/* 45974 8006A574 8FBF0044 */ lw $ra, 0x44($sp)
/* 45978 8006A578 8FBE0040 */ lw $fp, 0x40($sp)
/* 4597C 8006A57C 8FB7003C */ lw $s7, 0x3c($sp)
/* 45980 8006A580 8FB60038 */ lw $s6, 0x38($sp)
/* 45984 8006A584 8FB50034 */ lw $s5, 0x34($sp)
/* 45988 8006A588 8FB40030 */ lw $s4, 0x30($sp)
/* 4598C 8006A58C 8FB3002C */ lw $s3, 0x2c($sp)
/* 45990 8006A590 8FB20028 */ lw $s2, 0x28($sp)
/* 45994 8006A594 8FB10024 */ lw $s1, 0x24($sp)
/* 45998 8006A598 8FB00020 */ lw $s0, 0x20($sp)
/* 4599C 8006A59C 03E00008 */ jr $ra
/* 459A0 8006A5A0 27BD0048 */ addiu $sp, $sp, 0x48
/* 459A4 8006A5A4 00000000 */ nop
/* 459A8 8006A5A8 00000000 */ nop
/* 459AC 8006A5AC 00000000 */ nop
/* 459B0 8006A5B0 00000000 */ nop
/* 459B4 8006A5B4 00000000 */ nop
/* 459B8 8006A5B8 00000000 */ nop
/* 459BC 8006A5BC 00000000 */ nop
/* 459C0 8006A5C0 00000000 */ nop
/* 459C4 8006A5C4 00000000 */ nop
/* 459C8 8006A5C8 00000000 */ nop
/* 459CC 8006A5CC 00000000 */ nop
/* 459D0 8006A5D0 00000000 */ nop
/* 459D4 8006A5D4 00000000 */ nop
/* 459D8 8006A5D8 00000000 */ nop
/* 459DC 8006A5DC 00000000 */ nop
/* 459E0 8006A5E0 00000000 */ nop
/* 459E4 8006A5E4 00000000 */ nop
/* 459E8 8006A5E8 00000000 */ nop
/* 459EC 8006A5EC 00000000 */ nop
/* 459F0 8006A5F0 00000000 */ nop
/* 459F4 8006A5F4 00000000 */ nop
/* 459F8 8006A5F8 00000000 */ nop
/* 459FC 8006A5FC 00000000 */ nop
/* 45A00 8006A600 00000000 */ nop
/* 45A04 8006A604 00000000 */ nop
/* 45A08 8006A608 00000000 */ nop
/* 45A0C 8006A60C 00000000 */ nop