mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
114 lines
5.4 KiB
ArmAsm
114 lines
5.4 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
glabel func_800600A0
|
||
|
/* 3B4A0 800600A0 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||
|
/* 3B4A4 800600A4 AFB00048 */ sw $s0, 0x48($sp)
|
||
|
/* 3B4A8 800600A8 3C10800E */ lui $s0, %hi(D_800D91D4)
|
||
|
/* 3B4AC 800600AC 261091D4 */ addiu $s0, $s0, %lo(D_800D91D4)
|
||
|
/* 3B4B0 800600B0 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 3B4B4 800600B4 27A50020 */ addiu $a1, $sp, 0x20
|
||
|
/* 3B4B8 800600B8 24060008 */ addiu $a2, $zero, 8
|
||
|
/* 3B4BC 800600BC AFBF0050 */ sw $ra, 0x50($sp)
|
||
|
/* 3B4C0 800600C0 0C019554 */ jal func_80065550
|
||
|
/* 3B4C4 800600C4 AFB1004C */ sw $s1, 0x4c($sp)
|
||
|
/* 3B4C8 800600C8 27A40010 */ addiu $a0, $sp, 0x10
|
||
|
/* 3B4CC 800600CC 0200282D */ daddu $a1, $s0, $zero
|
||
|
/* 3B4D0 800600D0 0C017AB8 */ jal func_8005EAE0
|
||
|
/* 3B4D4 800600D4 24060001 */ addiu $a2, $zero, 1
|
||
|
.L800600D8:
|
||
|
/* 3B4D8 800600D8 3C04800E */ lui $a0, %hi(D_800D91D4)
|
||
|
/* 3B4DC 800600DC 248491D4 */ addiu $a0, $a0, %lo(D_800D91D4)
|
||
|
/* 3B4E0 800600E0 27A50040 */ addiu $a1, $sp, 0x40
|
||
|
/* 3B4E4 800600E4 0C0195B0 */ jal func_800656C0
|
||
|
/* 3B4E8 800600E8 24060001 */ addiu $a2, $zero, 1
|
||
|
/* 3B4EC 800600EC 8FA40040 */ lw $a0, 0x40($sp)
|
||
|
/* 3B4F0 800600F0 3C108009 */ lui $s0, %hi(D_80093CF0)
|
||
|
/* 3B4F4 800600F4 26103CF0 */ addiu $s0, $s0, %lo(D_80093CF0)
|
||
|
/* 3B4F8 800600F8 84830000 */ lh $v1, ($a0)
|
||
|
/* 3B4FC 800600FC 24020001 */ addiu $v0, $zero, 1
|
||
|
/* 3B500 80060100 10620005 */ beq $v1, $v0, .L80060118
|
||
|
/* 3B504 80060104 24027F00 */ addiu $v0, $zero, 0x7f00
|
||
|
/* 3B508 80060108 10620016 */ beq $v1, $v0, .L80060164
|
||
|
/* 3B50C 8006010C 0000282D */ daddu $a1, $zero, $zero
|
||
|
/* 3B510 80060110 08018066 */ j .L80060198
|
||
|
/* 3B514 80060114 00000000 */ nop
|
||
|
.L80060118:
|
||
|
/* 3B518 80060118 8E020000 */ lw $v0, ($s0)
|
||
|
/* 3B51C 8006011C 1040FFEE */ beqz $v0, .L800600D8
|
||
|
/* 3B520 80060120 00000000 */ nop
|
||
|
.L80060124:
|
||
|
/* 3B524 80060124 8E020000 */ lw $v0, ($s0)
|
||
|
/* 3B528 80060128 8C420004 */ lw $v0, 4($v0)
|
||
|
/* 3B52C 8006012C 8C420000 */ lw $v0, ($v0)
|
||
|
/* 3B530 80060130 10400004 */ beqz $v0, .L80060144
|
||
|
/* 3B534 80060134 00000000 */ nop
|
||
|
/* 3B538 80060138 0040F809 */ jalr $v0
|
||
|
/* 3B53C 8006013C 8FA40040 */ lw $a0, 0x40($sp)
|
||
|
/* 3B540 80060140 0040882D */ daddu $s1, $v0, $zero
|
||
|
.L80060144:
|
||
|
/* 3B544 80060144 1620FFE4 */ bnez $s1, .L800600D8
|
||
|
/* 3B548 80060148 00000000 */ nop
|
||
|
/* 3B54C 8006014C 8E100000 */ lw $s0, ($s0)
|
||
|
/* 3B550 80060150 8E020000 */ lw $v0, ($s0)
|
||
|
/* 3B554 80060154 1440FFF3 */ bnez $v0, .L80060124
|
||
|
/* 3B558 80060158 00000000 */ nop
|
||
|
/* 3B55C 8006015C 08018036 */ j .L800600D8
|
||
|
/* 3B560 80060160 00000000 */ nop
|
||
|
.L80060164:
|
||
|
/* 3B564 80060164 8C840004 */ lw $a0, 4($a0)
|
||
|
/* 3B568 80060168 0C0195FC */ jal func_800657F0
|
||
|
/* 3B56C 8006016C 24060001 */ addiu $a2, $zero, 1
|
||
|
/* 3B570 80060170 27A40010 */ addiu $a0, $sp, 0x10
|
||
|
/* 3B574 80060174 0C017AFA */ jal func_8005EBE8
|
||
|
/* 3B578 80060178 0000282D */ daddu $a1, $zero, $zero
|
||
|
/* 3B57C 8006017C 0C019844 */ jal func_80066110
|
||
|
/* 3B580 80060180 0000202D */ daddu $a0, $zero, $zero
|
||
|
/* 3B584 80060184 27A40010 */ addiu $a0, $sp, 0x10
|
||
|
/* 3B588 80060188 0C017AFA */ jal func_8005EBE8
|
||
|
/* 3B58C 8006018C 24050001 */ addiu $a1, $zero, 1
|
||
|
/* 3B590 80060190 08018036 */ j .L800600D8
|
||
|
/* 3B594 80060194 00000000 */ nop
|
||
|
.L80060198:
|
||
|
/* 3B598 80060198 8FA20040 */ lw $v0, 0x40($sp)
|
||
|
/* 3B59C 8006019C 94420000 */ lhu $v0, ($v0)
|
||
|
/* 3B5A0 800601A0 8E030000 */ lw $v1, ($s0)
|
||
|
/* 3B5A4 800601A4 3044FF00 */ andi $a0, $v0, 0xff00
|
||
|
/* 3B5A8 800601A8 1060FFCB */ beqz $v1, .L800600D8
|
||
|
/* 3B5AC 800601AC 304200FF */ andi $v0, $v0, 0xff
|
||
|
/* 3B5B0 800601B0 3085FFFF */ andi $a1, $a0, 0xffff
|
||
|
/* 3B5B4 800601B4 3044FFFF */ andi $a0, $v0, 0xffff
|
||
|
/* 3B5B8 800601B8 00043080 */ sll $a2, $a0, 2
|
||
|
.L800601BC:
|
||
|
/* 3B5BC 800601BC 8E030000 */ lw $v1, ($s0)
|
||
|
/* 3B5C0 800601C0 94620008 */ lhu $v0, 8($v1)
|
||
|
/* 3B5C4 800601C4 54450015 */ bnel $v0, $a1, .L8006021C
|
||
|
/* 3B5C8 800601C8 0060802D */ daddu $s0, $v1, $zero
|
||
|
/* 3B5CC 800601CC 9062000A */ lbu $v0, 0xa($v1)
|
||
|
/* 3B5D0 800601D0 0082102B */ sltu $v0, $a0, $v0
|
||
|
/* 3B5D4 800601D4 10400009 */ beqz $v0, .L800601FC
|
||
|
/* 3B5D8 800601D8 00000000 */ nop
|
||
|
/* 3B5DC 800601DC 8C620004 */ lw $v0, 4($v1)
|
||
|
/* 3B5E0 800601E0 8FA40040 */ lw $a0, 0x40($sp)
|
||
|
/* 3B5E4 800601E4 00C21021 */ addu $v0, $a2, $v0
|
||
|
/* 3B5E8 800601E8 8C420000 */ lw $v0, ($v0)
|
||
|
/* 3B5EC 800601EC 0040F809 */ jalr $v0
|
||
|
/* 3B5F0 800601F0 00000000 */ nop
|
||
|
/* 3B5F4 800601F4 8FA30040 */ lw $v1, 0x40($sp)
|
||
|
/* 3B5F8 800601F8 AC620008 */ sw $v0, 8($v1)
|
||
|
.L800601FC:
|
||
|
/* 3B5FC 800601FC 8FA20040 */ lw $v0, 0x40($sp)
|
||
|
/* 3B600 80060200 8C440004 */ lw $a0, 4($v0)
|
||
|
/* 3B604 80060204 1080FFB4 */ beqz $a0, .L800600D8
|
||
|
/* 3B608 80060208 0000282D */ daddu $a1, $zero, $zero
|
||
|
/* 3B60C 8006020C 0C0195FC */ jal func_800657F0
|
||
|
/* 3B610 80060210 24060001 */ addiu $a2, $zero, 1
|
||
|
/* 3B614 80060214 08018036 */ j .L800600D8
|
||
|
/* 3B618 80060218 00000000 */ nop
|
||
|
.L8006021C:
|
||
|
/* 3B61C 8006021C 8E020000 */ lw $v0, ($s0)
|
||
|
/* 3B620 80060220 1440FFE6 */ bnez $v0, .L800601BC
|
||
|
/* 3B624 80060224 00000000 */ nop
|
||
|
/* 3B628 80060228 08018036 */ j .L800600D8
|
||
|
/* 3B62C 8006022C 00000000 */ nop
|