papermario/asm/nonmatchings/code_135EE0/pause_map_update.s
2020-09-23 23:16:13 -04:00

103 lines
5.2 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel pause_map_update
/* 141FF0 8024ECB0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 141FF4 8024ECB4 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 141FF8 8024ECB8 3C01461C */ lui $at, 0x461c
/* 141FFC 8024ECBC 34214000 */ ori $at, $at, 0x4000
/* 142000 8024ECC0 4481A000 */ mtc1 $at, $f20
/* 142004 8024ECC4 AFB10014 */ sw $s1, 0x14($sp)
/* 142008 8024ECC8 3C118025 */ lui $s1, 0x8025
/* 14200C 8024ECCC 263102B8 */ addiu $s1, $s1, 0x2b8
/* 142010 8024ECD0 AFB00010 */ sw $s0, 0x10($sp)
/* 142014 8024ECD4 0000802D */ daddu $s0, $zero, $zero
/* 142018 8024ECD8 AFB3001C */ sw $s3, 0x1c($sp)
/* 14201C 8024ECDC 3C13F840 */ lui $s3, 0xf840
/* 142020 8024ECE0 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 142024 8024ECE4 3C01BF80 */ lui $at, 0xbf80
/* 142028 8024ECE8 4481B000 */ mtc1 $at, $f22
/* 14202C 8024ECEC 3673632A */ ori $s3, $s3, 0x632a
/* 142030 8024ECF0 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* 142034 8024ECF4 3C0143C8 */ lui $at, 0x43c8
/* 142038 8024ECF8 4481D000 */ mtc1 $at, $f26
/* 14203C 8024ECFC 3C028027 */ lui $v0, 0x8027
/* 142040 8024ED00 24420724 */ addiu $v0, $v0, 0x724
/* 142044 8024ED04 AFB20018 */ sw $s2, 0x18($sp)
/* 142048 8024ED08 0040902D */ daddu $s2, $v0, $zero
/* 14204C 8024ED0C F7B80038 */ sdc1 $f24, 0x38($sp)
/* 142050 8024ED10 3C014348 */ lui $at, 0x4348
/* 142054 8024ED14 4481C000 */ mtc1 $at, $f24
/* 142058 8024ED18 2402FFFF */ addiu $v0, $zero, -1
/* 14205C 8024ED1C AFBF0020 */ sw $ra, 0x20($sp)
/* 142060 8024ED20 3C018027 */ lui $at, 0x8027
/* 142064 8024ED24 AC22071C */ sw $v0, 0x71c($at)
/* 142068 8024ED28 AE400000 */ sw $zero, ($s2)
.L8024ED2C:
/* 14206C 8024ED2C 0000202D */ daddu $a0, $zero, $zero
/* 142070 8024ED30 0C0B1EAF */ jal get_variable
/* 142074 8024ED34 02132821 */ addu $a1, $s0, $s3
/* 142078 8024ED38 50400028 */ beql $v0, $zero, .L8024EDDC
/* 14207C 8024ED3C 26100001 */ addiu $s0, $s0, 1
/* 142080 8024ED40 86220000 */ lh $v0, ($s1)
/* 142084 8024ED44 3C018027 */ lui $at, 0x8027
/* 142088 8024ED48 C4240714 */ lwc1 $f4, 0x714($at)
/* 14208C 8024ED4C 44820000 */ mtc1 $v0, $f0
/* 142090 8024ED50 00000000 */ nop
/* 142094 8024ED54 46800020 */ cvt.s.w $f0, $f0
/* 142098 8024ED58 46002101 */ sub.s $f4, $f4, $f0
/* 14209C 8024ED5C 46042102 */ mul.s $f4, $f4, $f4
/* 1420A0 8024ED60 00000000 */ nop
/* 1420A4 8024ED64 86220002 */ lh $v0, 2($s1)
/* 1420A8 8024ED68 3C018027 */ lui $at, 0x8027
/* 1420AC 8024ED6C C4200718 */ lwc1 $f0, 0x718($at)
/* 1420B0 8024ED70 44821000 */ mtc1 $v0, $f2
/* 1420B4 8024ED74 00000000 */ nop
/* 1420B8 8024ED78 468010A0 */ cvt.s.w $f2, $f2
/* 1420BC 8024ED7C 46020001 */ sub.s $f0, $f0, $f2
/* 1420C0 8024ED80 46000002 */ mul.s $f0, $f0, $f0
/* 1420C4 8024ED84 00000000 */ nop
/* 1420C8 8024ED88 46002100 */ add.s $f4, $f4, $f0
/* 1420CC 8024ED8C 461A203C */ c.lt.s $f4, $f26
/* 1420D0 8024ED90 00000000 */ nop
/* 1420D4 8024ED94 45000004 */ bc1f .L8024EDA8
/* 1420D8 8024ED98 00000000 */ nop
/* 1420DC 8024ED9C 8E420000 */ lw $v0, ($s2)
/* 1420E0 8024EDA0 24420001 */ addiu $v0, $v0, 1
/* 1420E4 8024EDA4 AE420000 */ sw $v0, ($s2)
.L8024EDA8:
/* 1420E8 8024EDA8 4614203C */ c.lt.s $f4, $f20
/* 1420EC 8024EDAC 00000000 */ nop
/* 1420F0 8024EDB0 4502000A */ bc1fl .L8024EDDC
/* 1420F4 8024EDB4 26100001 */ addiu $s0, $s0, 1
/* 1420F8 8024EDB8 4618203C */ c.lt.s $f4, $f24
/* 1420FC 8024EDBC 00000000 */ nop
/* 142100 8024EDC0 45020006 */ bc1fl .L8024EDDC
/* 142104 8024EDC4 26100001 */ addiu $s0, $s0, 1
/* 142108 8024EDC8 46002506 */ mov.s $f20, $f4
/* 14210C 8024EDCC 4490B000 */ mtc1 $s0, $f22
/* 142110 8024EDD0 00000000 */ nop
/* 142114 8024EDD4 4680B5A0 */ cvt.s.w $f22, $f22
/* 142118 8024EDD8 26100001 */ addiu $s0, $s0, 1
.L8024EDDC:
/* 14211C 8024EDDC 2A020022 */ slti $v0, $s0, 0x22
/* 142120 8024EDE0 1440FFD2 */ bnez $v0, .L8024ED2C
/* 142124 8024EDE4 26310014 */ addiu $s1, $s1, 0x14
/* 142128 8024EDE8 4600B18D */ trunc.w.s $f6, $f22
/* 14212C 8024EDEC 44023000 */ mfc1 $v0, $f6
/* 142130 8024EDF0 8FBF0020 */ lw $ra, 0x20($sp)
/* 142134 8024EDF4 8FB3001C */ lw $s3, 0x1c($sp)
/* 142138 8024EDF8 8FB20018 */ lw $s2, 0x18($sp)
/* 14213C 8024EDFC 8FB10014 */ lw $s1, 0x14($sp)
/* 142140 8024EE00 8FB00010 */ lw $s0, 0x10($sp)
/* 142144 8024EE04 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* 142148 8024EE08 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 14214C 8024EE0C D7B60030 */ ldc1 $f22, 0x30($sp)
/* 142150 8024EE10 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 142154 8024EE14 3C018027 */ lui $at, 0x8027
/* 142158 8024EE18 AC22071C */ sw $v0, 0x71c($at)
/* 14215C 8024EE1C 3C018027 */ lui $at, 0x8027
/* 142160 8024EE20 AC220720 */ sw $v0, 0x720($at)
/* 142164 8024EE24 03E00008 */ jr $ra
/* 142168 8024EE28 27BD0048 */ addiu $sp, $sp, 0x48