papermario/asm/nonmatchings/code_26840_len_20d0/func_8004B440.s
2020-08-12 22:37:16 -04:00

136 lines
6.6 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004B440
/* 026840 8004B440 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 026844 8004B444 AFB00010 */ sw $s0, 0x10($sp)
/* 026848 8004B448 0080802D */ daddu $s0, $a0, $zero
/* 02684C 8004B44C 3C030006 */ lui $v1, 6
/* 026850 8004B450 3463A25E */ ori $v1, $v1, 0xa25e
/* 026854 8004B454 3C020004 */ lui $v0, 4
/* 026858 8004B458 8FA40028 */ lw $a0, 0x28($sp)
/* 02685C 8004B45C 3442C4B4 */ ori $v0, $v0, 0xc4b4
/* 026860 8004B460 AFBF0014 */ sw $ra, 0x14($sp)
/* 026864 8004B464 AE070000 */ sw $a3, ($s0)
/* 026868 8004B468 AE020034 */ sw $v0, 0x34($s0)
/* 02686C 8004B46C AE03003C */ sw $v1, 0x3c($s0)
/* 026870 8004B470 AE030038 */ sw $v1, 0x38($s0)
/* 026874 8004B474 A20500BC */ sb $a1, 0xbc($s0)
/* 026878 8004B478 308200FF */ andi $v0, $a0, 0xff
/* 02687C 8004B47C 2C420011 */ sltiu $v0, $v0, 0x11
/* 026880 8004B480 14400004 */ bnez $v0, .L8004B494
/* 026884 8004B484 A20600BE */ sb $a2, 0xbe($s0)
/* 026888 8004B488 24020010 */ addiu $v0, $zero, 0x10
/* 02688C 8004B48C 08012D26 */ j .L8004B498
/* 026890 8004B490 A20200BD */ sb $v0, 0xbd($s0)
.L8004B494:
/* 026894 8004B494 A20400BD */ sb $a0, 0xbd($s0)
.L8004B498:
/* 026898 8004B498 0000202D */ daddu $a0, $zero, $zero
/* 02689C 8004B49C 24060040 */ addiu $a2, $zero, 0x40
/* 0268A0 8004B4A0 240500B0 */ addiu $a1, $zero, 0xb0
/* 0268A4 8004B4A4 2403016C */ addiu $v1, $zero, 0x16c
/* 0268A8 8004B4A8 34028000 */ ori $v0, $zero, 0x8000
/* 0268AC 8004B4AC AE02005C */ sw $v0, 0x5c($s0)
/* 0268B0 8004B4B0 A60200B8 */ sh $v0, 0xb8($s0)
/* 0268B4 8004B4B4 AE000030 */ sw $zero, 0x30($s0)
/* 0268B8 8004B4B8 AE000060 */ sw $zero, 0x60($s0)
.L8004B4BC:
/* 0268BC 8004B4BC 02031021 */ addu $v0, $s0, $v1
/* 0268C0 8004B4C0 24840001 */ addiu $a0, $a0, 1
/* 0268C4 8004B4C4 AC400000 */ sw $zero, ($v0)
/* 0268C8 8004B4C8 A440005C */ sh $zero, 0x5c($v0)
/* 0268CC 8004B4CC A440008E */ sh $zero, 0x8e($v0)
/* 0268D0 8004B4D0 A4400090 */ sh $zero, 0x90($v0)
/* 0268D4 8004B4D4 A4400092 */ sh $zero, 0x92($v0)
/* 0268D8 8004B4D8 A0400094 */ sb $zero, 0x94($v0)
/* 0268DC 8004B4DC A040009B */ sb $zero, 0x9b($v0)
/* 0268E0 8004B4E0 A040009C */ sb $zero, 0x9c($v0)
/* 0268E4 8004B4E4 A040009D */ sb $zero, 0x9d($v0)
/* 0268E8 8004B4E8 A040009E */ sb $zero, 0x9e($v0)
/* 0268EC 8004B4EC A040009F */ sb $zero, 0x9f($v0)
/* 0268F0 8004B4F0 A0400099 */ sb $zero, 0x99($v0)
/* 0268F4 8004B4F4 A0400078 */ sb $zero, 0x78($v0)
/* 0268F8 8004B4F8 A0400079 */ sb $zero, 0x79($v0)
/* 0268FC 8004B4FC A040007A */ sb $zero, 0x7a($v0)
/* 026900 8004B500 A046007B */ sb $a2, 0x7b($v0)
/* 026904 8004B504 A040007C */ sb $zero, 0x7c($v0)
/* 026908 8004B508 A045007D */ sb $a1, 0x7d($v0)
/* 02690C 8004B50C A040007E */ sb $zero, 0x7e($v0)
/* 026910 8004B510 A040007F */ sb $zero, 0x7f($v0)
/* 026914 8004B514 2C820008 */ sltiu $v0, $a0, 8
/* 026918 8004B518 1440FFE8 */ bnez $v0, .L8004B4BC
/* 02691C 8004B51C 246300AC */ addiu $v1, $v1, 0xac
/* 026920 8004B520 0000202D */ daddu $a0, $zero, $zero
/* 026924 8004B524 0200182D */ daddu $v1, $s0, $zero
.L8004B528:
/* 026928 8004B528 AC600090 */ sw $zero, 0x90($v1)
/* 02692C 8004B52C 24840001 */ addiu $a0, $a0, 1
/* 026930 8004B530 2C820004 */ sltiu $v0, $a0, 4
/* 026934 8004B534 1440FFFC */ bnez $v0, .L8004B528
/* 026938 8004B538 24630004 */ addiu $v1, $v1, 4
/* 02693C 8004B53C 0000202D */ daddu $a0, $zero, $zero
/* 026940 8004B540 0200182D */ daddu $v1, $s0, $zero
.L8004B544:
/* 026944 8004B544 A46000A0 */ sh $zero, 0xa0($v1)
/* 026948 8004B548 24840001 */ addiu $a0, $a0, 1
/* 02694C 8004B54C 2C820004 */ sltiu $v0, $a0, 4
/* 026950 8004B550 1440FFFC */ bnez $v0, .L8004B544
/* 026954 8004B554 24630006 */ addiu $v1, $v1, 6
/* 026958 8004B558 0200202D */ daddu $a0, $s0, $zero
/* 02695C 8004B55C 0000282D */ daddu $a1, $zero, $zero
/* 026960 8004B560 0C012E95 */ jal func_8004BA54
/* 026964 8004B564 AE000168 */ sw $zero, 0x168($s0)
/* 026968 8004B568 0C012DA6 */ jal func_8004B698
/* 02696C 8004B56C 0200202D */ daddu $a0, $s0, $zero
/* 026970 8004B570 26040040 */ addiu $a0, $s0, 0x40
/* 026974 8004B574 0000282D */ daddu $a1, $zero, $zero
/* 026978 8004B578 24067FFF */ addiu $a2, $zero, 0x7fff
/* 02697C 8004B57C 0C014E5D */ jal func_80053974
/* 026980 8004B580 00C0382D */ daddu $a3, $a2, $zero
/* 026984 8004B584 920400BE */ lbu $a0, 0xbe($s0)
/* 026988 8004B588 96050040 */ lhu $a1, 0x40($s0)
/* 02698C 8004B58C 0C014EA6 */ jal func_80053A98
/* 026990 8004B590 8E06005C */ lw $a2, 0x5c($s0)
/* 026994 8004B594 0200202D */ daddu $a0, $s0, $zero
/* 026998 8004B598 0000282D */ daddu $a1, $zero, $zero
/* 02699C 8004B59C 240200FF */ addiu $v0, $zero, 0xff
/* 0269A0 8004B5A0 A082008C */ sb $v0, 0x8c($a0)
/* 0269A4 8004B5A4 3C028008 */ lui $v0, 0x8008
/* 0269A8 8004B5A8 24428290 */ addiu $v0, $v0, -0x7d70
/* 0269AC 8004B5AC AC820064 */ sw $v0, 0x64($a0)
/* 0269B0 8004B5B0 3C028008 */ lui $v0, 0x8008
/* 0269B4 8004B5B4 244282F8 */ addiu $v0, $v0, -0x7d08
/* 0269B8 8004B5B8 AC820068 */ sw $v0, 0x68($a0)
/* 0269BC 8004B5BC 3C028008 */ lui $v0, 0x8008
/* 0269C0 8004B5C0 24428320 */ addiu $v0, $v0, -0x7ce0
/* 0269C4 8004B5C4 AC82006C */ sw $v0, 0x6c($a0)
/* 0269C8 8004B5C8 3C028008 */ lui $v0, 0x8008
/* 0269CC 8004B5CC 24428348 */ addiu $v0, $v0, -0x7cb8
/* 0269D0 8004B5D0 AC820070 */ sw $v0, 0x70($a0)
/* 0269D4 8004B5D4 AC820074 */ sw $v0, 0x74($a0)
/* 0269D8 8004B5D8 AC820078 */ sw $v0, 0x78($a0)
/* 0269DC 8004B5DC AC82007C */ sw $v0, 0x7c($a0)
/* 0269E0 8004B5E0 AC820080 */ sw $v0, 0x80($a0)
/* 0269E4 8004B5E4 24020010 */ addiu $v0, $zero, 0x10
/* 0269E8 8004B5E8 A0820084 */ sb $v0, 0x84($a0)
/* 0269EC 8004B5EC 24020020 */ addiu $v0, $zero, 0x20
/* 0269F0 8004B5F0 A0820085 */ sb $v0, 0x85($a0)
/* 0269F4 8004B5F4 A0820086 */ sb $v0, 0x86($a0)
/* 0269F8 8004B5F8 A0820087 */ sb $v0, 0x87($a0)
/* 0269FC 8004B5FC A0820088 */ sb $v0, 0x88($a0)
/* 026A00 8004B600 24020030 */ addiu $v0, $zero, 0x30
/* 026A04 8004B604 A0820089 */ sb $v0, 0x89($a0)
/* 026A08 8004B608 24020040 */ addiu $v0, $zero, 0x40
/* 026A0C 8004B60C A082008A */ sb $v0, 0x8a($a0)
/* 026A10 8004B610 24020050 */ addiu $v0, $zero, 0x50
/* 026A14 8004B614 0C012E79 */ jal func_8004B9E4
/* 026A18 8004B618 A082008B */ sb $v0, 0x8b($a0)
/* 026A1C 8004B61C 8FBF0014 */ lw $ra, 0x14($sp)
/* 026A20 8004B620 8FB00010 */ lw $s0, 0x10($sp)
/* 026A24 8004B624 03E00008 */ jr $ra
/* 026A28 8004B628 27BD0018 */ addiu $sp, $sp, 0x18