papermario/asm/nonmatchings/code_121f0_len_1290/func_80037E14.s
2020-09-23 23:16:13 -04:00

163 lines
8.4 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80037E14
/* 13214 80037E14 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 13218 80037E18 3C07800A */ lui $a3, 0x800a
/* 1321C 80037E1C 24E7A66C */ addiu $a3, $a3, -0x5994
/* 13220 80037E20 3C02DE00 */ lui $v0, 0xde00
/* 13224 80037E24 AFB7001C */ sw $s7, 0x1c($sp)
/* 13228 80037E28 AFB60018 */ sw $s6, 0x18($sp)
/* 1322C 80037E2C AFB50014 */ sw $s5, 0x14($sp)
/* 13230 80037E30 AFB40010 */ sw $s4, 0x10($sp)
/* 13234 80037E34 AFB3000C */ sw $s3, 0xc($sp)
/* 13238 80037E38 AFB20008 */ sw $s2, 8($sp)
/* 1323C 80037E3C AFB10004 */ sw $s1, 4($sp)
/* 13240 80037E40 AFB00000 */ sw $s0, ($sp)
/* 13244 80037E44 8CE50000 */ lw $a1, ($a3)
/* 13248 80037E48 3C01437F */ lui $at, 0x437f
/* 1324C 80037E4C 44810000 */ mtc1 $at, $f0
/* 13250 80037E50 00A0182D */ daddu $v1, $a1, $zero
/* 13254 80037E54 24A50008 */ addiu $a1, $a1, 8
/* 13258 80037E58 ACE50000 */ sw $a1, ($a3)
/* 1325C 80037E5C AC620000 */ sw $v0, ($v1)
/* 13260 80037E60 3C028007 */ lui $v0, 0x8007
/* 13264 80037E64 24427A50 */ addiu $v0, $v0, 0x7a50
/* 13268 80037E68 46006302 */ mul.s $f12, $f12, $f0
/* 1326C 80037E6C 00000000 */ nop
/* 13270 80037E70 AC620004 */ sw $v0, 4($v1)
/* 13274 80037E74 24A20008 */ addiu $v0, $a1, 8
/* 13278 80037E78 ACE20000 */ sw $v0, ($a3)
/* 1327C 80037E7C 3C02E700 */ lui $v0, 0xe700
/* 13280 80037E80 460C0001 */ sub.s $f0, $f0, $f12
/* 13284 80037E84 ACA20000 */ sw $v0, ($a1)
/* 13288 80037E88 4600008D */ trunc.w.s $f2, $f0
/* 1328C 80037E8C 44061000 */ mfc1 $a2, $f2
/* 13290 80037E90 00000000 */ nop
/* 13294 80037E94 28C200FF */ slti $v0, $a2, 0xff
/* 13298 80037E98 10400011 */ beqz $v0, .L80037EE0
/* 1329C 80037E9C ACA00004 */ sw $zero, 4($a1)
/* 132A0 80037EA0 04C20001 */ bltzl $a2, .L80037EA8
/* 132A4 80037EA4 0000302D */ daddu $a2, $zero, $zero
.L80037EA8:
/* 132A8 80037EA8 3C04FCFF */ lui $a0, 0xfcff
/* 132AC 80037EAC 348497FF */ ori $a0, $a0, 0x97ff
/* 132B0 80037EB0 3C03FF2C */ lui $v1, 0xff2c
/* 132B4 80037EB4 3463FE7F */ ori $v1, $v1, 0xfe7f
/* 132B8 80037EB8 24A20010 */ addiu $v0, $a1, 0x10
/* 132BC 80037EBC ACE20000 */ sw $v0, ($a3)
/* 132C0 80037EC0 24A20018 */ addiu $v0, $a1, 0x18
/* 132C4 80037EC4 ACA40008 */ sw $a0, 8($a1)
/* 132C8 80037EC8 ACA3000C */ sw $v1, 0xc($a1)
/* 132CC 80037ECC ACE20000 */ sw $v0, ($a3)
/* 132D0 80037ED0 3C02FA00 */ lui $v0, 0xfa00
/* 132D4 80037ED4 ACA20010 */ sw $v0, 0x10($a1)
/* 132D8 80037ED8 30C200FF */ andi $v0, $a2, 0xff
/* 132DC 80037EDC ACA20014 */ sw $v0, 0x14($a1)
.L80037EE0:
/* 132E0 80037EE0 0000602D */ daddu $t4, $zero, $zero
/* 132E4 80037EE4 3C08800A */ lui $t0, 0x800a
/* 132E8 80037EE8 2508A66C */ addiu $t0, $t0, -0x5994
/* 132EC 80037EEC 3C10FD68 */ lui $s0, 0xfd68
/* 132F0 80037EF0 3610008F */ ori $s0, $s0, 0x8f
/* 132F4 80037EF4 3C16800A */ lui $s6, 0x800a
/* 132F8 80037EF8 26D6097C */ addiu $s6, $s6, 0x97c
/* 132FC 80037EFC 3C0DF568 */ lui $t5, 0xf568
/* 13300 80037F00 35AD2400 */ ori $t5, $t5, 0x2400
/* 13304 80037F04 3C150700 */ lui $s5, 0x700
/* 13308 80037F08 3C14E600 */ lui $s4, 0xe600
/* 1330C 80037F0C 3C13F400 */ lui $s3, 0xf400
/* 13310 80037F10 3C190723 */ lui $t9, 0x723
/* 13314 80037F14 3739C03C */ ori $t9, $t9, 0xc03c
/* 13318 80037F18 3C12E700 */ lui $s2, 0xe700
/* 1331C 80037F1C 3C11F200 */ lui $s1, 0xf200
/* 13320 80037F20 3C180023 */ lui $t8, 0x23
/* 13324 80037F24 3718C03C */ ori $t8, $t8, 0xc03c
/* 13328 80037F28 3C0FE43A */ lui $t7, 0xe43a
/* 1332C 80037F2C 35EF4000 */ ori $t7, $t7, 0x4000
/* 13330 80037F30 3C0E0016 */ lui $t6, 0x16
/* 13334 80037F34 35CE4000 */ ori $t6, $t6, 0x4000
/* 13338 80037F38 240B02FC */ addiu $t3, $zero, 0x2fc
/* 1333C 80037F3C 240A033C */ addiu $t2, $zero, 0x33c
/* 13340 80037F40 0180482D */ daddu $t1, $t4, $zero
.L80037F44:
/* 13344 80037F44 3C070400 */ lui $a3, 0x400
/* 13348 80037F48 34E70400 */ ori $a3, $a3, 0x400
/* 1334C 80037F4C 31660FFF */ andi $a2, $t3, 0xfff
/* 13350 80037F50 256B0040 */ addiu $t3, $t3, 0x40
/* 13354 80037F54 31450FFF */ andi $a1, $t2, 0xfff
/* 13358 80037F58 254A0040 */ addiu $t2, $t2, 0x40
/* 1335C 80037F5C 258C0001 */ addiu $t4, $t4, 1
/* 13360 80037F60 00AF2825 */ or $a1, $a1, $t7
/* 13364 80037F64 00CE3025 */ or $a2, $a2, $t6
/* 13368 80037F68 8D030000 */ lw $v1, ($t0)
/* 1336C 80037F6C 8EC20000 */ lw $v0, ($s6)
/* 13370 80037F70 0060202D */ daddu $a0, $v1, $zero
/* 13374 80037F74 24630008 */ addiu $v1, $v1, 8
/* 13378 80037F78 00491021 */ addu $v0, $v0, $t1
/* 1337C 80037F7C 25290900 */ addiu $t1, $t1, 0x900
/* 13380 80037F80 AD030000 */ sw $v1, ($t0)
/* 13384 80037F84 AC820004 */ sw $v0, 4($a0)
/* 13388 80037F88 24620008 */ addiu $v0, $v1, 8
/* 1338C 80037F8C AC900000 */ sw $s0, ($a0)
/* 13390 80037F90 AD020000 */ sw $v0, ($t0)
/* 13394 80037F94 24620010 */ addiu $v0, $v1, 0x10
/* 13398 80037F98 AC6D0000 */ sw $t5, ($v1)
/* 1339C 80037F9C AC750004 */ sw $s5, 4($v1)
/* 133A0 80037FA0 AD020000 */ sw $v0, ($t0)
/* 133A4 80037FA4 24620018 */ addiu $v0, $v1, 0x18
/* 133A8 80037FA8 AC740008 */ sw $s4, 8($v1)
/* 133AC 80037FAC AC60000C */ sw $zero, 0xc($v1)
/* 133B0 80037FB0 AD020000 */ sw $v0, ($t0)
/* 133B4 80037FB4 24620020 */ addiu $v0, $v1, 0x20
/* 133B8 80037FB8 AC730010 */ sw $s3, 0x10($v1)
/* 133BC 80037FBC AC790014 */ sw $t9, 0x14($v1)
/* 133C0 80037FC0 AD020000 */ sw $v0, ($t0)
/* 133C4 80037FC4 24620028 */ addiu $v0, $v1, 0x28
/* 133C8 80037FC8 AC720018 */ sw $s2, 0x18($v1)
/* 133CC 80037FCC AC60001C */ sw $zero, 0x1c($v1)
/* 133D0 80037FD0 AD020000 */ sw $v0, ($t0)
/* 133D4 80037FD4 24620030 */ addiu $v0, $v1, 0x30
/* 133D8 80037FD8 AC6D0020 */ sw $t5, 0x20($v1)
/* 133DC 80037FDC AC600024 */ sw $zero, 0x24($v1)
/* 133E0 80037FE0 AD020000 */ sw $v0, ($t0)
/* 133E4 80037FE4 24620038 */ addiu $v0, $v1, 0x38
/* 133E8 80037FE8 AC710028 */ sw $s1, 0x28($v1)
/* 133EC 80037FEC AC78002C */ sw $t8, 0x2c($v1)
/* 133F0 80037FF0 AD020000 */ sw $v0, ($t0)
/* 133F4 80037FF4 24620040 */ addiu $v0, $v1, 0x40
/* 133F8 80037FF8 AC650030 */ sw $a1, 0x30($v1)
/* 133FC 80037FFC AC660034 */ sw $a2, 0x34($v1)
/* 13400 80038000 AD020000 */ sw $v0, ($t0)
/* 13404 80038004 3C02E100 */ lui $v0, 0xe100
/* 13408 80038008 AC620038 */ sw $v0, 0x38($v1)
/* 1340C 8003800C 24620048 */ addiu $v0, $v1, 0x48
/* 13410 80038010 AC60003C */ sw $zero, 0x3c($v1)
/* 13414 80038014 AD020000 */ sw $v0, ($t0)
/* 13418 80038018 3C02F100 */ lui $v0, 0xf100
/* 1341C 8003801C AC620040 */ sw $v0, 0x40($v1)
/* 13420 80038020 29820002 */ slti $v0, $t4, 2
/* 13424 80038024 1440FFC7 */ bnez $v0, .L80037F44
/* 13428 80038028 AC670044 */ sw $a3, 0x44($v1)
/* 1342C 8003802C 3C03800A */ lui $v1, 0x800a
/* 13430 80038030 2463A66C */ addiu $v1, $v1, -0x5994
/* 13434 80038034 8C620000 */ lw $v0, ($v1)
/* 13438 80038038 0040202D */ daddu $a0, $v0, $zero
/* 1343C 8003803C 24420008 */ addiu $v0, $v0, 8
/* 13440 80038040 AC620000 */ sw $v0, ($v1)
/* 13444 80038044 3C02E700 */ lui $v0, 0xe700
/* 13448 80038048 AC820000 */ sw $v0, ($a0)
/* 1344C 8003804C AC800004 */ sw $zero, 4($a0)
/* 13450 80038050 8FB7001C */ lw $s7, 0x1c($sp)
/* 13454 80038054 8FB60018 */ lw $s6, 0x18($sp)
/* 13458 80038058 8FB50014 */ lw $s5, 0x14($sp)
/* 1345C 8003805C 8FB40010 */ lw $s4, 0x10($sp)
/* 13460 80038060 8FB3000C */ lw $s3, 0xc($sp)
/* 13464 80038064 8FB20008 */ lw $s2, 8($sp)
/* 13468 80038068 8FB10004 */ lw $s1, 4($sp)
/* 1346C 8003806C 8FB00000 */ lw $s0, ($sp)
/* 13470 80038070 03E00008 */ jr $ra
/* 13474 80038074 27BD0020 */ addiu $sp, $sp, 0x20
/* 13478 80038078 00000000 */ nop
/* 1347C 8003807C 00000000 */ nop