mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
163 lines
7.6 KiB
ArmAsm
163 lines
7.6 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
.include "include/macro.inc"
|
|
|
|
glabel func_80037BC8
|
|
/* 012FC8 80037BC8 3C048007 */ lui $a0, 0x8007
|
|
/* 012FCC 80037BCC 24847A2C */ addiu $a0, $a0, 0x7a2c
|
|
/* 012FD0 80037BD0 8C830000 */ lw $v1, ($a0)
|
|
/* 012FD4 80037BD4 10600005 */ beqz $v1, .L80037BEC
|
|
/* 012FD8 80037BD8 24020001 */ addiu $v0, $zero, 1
|
|
/* 012FDC 80037BDC 10620016 */ beq $v1, $v0, .L80037C38
|
|
/* 012FE0 80037BE0 3C07FC11 */ lui $a3, 0xfc11
|
|
/* 012FE4 80037BE4 0800DF22 */ j .L80037C88
|
|
/* 012FE8 80037BE8 34E79623 */ ori $a3, $a3, 0x9623
|
|
|
|
.L80037BEC:
|
|
/* 012FEC 80037BEC 3C038007 */ lui $v1, 0x8007
|
|
/* 012FF0 80037BF0 24637A28 */ addiu $v1, $v1, 0x7a28
|
|
/* 012FF4 80037BF4 8C620000 */ lw $v0, ($v1)
|
|
/* 012FF8 80037BF8 2442FF80 */ addiu $v0, $v0, -0x80
|
|
/* 012FFC 80037BFC 04410002 */ bgez $v0, .L80037C08
|
|
/* 013000 80037C00 AC620000 */ sw $v0, ($v1)
|
|
/* 013004 80037C04 AC600000 */ sw $zero, ($v1)
|
|
.L80037C08:
|
|
/* 013008 80037C08 3C038007 */ lui $v1, 0x8007
|
|
/* 01300C 80037C0C 24637A30 */ addiu $v1, $v1, 0x7a30
|
|
/* 013010 80037C10 8C620000 */ lw $v0, ($v1)
|
|
/* 013014 80037C14 24420001 */ addiu $v0, $v0, 1
|
|
/* 013018 80037C18 AC620000 */ sw $v0, ($v1)
|
|
/* 01301C 80037C1C 28420010 */ slti $v0, $v0, 0x10
|
|
/* 013020 80037C20 14400018 */ bnez $v0, .L80037C84
|
|
/* 013024 80037C24 3C07FC11 */ lui $a3, 0xfc11
|
|
/* 013028 80037C28 24020001 */ addiu $v0, $zero, 1
|
|
/* 01302C 80037C2C AC600000 */ sw $zero, ($v1)
|
|
/* 013030 80037C30 0800DF21 */ j .L80037C84
|
|
/* 013034 80037C34 AC820000 */ sw $v0, ($a0)
|
|
|
|
.L80037C38:
|
|
/* 013038 80037C38 3C038007 */ lui $v1, 0x8007
|
|
/* 01303C 80037C3C 24637A28 */ addiu $v1, $v1, 0x7a28
|
|
/* 013040 80037C40 8C620000 */ lw $v0, ($v1)
|
|
/* 013044 80037C44 24420080 */ addiu $v0, $v0, 0x80
|
|
/* 013048 80037C48 AC620000 */ sw $v0, ($v1)
|
|
/* 01304C 80037C4C 28420100 */ slti $v0, $v0, 0x100
|
|
/* 013050 80037C50 14400002 */ bnez $v0, .L80037C5C
|
|
/* 013054 80037C54 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 013058 80037C58 AC620000 */ sw $v0, ($v1)
|
|
.L80037C5C:
|
|
/* 01305C 80037C5C 3C038007 */ lui $v1, 0x8007
|
|
/* 013060 80037C60 24637A30 */ addiu $v1, $v1, 0x7a30
|
|
/* 013064 80037C64 8C620000 */ lw $v0, ($v1)
|
|
/* 013068 80037C68 24420001 */ addiu $v0, $v0, 1
|
|
/* 01306C 80037C6C AC620000 */ sw $v0, ($v1)
|
|
/* 013070 80037C70 28420010 */ slti $v0, $v0, 0x10
|
|
/* 013074 80037C74 14400003 */ bnez $v0, .L80037C84
|
|
/* 013078 80037C78 3C07FC11 */ lui $a3, 0xfc11
|
|
/* 01307C 80037C7C AC600000 */ sw $zero, ($v1)
|
|
/* 013080 80037C80 AC800000 */ sw $zero, ($a0)
|
|
.L80037C84:
|
|
/* 013084 80037C84 34E79623 */ ori $a3, $a3, 0x9623
|
|
.L80037C88:
|
|
/* 013088 80037C88 3C06FF2F */ lui $a2, 0xff2f
|
|
/* 01308C 80037C8C 34C6FFFF */ ori $a2, $a2, 0xffff
|
|
/* 013090 80037C90 3C08F8F0 */ lui $t0, 0xf8f0
|
|
/* 013094 80037C94 35089800 */ ori $t0, $t0, 0x9800
|
|
/* 013098 80037C98 3C09077F */ lui $t1, 0x77f
|
|
/* 01309C 80037C9C 3529F080 */ ori $t1, $t1, 0xf080
|
|
/* 0130A0 80037CA0 3C0AF568 */ lui $t2, 0xf568
|
|
/* 0130A4 80037CA4 354A2000 */ ori $t2, $t2, 0x2000
|
|
/* 0130A8 80037CA8 3C0B001F */ lui $t3, 0x1f
|
|
/* 0130AC 80037CAC 356BC07C */ ori $t3, $t3, 0xc07c
|
|
/* 0130B0 80037CB0 3C0DE438 */ lui $t5, 0xe438
|
|
/* 0130B4 80037CB4 35AD02A4 */ ori $t5, $t5, 0x2a4
|
|
/* 0130B8 80037CB8 3C0C0018 */ lui $t4, 0x18
|
|
/* 0130BC 80037CBC 358C0224 */ ori $t4, $t4, 0x224
|
|
/* 0130C0 80037CC0 3C0E0400 */ lui $t6, 0x400
|
|
/* 0130C4 80037CC4 3C05800A */ lui $a1, 0x800a
|
|
/* 0130C8 80037CC8 24A5A66C */ addiu $a1, $a1, -0x5994
|
|
/* 0130CC 80037CCC 35CE0400 */ ori $t6, $t6, 0x400
|
|
/* 0130D0 80037CD0 8CA20000 */ lw $v0, ($a1)
|
|
/* 0130D4 80037CD4 3C03DE00 */ lui $v1, 0xde00
|
|
/* 0130D8 80037CD8 0040202D */ daddu $a0, $v0, $zero
|
|
/* 0130DC 80037CDC 24420008 */ addiu $v0, $v0, 8
|
|
/* 0130E0 80037CE0 ACA20000 */ sw $v0, ($a1)
|
|
/* 0130E4 80037CE4 AC830000 */ sw $v1, ($a0)
|
|
/* 0130E8 80037CE8 3C038007 */ lui $v1, 0x8007
|
|
/* 0130EC 80037CEC 24637A50 */ addiu $v1, $v1, 0x7a50
|
|
/* 0130F0 80037CF0 AC830004 */ sw $v1, 4($a0)
|
|
/* 0130F4 80037CF4 24430008 */ addiu $v1, $v0, 8
|
|
/* 0130F8 80037CF8 ACA30000 */ sw $v1, ($a1)
|
|
/* 0130FC 80037CFC 24430010 */ addiu $v1, $v0, 0x10
|
|
/* 013100 80037D00 3C04FA00 */ lui $a0, 0xfa00
|
|
/* 013104 80037D04 AC470000 */ sw $a3, ($v0)
|
|
/* 013108 80037D08 AC460004 */ sw $a2, 4($v0)
|
|
/* 01310C 80037D0C ACA30000 */ sw $v1, ($a1)
|
|
/* 013110 80037D10 3C038007 */ lui $v1, 0x8007
|
|
/* 013114 80037D14 90637A2B */ lbu $v1, 0x7a2b($v1)
|
|
/* 013118 80037D18 3C06E700 */ lui $a2, 0xe700
|
|
/* 01311C 80037D1C AC440008 */ sw $a0, 8($v0)
|
|
/* 013120 80037D20 00681825 */ or $v1, $v1, $t0
|
|
/* 013124 80037D24 AC43000C */ sw $v1, 0xc($v0)
|
|
/* 013128 80037D28 24430018 */ addiu $v1, $v0, 0x18
|
|
/* 01312C 80037D2C ACA30000 */ sw $v1, ($a1)
|
|
/* 013130 80037D30 24430020 */ addiu $v1, $v0, 0x20
|
|
/* 013134 80037D34 AC460010 */ sw $a2, 0x10($v0)
|
|
/* 013138 80037D38 AC400014 */ sw $zero, 0x14($v0)
|
|
/* 01313C 80037D3C ACA30000 */ sw $v1, ($a1)
|
|
/* 013140 80037D40 3C04800A */ lui $a0, 0x800a
|
|
/* 013144 80037D44 8C840980 */ lw $a0, 0x980($a0)
|
|
/* 013148 80037D48 3C03FD70 */ lui $v1, 0xfd70
|
|
/* 01314C 80037D4C AC430018 */ sw $v1, 0x18($v0)
|
|
/* 013150 80037D50 24430028 */ addiu $v1, $v0, 0x28
|
|
/* 013154 80037D54 AC44001C */ sw $a0, 0x1c($v0)
|
|
/* 013158 80037D58 ACA30000 */ sw $v1, ($a1)
|
|
/* 01315C 80037D5C 3C03F570 */ lui $v1, 0xf570
|
|
/* 013160 80037D60 AC430020 */ sw $v1, 0x20($v0)
|
|
/* 013164 80037D64 3C030700 */ lui $v1, 0x700
|
|
/* 013168 80037D68 AC430024 */ sw $v1, 0x24($v0)
|
|
/* 01316C 80037D6C 24430030 */ addiu $v1, $v0, 0x30
|
|
/* 013170 80037D70 ACA30000 */ sw $v1, ($a1)
|
|
/* 013174 80037D74 3C03E600 */ lui $v1, 0xe600
|
|
/* 013178 80037D78 AC430028 */ sw $v1, 0x28($v0)
|
|
/* 01317C 80037D7C 24430038 */ addiu $v1, $v0, 0x38
|
|
/* 013180 80037D80 AC40002C */ sw $zero, 0x2c($v0)
|
|
/* 013184 80037D84 ACA30000 */ sw $v1, ($a1)
|
|
/* 013188 80037D88 3C03F300 */ lui $v1, 0xf300
|
|
/* 01318C 80037D8C AC430030 */ sw $v1, 0x30($v0)
|
|
/* 013190 80037D90 24430040 */ addiu $v1, $v0, 0x40
|
|
/* 013194 80037D94 AC490034 */ sw $t1, 0x34($v0)
|
|
/* 013198 80037D98 ACA30000 */ sw $v1, ($a1)
|
|
/* 01319C 80037D9C 24430048 */ addiu $v1, $v0, 0x48
|
|
/* 0131A0 80037DA0 AC460038 */ sw $a2, 0x38($v0)
|
|
/* 0131A4 80037DA4 AC40003C */ sw $zero, 0x3c($v0)
|
|
/* 0131A8 80037DA8 ACA30000 */ sw $v1, ($a1)
|
|
/* 0131AC 80037DAC 24430050 */ addiu $v1, $v0, 0x50
|
|
/* 0131B0 80037DB0 AC4A0040 */ sw $t2, 0x40($v0)
|
|
/* 0131B4 80037DB4 AC400044 */ sw $zero, 0x44($v0)
|
|
/* 0131B8 80037DB8 ACA30000 */ sw $v1, ($a1)
|
|
/* 0131BC 80037DBC 3C03F200 */ lui $v1, 0xf200
|
|
/* 0131C0 80037DC0 AC430048 */ sw $v1, 0x48($v0)
|
|
/* 0131C4 80037DC4 24430058 */ addiu $v1, $v0, 0x58
|
|
/* 0131C8 80037DC8 AC4B004C */ sw $t3, 0x4c($v0)
|
|
/* 0131CC 80037DCC ACA30000 */ sw $v1, ($a1)
|
|
/* 0131D0 80037DD0 24430060 */ addiu $v1, $v0, 0x60
|
|
/* 0131D4 80037DD4 AC4D0050 */ sw $t5, 0x50($v0)
|
|
/* 0131D8 80037DD8 AC4C0054 */ sw $t4, 0x54($v0)
|
|
/* 0131DC 80037DDC ACA30000 */ sw $v1, ($a1)
|
|
/* 0131E0 80037DE0 3C03E100 */ lui $v1, 0xe100
|
|
/* 0131E4 80037DE4 AC430058 */ sw $v1, 0x58($v0)
|
|
/* 0131E8 80037DE8 24430068 */ addiu $v1, $v0, 0x68
|
|
/* 0131EC 80037DEC AC40005C */ sw $zero, 0x5c($v0)
|
|
/* 0131F0 80037DF0 ACA30000 */ sw $v1, ($a1)
|
|
/* 0131F4 80037DF4 3C03F100 */ lui $v1, 0xf100
|
|
/* 0131F8 80037DF8 AC430060 */ sw $v1, 0x60($v0)
|
|
/* 0131FC 80037DFC 24430070 */ addiu $v1, $v0, 0x70
|
|
/* 013200 80037E00 AC4E0064 */ sw $t6, 0x64($v0)
|
|
/* 013204 80037E04 ACA30000 */ sw $v1, ($a1)
|
|
/* 013208 80037E08 AC460068 */ sw $a2, 0x68($v0)
|
|
/* 01320C 80037E0C 03E00008 */ jr $ra
|
|
/* 013210 80037E10 AC40006C */ sw $zero, 0x6c($v0)
|
|
|