papermario/asm/nonmatchings/code_104940_len_dc0/func_802E30C0.s
2020-08-12 22:37:16 -04:00

191 lines
8.8 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E30C0
/* 104940 802E30C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 104944 802E30C4 AFB00010 */ sw $s0, 0x10($sp)
/* 104948 802E30C8 3C10800A */ lui $s0, 0x800a
/* 10494C 802E30CC 8E10A66C */ lw $s0, -0x5994($s0)
/* 104950 802E30D0 AFBF0014 */ sw $ra, 0x14($sp)
/* 104954 802E30D4 0C04417A */ jal get_entity_by_index
/* 104958 802E30D8 00000000 */ nop
/* 10495C 802E30DC 3C04E300 */ lui $a0, 0xe300
/* 104960 802E30E0 34841001 */ ori $a0, $a0, 0x1001
/* 104964 802E30E4 3C05D700 */ lui $a1, 0xd700
/* 104968 802E30E8 34A50002 */ ori $a1, $a1, 2
/* 10496C 802E30EC 0200182D */ daddu $v1, $s0, $zero
/* 104970 802E30F0 26100008 */ addiu $s0, $s0, 8
/* 104974 802E30F4 AC640000 */ sw $a0, ($v1)
/* 104978 802E30F8 0200202D */ daddu $a0, $s0, $zero
/* 10497C 802E30FC AC600004 */ sw $zero, 4($v1)
/* 104980 802E3100 2403FFFF */ addiu $v1, $zero, -1
/* 104984 802E3104 AC850000 */ sw $a1, ($a0)
/* 104988 802E3108 0040282D */ daddu $a1, $v0, $zero
/* 10498C 802E310C AC830004 */ sw $v1, 4($a0)
/* 104990 802E3110 90A2000B */ lbu $v0, 0xb($a1)
/* 104994 802E3114 2C4200FF */ sltiu $v0, $v0, 0xff
/* 104998 802E3118 14400011 */ bnez $v0, .L802E3160
/* 10499C 802E311C 26100008 */ addiu $s0, $s0, 8
/* 1049A0 802E3120 0200282D */ daddu $a1, $s0, $zero
/* 1049A4 802E3124 26100008 */ addiu $s0, $s0, 8
/* 1049A8 802E3128 3C07E200 */ lui $a3, 0xe200
/* 1049AC 802E312C 34E7001C */ ori $a3, $a3, 0x1c
/* 1049B0 802E3130 3C060055 */ lui $a2, 0x55
/* 1049B4 802E3134 34C62078 */ ori $a2, $a2, 0x2078
/* 1049B8 802E3138 0200182D */ daddu $v1, $s0, $zero
/* 1049BC 802E313C 26100008 */ addiu $s0, $s0, 8
/* 1049C0 802E3140 3C04FC12 */ lui $a0, 0xfc12
/* 1049C4 802E3144 34841824 */ ori $a0, $a0, 0x1824
/* 1049C8 802E3148 3C02FF33 */ lui $v0, 0xff33
/* 1049CC 802E314C 3442FFFF */ ori $v0, $v0, 0xffff
/* 1049D0 802E3150 ACA70000 */ sw $a3, ($a1)
/* 1049D4 802E3154 ACA60004 */ sw $a2, 4($a1)
/* 1049D8 802E3158 080B8C65 */ j .L802E3194
/* 1049DC 802E315C AC640000 */ sw $a0, ($v1)
.L802E3160:
/* 1049E0 802E3160 0200202D */ daddu $a0, $s0, $zero
/* 1049E4 802E3164 26100008 */ addiu $s0, $s0, 8
/* 1049E8 802E3168 3C03FCFF */ lui $v1, 0xfcff
/* 1049EC 802E316C 3463B3FF */ ori $v1, $v1, 0xb3ff
/* 1049F0 802E3170 3C02FF2C */ lui $v0, 0xff2c
/* 1049F4 802E3174 3442FE7F */ ori $v0, $v0, 0xfe7f
/* 1049F8 802E3178 AC830000 */ sw $v1, ($a0)
/* 1049FC 802E317C 0200182D */ daddu $v1, $s0, $zero
/* 104A00 802E3180 AC820004 */ sw $v0, 4($a0)
/* 104A04 802E3184 3C02FA00 */ lui $v0, 0xfa00
/* 104A08 802E3188 AC620000 */ sw $v0, ($v1)
/* 104A0C 802E318C 90A2000B */ lbu $v0, 0xb($a1)
/* 104A10 802E3190 26100008 */ addiu $s0, $s0, 8
.L802E3194:
/* 104A14 802E3194 AC620004 */ sw $v0, 4($v1)
/* 104A18 802E3198 8FBF0014 */ lw $ra, 0x14($sp)
/* 104A1C 802E319C 3C01800A */ lui $at, 0x800a
/* 104A20 802E31A0 AC30A66C */ sw $s0, -0x5994($at)
/* 104A24 802E31A4 8FB00010 */ lw $s0, 0x10($sp)
/* 104A28 802E31A8 03E00008 */ jr $ra
/* 104A2C 802E31AC 27BD0018 */ addiu $sp, $sp, 0x18
/* 104A30 802E31B0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 104A34 802E31B4 3C013F80 */ lui $at, 0x3f80
/* 104A38 802E31B8 44810000 */ mtc1 $at, $f0
/* 104A3C 802E31BC 2402003C */ addiu $v0, $zero, 0x3c
/* 104A40 802E31C0 AFBF0018 */ sw $ra, 0x18($sp)
/* 104A44 802E31C4 AFA20014 */ sw $v0, 0x14($sp)
/* 104A48 802E31C8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 104A4C 802E31CC 8C850048 */ lw $a1, 0x48($a0)
/* 104A50 802E31D0 8C86004C */ lw $a2, 0x4c($a0)
/* 104A54 802E31D4 8C870050 */ lw $a3, 0x50($a0)
/* 104A58 802E31D8 0C01C88C */ jal func_80072230
/* 104A5C 802E31DC 0000202D */ daddu $a0, $zero, $zero
/* 104A60 802E31E0 8FBF0018 */ lw $ra, 0x18($sp)
/* 104A64 802E31E4 03E00008 */ jr $ra
/* 104A68 802E31E8 27BD0020 */ addiu $sp, $sp, 0x20
/* 104A6C 802E31EC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 104A70 802E31F0 AFB00010 */ sw $s0, 0x10($sp)
/* 104A74 802E31F4 0080802D */ daddu $s0, $a0, $zero
/* 104A78 802E31F8 AFBF0014 */ sw $ra, 0x14($sp)
/* 104A7C 802E31FC 0C0441A9 */ jal func_801106A4
/* 104A80 802E3200 92040004 */ lbu $a0, 4($s0)
/* 104A84 802E3204 2442FFE8 */ addiu $v0, $v0, -0x18
/* 104A88 802E3208 2C420003 */ sltiu $v0, $v0, 3
/* 104A8C 802E320C 1040000D */ beqz $v0, .L802E3244
/* 104A90 802E3210 00000000 */ nop
/* 104A94 802E3214 3C013E6B */ lui $at, 0x3e6b
/* 104A98 802E3218 3421851F */ ori $at, $at, 0x851f
/* 104A9C 802E321C 44810000 */ mtc1 $at, $f0
/* 104AA0 802E3220 3C014190 */ lui $at, 0x4190
/* 104AA4 802E3224 44811000 */ mtc1 $at, $f2
/* 104AA8 802E3228 E6000058 */ swc1 $f0, 0x58($s0)
/* 104AAC 802E322C C600004C */ lwc1 $f0, 0x4c($s0)
/* 104AB0 802E3230 3C013F85 */ lui $at, 0x3f85
/* 104AB4 802E3234 34211EB8 */ ori $at, $at, 0x1eb8
/* 104AB8 802E3238 44812000 */ mtc1 $at, $f4
/* 104ABC 802E323C 080B8C9C */ j .L802E3270
/* 104AC0 802E3240 46020000 */ add.s $f0, $f0, $f2
.L802E3244:
/* 104AC4 802E3244 3C013EEB */ lui $at, 0x3eeb
/* 104AC8 802E3248 3421851F */ ori $at, $at, 0x851f
/* 104ACC 802E324C 44810000 */ mtc1 $at, $f0
/* 104AD0 802E3250 3C014190 */ lui $at, 0x4190
/* 104AD4 802E3254 44811000 */ mtc1 $at, $f2
/* 104AD8 802E3258 E6000058 */ swc1 $f0, 0x58($s0)
/* 104ADC 802E325C C600004C */ lwc1 $f0, 0x4c($s0)
/* 104AE0 802E3260 3C014005 */ lui $at, 0x4005
/* 104AE4 802E3264 34211EB8 */ ori $at, $at, 0x1eb8
/* 104AE8 802E3268 44812000 */ mtc1 $at, $f4
/* 104AEC 802E326C 46020000 */ add.s $f0, $f0, $f2
.L802E3270:
/* 104AF0 802E3270 E6040054 */ swc1 $f4, 0x54($s0)
/* 104AF4 802E3274 E604005C */ swc1 $f4, 0x5c($s0)
/* 104AF8 802E3278 E600004C */ swc1 $f0, 0x4c($s0)
/* 104AFC 802E327C 8FBF0014 */ lw $ra, 0x14($sp)
/* 104B00 802E3280 8FB00010 */ lw $s0, 0x10($sp)
/* 104B04 802E3284 03E00008 */ jr $ra
/* 104B08 802E3288 27BD0018 */ addiu $sp, $sp, 0x18
/* 104B0C 802E328C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 104B10 802E3290 AFB00010 */ sw $s0, 0x10($sp)
/* 104B14 802E3294 0080802D */ daddu $s0, $a0, $zero
/* 104B18 802E3298 AFBF0014 */ sw $ra, 0x14($sp)
/* 104B1C 802E329C 0C0441A9 */ jal func_801106A4
/* 104B20 802E32A0 92040004 */ lbu $a0, 4($s0)
/* 104B24 802E32A4 2442FFE8 */ addiu $v0, $v0, -0x18
/* 104B28 802E32A8 2C420003 */ sltiu $v0, $v0, 3
/* 104B2C 802E32AC 10400012 */ beqz $v0, .L802E32F8
/* 104B30 802E32B0 00000000 */ nop
/* 104B34 802E32B4 C6000054 */ lwc1 $f0, 0x54($s0)
/* 104B38 802E32B8 3C01802F */ lui $at, 0x802f
/* 104B3C 802E32BC D424B1D0 */ ldc1 $f4, -0x4e30($at)
/* 104B40 802E32C0 C602005C */ lwc1 $f2, 0x5c($s0)
/* 104B44 802E32C4 46000021 */ cvt.d.s $f0, $f0
/* 104B48 802E32C8 46240001 */ sub.d $f0, $f0, $f4
/* 104B4C 802E32CC 3C014040 */ lui $at, 0x4040
/* 104B50 802E32D0 44813000 */ mtc1 $at, $f6
/* 104B54 802E32D4 460010A1 */ cvt.d.s $f2, $f2
/* 104B58 802E32D8 46241081 */ sub.d $f2, $f2, $f4
/* 104B5C 802E32DC 46200020 */ cvt.s.d $f0, $f0
/* 104B60 802E32E0 E6000054 */ swc1 $f0, 0x54($s0)
/* 104B64 802E32E4 C6000058 */ lwc1 $f0, 0x58($s0)
/* 104B68 802E32E8 3C01802F */ lui $at, 0x802f
/* 104B6C 802E32EC D424B1D8 */ ldc1 $f4, -0x4e28($at)
/* 104B70 802E32F0 080B8CCE */ j .L802E3338
/* 104B74 802E32F4 46000021 */ cvt.d.s $f0, $f0
.L802E32F8:
/* 104B78 802E32F8 C6000054 */ lwc1 $f0, 0x54($s0)
/* 104B7C 802E32FC 3C01802F */ lui $at, 0x802f
/* 104B80 802E3300 D424B1E0 */ ldc1 $f4, -0x4e20($at)
/* 104B84 802E3304 C602005C */ lwc1 $f2, 0x5c($s0)
/* 104B88 802E3308 46000021 */ cvt.d.s $f0, $f0
/* 104B8C 802E330C 46240001 */ sub.d $f0, $f0, $f4
/* 104B90 802E3310 3C014040 */ lui $at, 0x4040
/* 104B94 802E3314 44813000 */ mtc1 $at, $f6
/* 104B98 802E3318 460010A1 */ cvt.d.s $f2, $f2
/* 104B9C 802E331C 46241081 */ sub.d $f2, $f2, $f4
/* 104BA0 802E3320 46200020 */ cvt.s.d $f0, $f0
/* 104BA4 802E3324 E6000054 */ swc1 $f0, 0x54($s0)
/* 104BA8 802E3328 C6000058 */ lwc1 $f0, 0x58($s0)
/* 104BAC 802E332C 3C01802F */ lui $at, 0x802f
/* 104BB0 802E3330 D424B1E8 */ ldc1 $f4, -0x4e18($at)
/* 104BB4 802E3334 46000021 */ cvt.d.s $f0, $f0
.L802E3338:
/* 104BB8 802E3338 46240000 */ add.d $f0, $f0, $f4
/* 104BBC 802E333C C604004C */ lwc1 $f4, 0x4c($s0)
/* 104BC0 802E3340 462010A0 */ cvt.s.d $f2, $f2
/* 104BC4 802E3344 E602005C */ swc1 $f2, 0x5c($s0)
/* 104BC8 802E3348 46062101 */ sub.s $f4, $f4, $f6
/* 104BCC 802E334C 46200020 */ cvt.s.d $f0, $f0
/* 104BD0 802E3350 E6000058 */ swc1 $f0, 0x58($s0)
/* 104BD4 802E3354 E604004C */ swc1 $f4, 0x4c($s0)
/* 104BD8 802E3358 0C0B8D94 */ jal func_802E3650
/* 104BDC 802E335C 0200202D */ daddu $a0, $s0, $zero
/* 104BE0 802E3360 8FBF0014 */ lw $ra, 0x14($sp)
/* 104BE4 802E3364 8FB00010 */ lw $s0, 0x10($sp)
/* 104BE8 802E3368 03E00008 */ jr $ra
/* 104BEC 802E336C 27BD0018 */ addiu $sp, $sp, 0x18