mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
131 lines
6.9 KiB
ArmAsm
131 lines
6.9 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_8004E158
|
|
/* 29558 8004E158 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 2955C 8004E15C AFB20018 */ sw $s2, 0x18($sp)
|
|
/* 29560 8004E160 0080902D */ daddu $s2, $a0, $zero
|
|
/* 29564 8004E164 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 29568 8004E168 00A0802D */ daddu $s0, $a1, $zero
|
|
/* 2956C 8004E16C AFB10014 */ sw $s1, 0x14($sp)
|
|
/* 29570 8004E170 00C0882D */ daddu $s1, $a2, $zero
|
|
/* 29574 8004E174 3C050002 */ lui $a1, 2
|
|
/* 29578 8004E178 34A5625A */ ori $a1, $a1, 0x625a
|
|
/* 2957C 8004E17C 24060030 */ addiu $a2, $zero, 0x30
|
|
/* 29580 8004E180 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 29584 8004E184 0C013A20 */ jal func_8004E880
|
|
/* 29588 8004E188 AE470000 */ sw $a3, ($s2)
|
|
/* 2958C 8004E18C 0000282D */ daddu $a1, $zero, $zero
|
|
/* 29590 8004E190 2404007F */ addiu $a0, $zero, 0x7f
|
|
/* 29594 8004E194 3C013F80 */ lui $at, 0x3f80
|
|
/* 29598 8004E198 44810000 */ mtc1 $at, $f0
|
|
/* 2959C 8004E19C 34028000 */ ori $v0, $zero, 0x8000
|
|
/* 295A0 8004E1A0 AE420048 */ sw $v0, 0x48($s2)
|
|
/* 295A4 8004E1A4 24023CF0 */ addiu $v0, $zero, 0x3cf0
|
|
/* 295A8 8004E1A8 AE4200B0 */ sw $v0, 0xb0($s2)
|
|
/* 295AC 8004E1AC 3C027F00 */ lui $v0, 0x7f00
|
|
/* 295B0 8004E1B0 AE4200C0 */ sw $v0, 0xc0($s2)
|
|
/* 295B4 8004E1B4 24020001 */ addiu $v0, $zero, 1
|
|
/* 295B8 8004E1B8 A242022B */ sb $v0, 0x22b($s2)
|
|
/* 295BC 8004E1BC 24020002 */ addiu $v0, $zero, 2
|
|
/* 295C0 8004E1C0 AE400014 */ sw $zero, 0x14($s2)
|
|
/* 295C4 8004E1C4 AE400018 */ sw $zero, 0x18($s2)
|
|
/* 295C8 8004E1C8 AE40001C */ sw $zero, 0x1c($s2)
|
|
/* 295CC 8004E1CC AE400020 */ sw $zero, 0x20($s2)
|
|
/* 295D0 8004E1D0 A6400058 */ sh $zero, 0x58($s2)
|
|
/* 295D4 8004E1D4 A640005A */ sh $zero, 0x5a($s2)
|
|
/* 295D8 8004E1D8 AE400068 */ sw $zero, 0x68($s2)
|
|
/* 295DC 8004E1DC AE40006C */ sw $zero, 0x6c($s2)
|
|
/* 295E0 8004E1E0 AE400070 */ sw $zero, 0x70($s2)
|
|
/* 295E4 8004E1E4 AE4000BC */ sw $zero, 0xbc($s2)
|
|
/* 295E8 8004E1E8 AE4000B8 */ sw $zero, 0xb8($s2)
|
|
/* 295EC 8004E1EC AE4000B4 */ sw $zero, 0xb4($s2)
|
|
/* 295F0 8004E1F0 AE4000CC */ sw $zero, 0xcc($s2)
|
|
/* 295F4 8004E1F4 AE4000C8 */ sw $zero, 0xc8($s2)
|
|
/* 295F8 8004E1F8 AE4000C4 */ sw $zero, 0xc4($s2)
|
|
/* 295FC 8004E1FC A640020C */ sh $zero, 0x20c($s2)
|
|
/* 29600 8004E200 A640020E */ sh $zero, 0x20e($s2)
|
|
/* 29604 8004E204 A2400220 */ sb $zero, 0x220($s2)
|
|
/* 29608 8004E208 AE400204 */ sw $zero, 0x204($s2)
|
|
/* 2960C 8004E20C A2400232 */ sb $zero, 0x232($s2)
|
|
/* 29610 8004E210 A2400221 */ sb $zero, 0x221($s2)
|
|
/* 29614 8004E214 A2500234 */ sb $s0, 0x234($s2)
|
|
/* 29618 8004E218 A2510235 */ sb $s1, 0x235($s2)
|
|
/* 2961C 8004E21C AE400168 */ sw $zero, 0x168($s2)
|
|
/* 29620 8004E220 A2400222 */ sb $zero, 0x222($s2)
|
|
/* 29624 8004E224 A2400223 */ sb $zero, 0x223($s2)
|
|
/* 29628 8004E228 A240022A */ sb $zero, 0x22a($s2)
|
|
/* 2962C 8004E22C A240022C */ sb $zero, 0x22c($s2)
|
|
/* 29630 8004E230 E64000D0 */ swc1 $f0, 0xd0($s2)
|
|
/* 29634 8004E234 A240022D */ sb $zero, 0x22d($s2)
|
|
/* 29638 8004E238 A242022F */ sb $v0, 0x22f($s2)
|
|
/* 2963C 8004E23C 24020003 */ addiu $v0, $zero, 3
|
|
/* 29640 8004E240 A2420230 */ sb $v0, 0x230($s2)
|
|
/* 29644 8004E244 24020004 */ addiu $v0, $zero, 4
|
|
/* 29648 8004E248 A240022E */ sb $zero, 0x22e($s2)
|
|
/* 2964C 8004E24C A2420231 */ sb $v0, 0x231($s2)
|
|
/* 29650 8004E250 00051400 */ sll $v0, $a1, 0x10
|
|
.L8004E254:
|
|
/* 29654 8004E254 00021C03 */ sra $v1, $v0, 0x10
|
|
/* 29658 8004E258 00031040 */ sll $v0, $v1, 1
|
|
/* 2965C 8004E25C 00431021 */ addu $v0, $v0, $v1
|
|
/* 29660 8004E260 00021140 */ sll $v0, $v0, 5
|
|
/* 29664 8004E264 2442025C */ addiu $v0, $v0, 0x25c
|
|
/* 29668 8004E268 02421021 */ addu $v0, $s2, $v0
|
|
/* 2966C 8004E26C AC400018 */ sw $zero, 0x18($v0)
|
|
/* 29670 8004E270 AC400028 */ sw $zero, 0x28($v0)
|
|
/* 29674 8004E274 A4400046 */ sh $zero, 0x46($v0)
|
|
/* 29678 8004E278 A0400048 */ sb $zero, 0x48($v0)
|
|
/* 2967C 8004E27C A040004A */ sb $zero, 0x4a($v0)
|
|
/* 29680 8004E280 A040004B */ sb $zero, 0x4b($v0)
|
|
/* 29684 8004E284 A4400044 */ sh $zero, 0x44($v0)
|
|
/* 29688 8004E288 A0400058 */ sb $zero, 0x58($v0)
|
|
/* 2968C 8004E28C A0440049 */ sb $a0, 0x49($v0)
|
|
/* 29690 8004E290 A040004C */ sb $zero, 0x4c($v0)
|
|
/* 29694 8004E294 28620008 */ slti $v0, $v1, 8
|
|
/* 29698 8004E298 10400005 */ beqz $v0, .L8004E2B0
|
|
/* 2969C 8004E29C 24A20001 */ addiu $v0, $a1, 1
|
|
/* 296A0 8004E2A0 00031080 */ sll $v0, $v1, 2
|
|
/* 296A4 8004E2A4 02421021 */ addu $v0, $s2, $v0
|
|
/* 296A8 8004E2A8 AC400238 */ sw $zero, 0x238($v0)
|
|
/* 296AC 8004E2AC 24A20001 */ addiu $v0, $a1, 1
|
|
.L8004E2B0:
|
|
/* 296B0 8004E2B0 0040282D */ daddu $a1, $v0, $zero
|
|
/* 296B4 8004E2B4 00021400 */ sll $v0, $v0, 0x10
|
|
/* 296B8 8004E2B8 00021403 */ sra $v0, $v0, 0x10
|
|
/* 296BC 8004E2BC 28420010 */ slti $v0, $v0, 0x10
|
|
/* 296C0 8004E2C0 1440FFE4 */ bnez $v0, .L8004E254
|
|
/* 296C4 8004E2C4 00051400 */ sll $v0, $a1, 0x10
|
|
/* 296C8 8004E2C8 0000282D */ daddu $a1, $zero, $zero
|
|
.L8004E2CC:
|
|
/* 296CC 8004E2CC 00051400 */ sll $v0, $a1, 0x10
|
|
/* 296D0 8004E2D0 24A40001 */ addiu $a0, $a1, 1
|
|
/* 296D4 8004E2D4 0080282D */ daddu $a1, $a0, $zero
|
|
/* 296D8 8004E2D8 00021403 */ sra $v0, $v0, 0x10
|
|
/* 296DC 8004E2DC 00021840 */ sll $v1, $v0, 1
|
|
/* 296E0 8004E2E0 00621821 */ addu $v1, $v1, $v0
|
|
/* 296E4 8004E2E4 000318C0 */ sll $v1, $v1, 3
|
|
/* 296E8 8004E2E8 2463085C */ addiu $v1, $v1, 0x85c
|
|
/* 296EC 8004E2EC 02431821 */ addu $v1, $s2, $v1
|
|
/* 296F0 8004E2F0 00042400 */ sll $a0, $a0, 0x10
|
|
/* 296F4 8004E2F4 00042403 */ sra $a0, $a0, 0x10
|
|
/* 296F8 8004E2F8 28840018 */ slti $a0, $a0, 0x18
|
|
/* 296FC 8004E2FC A4600008 */ sh $zero, 8($v1)
|
|
/* 29700 8004E300 A460000A */ sh $zero, 0xa($v1)
|
|
/* 29704 8004E304 AC60000C */ sw $zero, 0xc($v1)
|
|
/* 29708 8004E308 A4600014 */ sh $zero, 0x14($v1)
|
|
/* 2970C 8004E30C A0600016 */ sb $zero, 0x16($v1)
|
|
/* 29710 8004E310 1480FFEE */ bnez $a0, .L8004E2CC
|
|
/* 29714 8004E314 A0600017 */ sb $zero, 0x17($v1)
|
|
/* 29718 8004E318 2644002C */ addiu $a0, $s2, 0x2c
|
|
/* 2971C 8004E31C 0C014EBB */ jal func_80053AEC
|
|
/* 29720 8004E320 24057FFF */ addiu $a1, $zero, 0x7fff
|
|
/* 29724 8004E324 0C015444 */ jal func_80055110
|
|
/* 29728 8004E328 0240202D */ daddu $a0, $s2, $zero
|
|
/* 2972C 8004E32C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 29730 8004E330 8FB20018 */ lw $s2, 0x18($sp)
|
|
/* 29734 8004E334 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* 29738 8004E338 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 2973C 8004E33C 03E00008 */ jr $ra
|
|
/* 29740 8004E340 27BD0020 */ addiu $sp, $sp, 0x20
|