mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
113 lines
5.2 KiB
ArmAsm
113 lines
5.2 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_8004C0E4
|
|
/* 0274E4 8004C0E4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 0274E8 8004C0E8 AFBF0010 */ sw $ra, 0x10($sp)
|
|
/* 0274EC 8004C0EC 908200C0 */ lbu $v0, 0xc0($a0)
|
|
/* 0274F0 8004C0F0 1440005A */ bnez $v0, .L8004C25C
|
|
/* 0274F4 8004C0F4 00000000 */ nop
|
|
/* 0274F8 8004C0F8 ACA60000 */ sw $a2, ($a1)
|
|
/* 0274FC 8004C0FC ACA60050 */ sw $a2, 0x50($a1)
|
|
/* 027500 8004C100 8C820000 */ lw $v0, ($a0)
|
|
/* 027504 8004C104 3C047FFF */ lui $a0, 0x7fff
|
|
/* 027508 8004C108 24060001 */ addiu $a2, $zero, 1
|
|
/* 02750C 8004C10C 8C430004 */ lw $v1, 4($v0)
|
|
/* 027510 8004C110 24020040 */ addiu $v0, $zero, 0x40
|
|
/* 027514 8004C114 A0A2009B */ sb $v0, 0x9b($a1)
|
|
/* 027518 8004C118 24027FFF */ addiu $v0, $zero, 0x7fff
|
|
/* 02751C 8004C11C A4A2005C */ sh $v0, 0x5c($a1)
|
|
/* 027520 8004C120 A4A2005E */ sh $v0, 0x5e($a1)
|
|
/* 027524 8004C124 2402007F */ addiu $v0, $zero, 0x7f
|
|
/* 027528 8004C128 A0A0009C */ sb $zero, 0x9c($a1)
|
|
/* 02752C 8004C12C A0A0009D */ sb $zero, 0x9d($a1)
|
|
/* 027530 8004C130 A0A0009E */ sb $zero, 0x9e($a1)
|
|
/* 027534 8004C134 A0A2009F */ sb $v0, 0x9f($a1)
|
|
/* 027538 8004C138 A4A00092 */ sh $zero, 0x92($a1)
|
|
/* 02753C 8004C13C A0A00094 */ sb $zero, 0x94($a1)
|
|
/* 027540 8004C140 ACA00088 */ sw $zero, 0x88($a1)
|
|
/* 027544 8004C144 A0A0008C */ sb $zero, 0x8c($a1)
|
|
/* 027548 8004C148 A4A6008E */ sh $a2, 0x8e($a1)
|
|
/* 02754C 8004C14C A4A00090 */ sh $zero, 0x90($a1)
|
|
/* 027550 8004C150 ACA3001C */ sw $v1, 0x1c($a1)
|
|
/* 027554 8004C154 94E30000 */ lhu $v1, ($a3)
|
|
/* 027558 8004C158 8FA20028 */ lw $v0, 0x28($sp)
|
|
/* 02755C 8004C15C 3484FFFF */ ori $a0, $a0, 0xffff
|
|
/* 027560 8004C160 A0A20098 */ sb $v0, 0x98($a1)
|
|
/* 027564 8004C164 8FA2002C */ lw $v0, 0x2c($sp)
|
|
/* 027568 8004C168 306323FF */ andi $v1, $v1, 0x23ff
|
|
/* 02756C 8004C16C ACA00018 */ sw $zero, 0x18($a1)
|
|
/* 027570 8004C170 ACA00054 */ sw $zero, 0x54($a1)
|
|
/* 027574 8004C174 A0A000A0 */ sb $zero, 0xa0($a1)
|
|
/* 027578 8004C178 A0A000A1 */ sb $zero, 0xa1($a1)
|
|
/* 02757C 8004C17C A0A000A2 */ sb $zero, 0xa2($a1)
|
|
/* 027580 8004C180 A0A000A3 */ sb $zero, 0xa3($a1)
|
|
/* 027584 8004C184 ACA4006C */ sw $a0, 0x6c($a1)
|
|
/* 027588 8004C188 A4A00074 */ sh $zero, 0x74($a1)
|
|
/* 02758C 8004C18C ACA00070 */ sw $zero, 0x70($a1)
|
|
/* 027590 8004C190 A4A00076 */ sh $zero, 0x76($a1)
|
|
/* 027594 8004C194 A0A20099 */ sb $v0, 0x99($a1)
|
|
/* 027598 8004C198 ACA00060 */ sw $zero, 0x60($a1)
|
|
/* 02759C 8004C19C A4A30096 */ sh $v1, 0x96($a1)
|
|
/* 0275A0 8004C1A0 A4A00068 */ sh $zero, 0x68($a1)
|
|
/* 0275A4 8004C1A4 8CA30000 */ lw $v1, ($a1)
|
|
/* 0275A8 8004C1A8 ACA00064 */ sw $zero, 0x64($a1)
|
|
/* 0275AC 8004C1AC A4A0006A */ sh $zero, 0x6a($a1)
|
|
/* 0275B0 8004C1B0 ACA00080 */ sw $zero, 0x80($a1)
|
|
/* 0275B4 8004C1B4 A0A00084 */ sb $zero, 0x84($a1)
|
|
/* 0275B8 8004C1B8 A0A00085 */ sb $zero, 0x85($a1)
|
|
/* 0275BC 8004C1BC 90620000 */ lbu $v0, ($v1)
|
|
/* 0275C0 8004C1C0 24630001 */ addiu $v1, $v1, 1
|
|
/* 0275C4 8004C1C4 ACA30000 */ sw $v1, ($a1)
|
|
/* 0275C8 8004C1C8 A0A2009A */ sb $v0, 0x9a($a1)
|
|
/* 0275CC 8004C1CC 0040202D */ daddu $a0, $v0, $zero
|
|
/* 0275D0 8004C1D0 30430003 */ andi $v1, $v0, 3
|
|
/* 0275D4 8004C1D4 24020001 */ addiu $v0, $zero, 1
|
|
/* 0275D8 8004C1D8 1062000B */ beq $v1, $v0, .L8004C208
|
|
/* 0275DC 8004C1DC 28620002 */ slti $v0, $v1, 2
|
|
/* 0275E0 8004C1E0 10400005 */ beqz $v0, .L8004C1F8
|
|
/* 0275E4 8004C1E4 24020002 */ addiu $v0, $zero, 2
|
|
/* 0275E8 8004C1E8 10600007 */ beqz $v1, .L8004C208
|
|
/* 0275EC 8004C1EC 00A0202D */ daddu $a0, $a1, $zero
|
|
/* 0275F0 8004C1F0 08013095 */ j .L8004C254
|
|
/* 0275F4 8004C1F4 00000000 */ nop
|
|
|
|
.L8004C1F8:
|
|
/* 0275F8 8004C1F8 10620005 */ beq $v1, $v0, .L8004C210
|
|
/* 0275FC 8004C1FC 308200FC */ andi $v0, $a0, 0xfc
|
|
/* 027600 8004C200 08013095 */ j .L8004C254
|
|
/* 027604 8004C204 00A0202D */ daddu $a0, $a1, $zero
|
|
|
|
.L8004C208:
|
|
/* 027608 8004C208 08013094 */ j .L8004C250
|
|
/* 02760C 8004C20C A0A600A9 */ sb $a2, 0xa9($a1)
|
|
|
|
.L8004C210:
|
|
/* 027610 8004C210 8CA30000 */ lw $v1, ($a1)
|
|
/* 027614 8004C214 A0A2009A */ sb $v0, 0x9a($a1)
|
|
/* 027618 8004C218 A0A600A9 */ sb $a2, 0xa9($a1)
|
|
/* 02761C 8004C21C 90620000 */ lbu $v0, ($v1)
|
|
/* 027620 8004C220 A0A20078 */ sb $v0, 0x78($a1)
|
|
/* 027624 8004C224 90620001 */ lbu $v0, 1($v1)
|
|
/* 027628 8004C228 A0A20079 */ sb $v0, 0x79($a1)
|
|
/* 02762C 8004C22C 90620002 */ lbu $v0, 2($v1)
|
|
/* 027630 8004C230 00021042 */ srl $v0, $v0, 1
|
|
/* 027634 8004C234 34420003 */ ori $v0, $v0, 3
|
|
/* 027638 8004C238 A0A2007A */ sb $v0, 0x7a($a1)
|
|
/* 02763C 8004C23C 90620002 */ lbu $v0, 2($v1)
|
|
/* 027640 8004C240 24A30078 */ addiu $v1, $a1, 0x78
|
|
/* 027644 8004C244 ACA30000 */ sw $v1, ($a1)
|
|
/* 027648 8004C248 30420007 */ andi $v0, $v0, 7
|
|
/* 02764C 8004C24C A0A2007E */ sb $v0, 0x7e($a1)
|
|
.L8004C250:
|
|
/* 027650 8004C250 00A0202D */ daddu $a0, $a1, $zero
|
|
.L8004C254:
|
|
/* 027654 8004C254 0C0130F5 */ jal func_8004C3D4
|
|
/* 027658 8004C258 00E0282D */ daddu $a1, $a3, $zero
|
|
.L8004C25C:
|
|
/* 02765C 8004C25C 8FBF0010 */ lw $ra, 0x10($sp)
|
|
/* 027660 8004C260 03E00008 */ jr $ra
|
|
/* 027664 8004C264 27BD0018 */ addiu $sp, $sp, 0x18
|
|
|