mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
159 lines
8.2 KiB
ArmAsm
159 lines
8.2 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_80027BAC
|
|
/* 2FAC 80027BAC 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 2FB0 80027BB0 3C06D700 */ lui $a2, 0xd700
|
|
/* 2FB4 80027BB4 34C60002 */ ori $a2, $a2, 2
|
|
/* 2FB8 80027BB8 3C07FF10 */ lui $a3, 0xff10
|
|
/* 2FBC 80027BBC 34E7013F */ ori $a3, $a3, 0x13f
|
|
/* 2FC0 80027BC0 3C08E300 */ lui $t0, 0xe300
|
|
/* 2FC4 80027BC4 35080A01 */ ori $t0, $t0, 0xa01
|
|
/* 2FC8 80027BC8 3C09E300 */ lui $t1, 0xe300
|
|
/* 2FCC 80027BCC 35290C00 */ ori $t1, $t1, 0xc00
|
|
/* 2FD0 80027BD0 3C0AE300 */ lui $t2, 0xe300
|
|
/* 2FD4 80027BD4 354A1001 */ ori $t2, $t2, 0x1001
|
|
/* 2FD8 80027BD8 3C0BE200 */ lui $t3, 0xe200
|
|
/* 2FDC 80027BDC 356B001C */ ori $t3, $t3, 0x1c
|
|
/* 2FE0 80027BE0 3C0CE300 */ lui $t4, 0xe300
|
|
/* 2FE4 80027BE4 358C1201 */ ori $t4, $t4, 0x1201
|
|
/* 2FE8 80027BE8 0000C82D */ daddu $t9, $zero, $zero
|
|
/* 2FEC 80027BEC 3C02800A */ lui $v0, 0x800a
|
|
/* 2FF0 80027BF0 2442A66C */ addiu $v0, $v0, -0x5994
|
|
/* 2FF4 80027BF4 0040682D */ daddu $t5, $v0, $zero
|
|
/* 2FF8 80027BF8 AFB5001C */ sw $s5, 0x1c($sp)
|
|
/* 2FFC 80027BFC 3C15FD10 */ lui $s5, 0xfd10
|
|
/* 3000 80027C00 36B5013F */ ori $s5, $s5, 0x13f
|
|
/* 3004 80027C04 AFB00008 */ sw $s0, 8($sp)
|
|
/* 3008 80027C08 3C10F510 */ lui $s0, 0xf510
|
|
/* 300C 80027C0C 3610A000 */ ori $s0, $s0, 0xa000
|
|
/* 3010 80027C10 AFB40018 */ sw $s4, 0x18($sp)
|
|
/* 3014 80027C14 3C14074F */ lui $s4, 0x74f
|
|
/* 3018 80027C18 3694C014 */ ori $s4, $s4, 0xc014
|
|
/* 301C 80027C1C AFB1000C */ sw $s1, 0xc($sp)
|
|
/* 3020 80027C20 3C11E700 */ lui $s1, 0xe700
|
|
/* 3024 80027C24 AFBE0028 */ sw $fp, 0x28($sp)
|
|
/* 3028 80027C28 3C1EF200 */ lui $fp, 0xf200
|
|
/* 302C 80027C2C AFB30014 */ sw $s3, 0x14($sp)
|
|
/* 3030 80027C30 3C13004F */ lui $s3, 0x4f
|
|
/* 3034 80027C34 3673C014 */ ori $s3, $s3, 0xc014
|
|
/* 3038 80027C38 AFB20010 */ sw $s2, 0x10($sp)
|
|
/* 303C 80027C3C 3C12E44F */ lui $s2, 0xe44f
|
|
/* 3040 80027C40 3652C000 */ ori $s2, $s2, 0xc000
|
|
/* 3044 80027C44 AFB70024 */ sw $s7, 0x24($sp)
|
|
/* 3048 80027C48 3C17E100 */ lui $s7, 0xe100
|
|
/* 304C 80027C4C AFB60020 */ sw $s6, 0x20($sp)
|
|
/* 3050 80027C50 3C16F100 */ lui $s6, 0xf100
|
|
/* 3054 80027C54 0320C02D */ daddu $t8, $t9, $zero
|
|
/* 3058 80027C58 240F0014 */ addiu $t7, $zero, 0x14
|
|
/* 305C 80027C5C 0080702D */ daddu $t6, $a0, $zero
|
|
/* 3060 80027C60 8DA20000 */ lw $v0, ($t5)
|
|
/* 3064 80027C64 0220182D */ daddu $v1, $s1, $zero
|
|
/* 3068 80027C68 0040202D */ daddu $a0, $v0, $zero
|
|
/* 306C 80027C6C 24420008 */ addiu $v0, $v0, 8
|
|
/* 3070 80027C70 ADA20000 */ sw $v0, ($t5)
|
|
/* 3074 80027C74 AC830000 */ sw $v1, ($a0)
|
|
/* 3078 80027C78 24430008 */ addiu $v1, $v0, 8
|
|
/* 307C 80027C7C AC800004 */ sw $zero, 4($a0)
|
|
/* 3080 80027C80 ADA30000 */ sw $v1, ($t5)
|
|
/* 3084 80027C84 2403FFFF */ addiu $v1, $zero, -1
|
|
/* 3088 80027C88 AC430004 */ sw $v1, 4($v0)
|
|
/* 308C 80027C8C 24430010 */ addiu $v1, $v0, 0x10
|
|
/* 3090 80027C90 AC460000 */ sw $a2, ($v0)
|
|
/* 3094 80027C94 ADA30000 */ sw $v1, ($t5)
|
|
/* 3098 80027C98 24430018 */ addiu $v1, $v0, 0x18
|
|
/* 309C 80027C9C AC470008 */ sw $a3, 8($v0)
|
|
/* 30A0 80027CA0 AC45000C */ sw $a1, 0xc($v0)
|
|
/* 30A4 80027CA4 ADA30000 */ sw $v1, ($t5)
|
|
/* 30A8 80027CA8 3C030020 */ lui $v1, 0x20
|
|
/* 30AC 80027CAC AC430014 */ sw $v1, 0x14($v0)
|
|
/* 30B0 80027CB0 24430020 */ addiu $v1, $v0, 0x20
|
|
/* 30B4 80027CB4 AC480010 */ sw $t0, 0x10($v0)
|
|
/* 30B8 80027CB8 ADA30000 */ sw $v1, ($t5)
|
|
/* 30BC 80027CBC 24430028 */ addiu $v1, $v0, 0x28
|
|
/* 30C0 80027CC0 AC490018 */ sw $t1, 0x18($v0)
|
|
/* 30C4 80027CC4 AC40001C */ sw $zero, 0x1c($v0)
|
|
/* 30C8 80027CC8 ADA30000 */ sw $v1, ($t5)
|
|
/* 30CC 80027CCC 24430030 */ addiu $v1, $v0, 0x30
|
|
/* 30D0 80027CD0 AC4A0020 */ sw $t2, 0x20($v0)
|
|
/* 30D4 80027CD4 AC400024 */ sw $zero, 0x24($v0)
|
|
/* 30D8 80027CD8 ADA30000 */ sw $v1, ($t5)
|
|
/* 30DC 80027CDC 24430038 */ addiu $v1, $v0, 0x38
|
|
/* 30E0 80027CE0 AC4B0028 */ sw $t3, 0x28($v0)
|
|
/* 30E4 80027CE4 AC40002C */ sw $zero, 0x2c($v0)
|
|
/* 30E8 80027CE8 ADA30000 */ sw $v1, ($t5)
|
|
/* 30EC 80027CEC AC4C0030 */ sw $t4, 0x30($v0)
|
|
/* 30F0 80027CF0 AC400034 */ sw $zero, 0x34($v0)
|
|
.L80027CF4:
|
|
/* 30F4 80027CF4 3C061000 */ lui $a2, 0x1000
|
|
/* 30F8 80027CF8 34C60400 */ ori $a2, $a2, 0x400
|
|
/* 30FC 80027CFC 33050FFF */ andi $a1, $t8, 0xfff
|
|
/* 3100 80027D00 27180018 */ addiu $t8, $t8, 0x18
|
|
/* 3104 80027D04 31E40FFF */ andi $a0, $t7, 0xfff
|
|
/* 3108 80027D08 25EF0018 */ addiu $t7, $t7, 0x18
|
|
/* 310C 80027D0C 27390001 */ addiu $t9, $t9, 1
|
|
/* 3110 80027D10 8DA20000 */ lw $v0, ($t5)
|
|
/* 3114 80027D14 00922025 */ or $a0, $a0, $s2
|
|
/* 3118 80027D18 0040182D */ daddu $v1, $v0, $zero
|
|
/* 311C 80027D1C 24420008 */ addiu $v0, $v0, 8
|
|
/* 3120 80027D20 AC6E0004 */ sw $t6, 4($v1)
|
|
/* 3124 80027D24 ADA20000 */ sw $v0, ($t5)
|
|
/* 3128 80027D28 AC750000 */ sw $s5, ($v1)
|
|
/* 312C 80027D2C 24430008 */ addiu $v1, $v0, 8
|
|
/* 3130 80027D30 3C070700 */ lui $a3, 0x700
|
|
/* 3134 80027D34 ADA30000 */ sw $v1, ($t5)
|
|
/* 3138 80027D38 24430010 */ addiu $v1, $v0, 0x10
|
|
/* 313C 80027D3C AC470004 */ sw $a3, 4($v0)
|
|
/* 3140 80027D40 3C07E600 */ lui $a3, 0xe600
|
|
/* 3144 80027D44 AC500000 */ sw $s0, ($v0)
|
|
/* 3148 80027D48 ADA30000 */ sw $v1, ($t5)
|
|
/* 314C 80027D4C 24430018 */ addiu $v1, $v0, 0x18
|
|
/* 3150 80027D50 AC470008 */ sw $a3, 8($v0)
|
|
/* 3154 80027D54 3C07F400 */ lui $a3, 0xf400
|
|
/* 3158 80027D58 AC40000C */ sw $zero, 0xc($v0)
|
|
/* 315C 80027D5C ADA30000 */ sw $v1, ($t5)
|
|
/* 3160 80027D60 24430020 */ addiu $v1, $v0, 0x20
|
|
/* 3164 80027D64 AC470010 */ sw $a3, 0x10($v0)
|
|
/* 3168 80027D68 AC540014 */ sw $s4, 0x14($v0)
|
|
/* 316C 80027D6C ADA30000 */ sw $v1, ($t5)
|
|
/* 3170 80027D70 24430028 */ addiu $v1, $v0, 0x28
|
|
/* 3174 80027D74 AC510018 */ sw $s1, 0x18($v0)
|
|
/* 3178 80027D78 AC40001C */ sw $zero, 0x1c($v0)
|
|
/* 317C 80027D7C ADA30000 */ sw $v1, ($t5)
|
|
/* 3180 80027D80 24430030 */ addiu $v1, $v0, 0x30
|
|
/* 3184 80027D84 AC500020 */ sw $s0, 0x20($v0)
|
|
/* 3188 80027D88 AC400024 */ sw $zero, 0x24($v0)
|
|
/* 318C 80027D8C ADA30000 */ sw $v1, ($t5)
|
|
/* 3190 80027D90 24430038 */ addiu $v1, $v0, 0x38
|
|
/* 3194 80027D94 AC5E0028 */ sw $fp, 0x28($v0)
|
|
/* 3198 80027D98 AC53002C */ sw $s3, 0x2c($v0)
|
|
/* 319C 80027D9C ADA30000 */ sw $v1, ($t5)
|
|
/* 31A0 80027DA0 24430040 */ addiu $v1, $v0, 0x40
|
|
/* 31A4 80027DA4 AC440030 */ sw $a0, 0x30($v0)
|
|
/* 31A8 80027DA8 AC450034 */ sw $a1, 0x34($v0)
|
|
/* 31AC 80027DAC ADA30000 */ sw $v1, ($t5)
|
|
/* 31B0 80027DB0 24430048 */ addiu $v1, $v0, 0x48
|
|
/* 31B4 80027DB4 AC570038 */ sw $s7, 0x38($v0)
|
|
/* 31B8 80027DB8 AC40003C */ sw $zero, 0x3c($v0)
|
|
/* 31BC 80027DBC ADA30000 */ sw $v1, ($t5)
|
|
/* 31C0 80027DC0 24430050 */ addiu $v1, $v0, 0x50
|
|
/* 31C4 80027DC4 AC560040 */ sw $s6, 0x40($v0)
|
|
/* 31C8 80027DC8 AC460044 */ sw $a2, 0x44($v0)
|
|
/* 31CC 80027DCC ADA30000 */ sw $v1, ($t5)
|
|
/* 31D0 80027DD0 AC510048 */ sw $s1, 0x48($v0)
|
|
/* 31D4 80027DD4 AC40004C */ sw $zero, 0x4c($v0)
|
|
/* 31D8 80027DD8 2B220028 */ slti $v0, $t9, 0x28
|
|
/* 31DC 80027DDC 1440FFC5 */ bnez $v0, .L80027CF4
|
|
/* 31E0 80027DE0 25CE0F00 */ addiu $t6, $t6, 0xf00
|
|
/* 31E4 80027DE4 8FBE0028 */ lw $fp, 0x28($sp)
|
|
/* 31E8 80027DE8 8FB70024 */ lw $s7, 0x24($sp)
|
|
/* 31EC 80027DEC 8FB60020 */ lw $s6, 0x20($sp)
|
|
/* 31F0 80027DF0 8FB5001C */ lw $s5, 0x1c($sp)
|
|
/* 31F4 80027DF4 8FB40018 */ lw $s4, 0x18($sp)
|
|
/* 31F8 80027DF8 8FB30014 */ lw $s3, 0x14($sp)
|
|
/* 31FC 80027DFC 8FB20010 */ lw $s2, 0x10($sp)
|
|
/* 3200 80027E00 8FB1000C */ lw $s1, 0xc($sp)
|
|
/* 3204 80027E04 8FB00008 */ lw $s0, 8($sp)
|
|
/* 3208 80027E08 03E00008 */ jr $ra
|
|
/* 320C 80027E0C 27BD0030 */ addiu $sp, $sp, 0x30
|