mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
108 lines
5.1 KiB
ArmAsm
108 lines
5.1 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_800F513C
|
|
/* 08E5EC 800F513C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08E5F0 800F5140 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 08E5F4 800F5144 3C108011 */ lui $s0, 0x8011
|
|
/* 08E5F8 800F5148 2610D69C */ addiu $s0, $s0, -0x2964
|
|
/* 08E5FC 800F514C AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08E600 800F5150 AE040000 */ sw $a0, ($s0)
|
|
/* 08E604 800F5154 90820323 */ lbu $v0, 0x323($a0)
|
|
/* 08E608 800F5158 A480032C */ sh $zero, 0x32c($a0)
|
|
/* 08E60C 800F515C 3C018011 */ lui $at, 0x8011
|
|
/* 08E610 800F5160 A022D693 */ sb $v0, -0x296d($at)
|
|
/* 08E614 800F5164 0C03A635 */ jal func_800E98D4
|
|
/* 08E618 800F5168 00000000 */ nop
|
|
/* 08E61C 800F516C 3C048011 */ lui $a0, 0x8011
|
|
/* 08E620 800F5170 2484D699 */ addiu $a0, $a0, -0x2967
|
|
/* 08E624 800F5174 3C018011 */ lui $at, 0x8011
|
|
/* 08E628 800F5178 A022D69A */ sb $v0, -0x2966($at)
|
|
/* 08E62C 800F517C A0800000 */ sb $zero, ($a0)
|
|
/* 08E630 800F5180 8E100000 */ lw $s0, ($s0)
|
|
/* 08E634 800F5184 3C068011 */ lui $a2, 0x8011
|
|
/* 08E638 800F5188 24C6D698 */ addiu $a2, $a2, -0x2968
|
|
/* 08E63C 800F518C 8E030318 */ lw $v1, 0x318($s0)
|
|
/* 08E640 800F5190 24050001 */ addiu $a1, $zero, 1
|
|
/* 08E644 800F5194 28620064 */ slti $v0, $v1, 0x64
|
|
/* 08E648 800F5198 1440000C */ bnez $v0, .L800F51CC
|
|
/* 08E64C 800F519C A0C50000 */ sb $a1, ($a2)
|
|
/* 08E650 800F51A0 2462FF9C */ addiu $v0, $v1, -0x64
|
|
/* 08E654 800F51A4 AE020318 */ sw $v0, 0x318($s0)
|
|
/* 08E658 800F51A8 0040182D */ daddu $v1, $v0, $zero
|
|
/* 08E65C 800F51AC 28620064 */ slti $v0, $v1, 0x64
|
|
/* 08E660 800F51B0 14400005 */ bnez $v0, .L800F51C8
|
|
/* 08E664 800F51B4 A0850000 */ sb $a1, ($a0)
|
|
/* 08E668 800F51B8 2462FF9C */ addiu $v0, $v1, -0x64
|
|
/* 08E66C 800F51BC AE020318 */ sw $v0, 0x318($s0)
|
|
/* 08E670 800F51C0 24020002 */ addiu $v0, $zero, 2
|
|
/* 08E674 800F51C4 A0820000 */ sb $v0, ($a0)
|
|
.L800F51C8:
|
|
/* 08E678 800F51C8 A0C00000 */ sb $zero, ($a2)
|
|
.L800F51CC:
|
|
/* 08E67C 800F51CC 3C058011 */ lui $a1, 0x8011
|
|
/* 08E680 800F51D0 8CA5D69C */ lw $a1, -0x2964($a1)
|
|
/* 08E684 800F51D4 24020006 */ addiu $v0, $zero, 6
|
|
/* 08E688 800F51D8 3C018011 */ lui $at, 0x8011
|
|
/* 08E68C 800F51DC A022D68F */ sb $v0, -0x2971($at)
|
|
/* 08E690 800F51E0 8CA20328 */ lw $v0, 0x328($a1)
|
|
/* 08E694 800F51E4 8CA40324 */ lw $a0, 0x324($a1)
|
|
/* 08E698 800F51E8 3C038011 */ lui $v1, 0x8011
|
|
/* 08E69C 800F51EC 2463D648 */ addiu $v1, $v1, -0x29b8
|
|
/* 08E6A0 800F51F0 3C018011 */ lui $at, 0x8011
|
|
/* 08E6A4 800F51F4 A020D68E */ sb $zero, -0x2972($at)
|
|
/* 08E6A8 800F51F8 3C018011 */ lui $at, 0x8011
|
|
/* 08E6AC 800F51FC AC20D640 */ sw $zero, -0x29c0($at)
|
|
/* 08E6B0 800F5200 AC620000 */ sw $v0, ($v1)
|
|
/* 08E6B4 800F5204 0044102A */ slt $v0, $v0, $a0
|
|
/* 08E6B8 800F5208 14400002 */ bnez $v0, .L800F5214
|
|
/* 08E6BC 800F520C 2482FFFF */ addiu $v0, $a0, -1
|
|
/* 08E6C0 800F5210 AC620000 */ sw $v0, ($v1)
|
|
.L800F5214:
|
|
/* 08E6C4 800F5214 8C620000 */ lw $v0, ($v1)
|
|
/* 08E6C8 800F5218 3C048011 */ lui $a0, 0x8011
|
|
/* 08E6CC 800F521C 2484D656 */ addiu $a0, $a0, -0x29aa
|
|
/* 08E6D0 800F5220 3C018011 */ lui $at, 0x8011
|
|
/* 08E6D4 800F5224 A020D654 */ sb $zero, -0x29ac($at)
|
|
/* 08E6D8 800F5228 3C018011 */ lui $at, 0x8011
|
|
/* 08E6DC 800F522C AC22D64C */ sw $v0, -0x29b4($at)
|
|
/* 08E6E0 800F5230 90A20327 */ lbu $v0, 0x327($a1)
|
|
/* 08E6E4 800F5234 24030006 */ addiu $v1, $zero, 6
|
|
/* 08E6E8 800F5238 A0820000 */ sb $v0, ($a0)
|
|
/* 08E6EC 800F523C 00021600 */ sll $v0, $v0, 0x18
|
|
/* 08E6F0 800F5240 00021603 */ sra $v0, $v0, 0x18
|
|
/* 08E6F4 800F5244 0062102A */ slt $v0, $v1, $v0
|
|
/* 08E6F8 800F5248 54400001 */ bnezl $v0, .L800F5250
|
|
/* 08E6FC 800F524C A0830000 */ sb $v1, ($a0)
|
|
.L800F5250:
|
|
/* 08E700 800F5250 8CA20324 */ lw $v0, 0x324($a1)
|
|
/* 08E704 800F5254 3C048011 */ lui $a0, 0x8011
|
|
/* 08E708 800F5258 2484D655 */ addiu $a0, $a0, -0x29ab
|
|
/* 08E70C 800F525C 28420006 */ slti $v0, $v0, 6
|
|
/* 08E710 800F5260 10400003 */ beqz $v0, .L800F5270
|
|
/* 08E714 800F5264 A0830000 */ sb $v1, ($a0)
|
|
/* 08E718 800F5268 90A20327 */ lbu $v0, 0x327($a1)
|
|
/* 08E71C 800F526C A0820000 */ sb $v0, ($a0)
|
|
.L800F5270:
|
|
/* 08E720 800F5270 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 08E724 800F5274 3C018011 */ lui $at, 0x8011
|
|
/* 08E728 800F5278 AC22D650 */ sw $v0, -0x29b0($at)
|
|
/* 08E72C 800F527C 24020009 */ addiu $v0, $zero, 9
|
|
/* 08E730 800F5280 3C018011 */ lui $at, 0x8011
|
|
/* 08E734 800F5284 A022D691 */ sb $v0, -0x296f($at)
|
|
/* 08E738 800F5288 24020002 */ addiu $v0, $zero, 2
|
|
/* 08E73C 800F528C 3C04800F */ lui $a0, 0x800f
|
|
/* 08E740 800F5290 24841A10 */ addiu $a0, $a0, 0x1a10
|
|
/* 08E744 800F5294 3C018011 */ lui $at, 0x8011
|
|
/* 08E748 800F5298 A022D692 */ sb $v0, -0x296e($at)
|
|
/* 08E74C 800F529C 0C048C8F */ jal func_8012323C
|
|
/* 08E750 800F52A0 0000282D */ daddu $a1, $zero, $zero
|
|
/* 08E754 800F52A4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E758 800F52A8 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 08E75C 800F52AC 3C018011 */ lui $at, 0x8011
|
|
/* 08E760 800F52B0 AC22D694 */ sw $v0, -0x296c($at)
|
|
/* 08E764 800F52B4 03E00008 */ jr $ra
|
|
/* 08E768 800F52B8 27BD0018 */ addiu $sp, $sp, 0x18
|
|
|