papermario/asm/nonmatchings/code_ddaf0_len_c50/func_80147414.s
2020-08-12 21:56:23 -04:00

181 lines
8.0 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.include "include/macro.inc"
glabel func_80147414
/* 0DDB14 80147414 0000302D */ daddu $a2, $zero, $zero
/* 0DDB18 80147418 3C058016 */ lui $a1, 0x8016
/* 0DDB1C 8014741C 24A59D50 */ addiu $a1, $a1, -0x62b0
/* 0DDB20 80147420 24A4001C */ addiu $a0, $a1, 0x1c
.L80147424:
/* 0DDB24 80147424 90A30000 */ lbu $v1, ($a1)
/* 0DDB28 80147428 5060000C */ beql $v1, $zero, .L8014745C
/* 0DDB2C 8014742C 24C60001 */ addiu $a2, $a2, 1
/* 0DDB30 80147430 30620020 */ andi $v0, $v1, 0x20
/* 0DDB34 80147434 14400009 */ bnez $v0, .L8014745C
/* 0DDB38 80147438 24C60001 */ addiu $a2, $a2, 1
/* 0DDB3C 8014743C 30620002 */ andi $v0, $v1, 2
/* 0DDB40 80147440 10400006 */ beqz $v0, .L8014745C
/* 0DDB44 80147444 00000000 */ nop
/* 0DDB48 80147448 306200FD */ andi $v0, $v1, 0xfd
/* 0DDB4C 8014744C A0A20000 */ sb $v0, ($a1)
/* 0DDB50 80147450 8C82FFEC */ lw $v0, -0x14($a0)
/* 0DDB54 80147454 A0800000 */ sb $zero, ($a0)
/* 0DDB58 80147458 AC82FFE8 */ sw $v0, -0x18($a0)
.L8014745C:
/* 0DDB5C 8014745C 24840020 */ addiu $a0, $a0, 0x20
/* 0DDB60 80147460 28C20040 */ slti $v0, $a2, 0x40
/* 0DDB64 80147464 1440FFEF */ bnez $v0, .L80147424
/* 0DDB68 80147468 24A50020 */ addiu $a1, $a1, 0x20
/* 0DDB6C 8014746C 03E00008 */ jr $ra
/* 0DDB70 80147470 00000000 */ nop
/* 0DDB74 80147474 3C028016 */ lui $v0, 0x8016
/* 0DDB78 80147478 24429D50 */ addiu $v0, $v0, -0x62b0
/* 0DDB7C 8014747C 00042140 */ sll $a0, $a0, 5
/* 0DDB80 80147480 00822021 */ addu $a0, $a0, $v0
/* 0DDB84 80147484 8FA70014 */ lw $a3, 0x14($sp)
/* 0DDB88 80147488 8FA80018 */ lw $t0, 0x18($sp)
/* 0DDB8C 8014748C 9086001C */ lbu $a2, 0x1c($a0)
/* 0DDB90 80147490 8FA90024 */ lw $t1, 0x24($sp)
/* 0DDB94 80147494 14C00005 */ bnez $a2, .L801474AC
/* 0DDB98 80147498 28C20005 */ slti $v0, $a2, 5
/* 0DDB9C 8014749C 90820000 */ lbu $v0, ($a0)
/* 0DDBA0 801474A0 304200FB */ andi $v0, $v0, 0xfb
/* 0DDBA4 801474A4 A0820000 */ sb $v0, ($a0)
/* 0DDBA8 801474A8 28C20005 */ slti $v0, $a2, 5
.L801474AC:
/* 0DDBAC 801474AC 10400025 */ beqz $v0, .L80147544
/* 0DDBB0 801474B0 00000000 */ nop
/* 0DDBB4 801474B4 3C038015 */ lui $v1, 0x8015
/* 0DDBB8 801474B8 2463F298 */ addiu $v1, $v1, -0xd68
/* 0DDBBC 801474BC 3C028015 */ lui $v0, 0x8015
/* 0DDBC0 801474C0 00461021 */ addu $v0, $v0, $a2
/* 0DDBC4 801474C4 9042F2A0 */ lbu $v0, -0xd60($v0)
/* 0DDBC8 801474C8 00C31821 */ addu $v1, $a2, $v1
/* 0DDBCC 801474CC ACA20000 */ sw $v0, ($a1)
/* 0DDBD0 801474D0 90620000 */ lbu $v0, ($v1)
/* 0DDBD4 801474D4 3C018015 */ lui $at, 0x8015
/* 0DDBD8 801474D8 D4221240 */ ldc1 $f2, 0x1240($at)
/* 0DDBDC 801474DC 44820000 */ mtc1 $v0, $f0
/* 0DDBE0 801474E0 00000000 */ nop
/* 0DDBE4 801474E4 46800020 */ cvt.s.w $f0, $f0
/* 0DDBE8 801474E8 46000021 */ cvt.d.s $f0, $f0
/* 0DDBEC 801474EC 46220002 */ mul.d $f0, $f0, $f2
/* 0DDBF0 801474F0 00000000 */ nop
/* 0DDBF4 801474F4 46200020 */ cvt.s.d $f0, $f0
/* 0DDBF8 801474F8 E4E00000 */ swc1 $f0, ($a3)
/* 0DDBFC 801474FC 90620000 */ lbu $v0, ($v1)
/* 0DDC00 80147500 44820000 */ mtc1 $v0, $f0
/* 0DDC04 80147504 00000000 */ nop
/* 0DDC08 80147508 46800020 */ cvt.s.w $f0, $f0
/* 0DDC0C 8014750C 46000021 */ cvt.d.s $f0, $f0
/* 0DDC10 80147510 46220002 */ mul.d $f0, $f0, $f2
/* 0DDC14 80147514 00000000 */ nop
/* 0DDC18 80147518 24030004 */ addiu $v1, $zero, 4
/* 0DDC1C 8014751C 00661823 */ subu $v1, $v1, $a2
/* 0DDC20 80147520 00031040 */ sll $v0, $v1, 1
/* 0DDC24 80147524 00431021 */ addu $v0, $v0, $v1
/* 0DDC28 80147528 46200020 */ cvt.s.d $f0, $f0
/* 0DDC2C 8014752C E5000000 */ swc1 $f0, ($t0)
/* 0DDC30 80147530 44820000 */ mtc1 $v0, $f0
/* 0DDC34 80147534 00000000 */ nop
/* 0DDC38 80147538 46800020 */ cvt.s.w $f0, $f0
/* 0DDC3C 8014753C 03E00008 */ jr $ra
/* 0DDC40 80147540 E5200000 */ swc1 $f0, ($t1)
.L80147544:
/* 0DDC44 80147544 3C028015 */ lui $v0, 0x8015
/* 0DDC48 80147548 9042F2A4 */ lbu $v0, -0xd5c($v0)
/* 0DDC4C 8014754C 3C013F80 */ lui $at, 0x3f80
/* 0DDC50 80147550 44810000 */ mtc1 $at, $f0
/* 0DDC54 80147554 ACA20000 */ sw $v0, ($a1)
/* 0DDC58 80147558 E4E00000 */ swc1 $f0, ($a3)
/* 0DDC5C 8014755C E5000000 */ swc1 $f0, ($t0)
/* 0DDC60 80147560 AD200000 */ sw $zero, ($t1)
/* 0DDC64 80147564 90820000 */ lbu $v0, ($a0)
/* 0DDC68 80147568 304200F7 */ andi $v0, $v0, 0xf7
/* 0DDC6C 8014756C 03E00008 */ jr $ra
/* 0DDC70 80147570 A0820000 */ sb $v0, ($a0)
/* 0DDC74 80147574 3C028016 */ lui $v0, 0x8016
/* 0DDC78 80147578 24429D50 */ addiu $v0, $v0, -0x62b0
/* 0DDC7C 8014757C 00042140 */ sll $a0, $a0, 5
/* 0DDC80 80147580 00822021 */ addu $a0, $a0, $v0
/* 0DDC84 80147584 9086001C */ lbu $a2, 0x1c($a0)
/* 0DDC88 80147588 8FA70014 */ lw $a3, 0x14($sp)
/* 0DDC8C 8014758C 8FA80018 */ lw $t0, 0x18($sp)
/* 0DDC90 80147590 8FA90024 */ lw $t1, 0x24($sp)
/* 0DDC94 80147594 28C2000A */ slti $v0, $a2, 0xa
/* 0DDC98 80147598 10400022 */ beqz $v0, .L80147624
/* 0DDC9C 8014759C 00000000 */ nop
/* 0DDCA0 801475A0 3C038015 */ lui $v1, 0x8015
/* 0DDCA4 801475A4 2463F2A8 */ addiu $v1, $v1, -0xd58
/* 0DDCA8 801475A8 3C028015 */ lui $v0, 0x8015
/* 0DDCAC 801475AC 00461021 */ addu $v0, $v0, $a2
/* 0DDCB0 801475B0 9042F2B4 */ lbu $v0, -0xd4c($v0)
/* 0DDCB4 801475B4 00C31821 */ addu $v1, $a2, $v1
/* 0DDCB8 801475B8 ACA20000 */ sw $v0, ($a1)
/* 0DDCBC 801475BC 90620000 */ lbu $v0, ($v1)
/* 0DDCC0 801475C0 3C018015 */ lui $at, 0x8015
/* 0DDCC4 801475C4 D4221248 */ ldc1 $f2, 0x1248($at)
/* 0DDCC8 801475C8 44820000 */ mtc1 $v0, $f0
/* 0DDCCC 801475CC 00000000 */ nop
/* 0DDCD0 801475D0 46800020 */ cvt.s.w $f0, $f0
/* 0DDCD4 801475D4 46000021 */ cvt.d.s $f0, $f0
/* 0DDCD8 801475D8 46220002 */ mul.d $f0, $f0, $f2
/* 0DDCDC 801475DC 00000000 */ nop
/* 0DDCE0 801475E0 46200020 */ cvt.s.d $f0, $f0
/* 0DDCE4 801475E4 E4E00000 */ swc1 $f0, ($a3)
/* 0DDCE8 801475E8 90620000 */ lbu $v0, ($v1)
/* 0DDCEC 801475EC 44820000 */ mtc1 $v0, $f0
/* 0DDCF0 801475F0 00000000 */ nop
/* 0DDCF4 801475F4 46800020 */ cvt.s.w $f0, $f0
/* 0DDCF8 801475F8 46000021 */ cvt.d.s $f0, $f0
/* 0DDCFC 801475FC 46220002 */ mul.d $f0, $f0, $f2
/* 0DDD00 80147600 00000000 */ nop
/* 0DDD04 80147604 00061023 */ negu $v0, $a2
/* 0DDD08 80147608 46200020 */ cvt.s.d $f0, $f0
/* 0DDD0C 8014760C E5000000 */ swc1 $f0, ($t0)
/* 0DDD10 80147610 44820000 */ mtc1 $v0, $f0
/* 0DDD14 80147614 00000000 */ nop
/* 0DDD18 80147618 46800020 */ cvt.s.w $f0, $f0
/* 0DDD1C 8014761C 03E00008 */ jr $ra
/* 0DDD20 80147620 E5200000 */ swc1 $f0, ($t1)
.L80147624:
/* 0DDD24 80147624 3C028015 */ lui $v0, 0x8015
/* 0DDD28 80147628 9042F2BD */ lbu $v0, -0xd43($v0)
/* 0DDD2C 8014762C ACA20000 */ sw $v0, ($a1)
/* 0DDD30 80147630 ACE00000 */ sw $zero, ($a3)
/* 0DDD34 80147634 AD000000 */ sw $zero, ($t0)
/* 0DDD38 80147638 AD200000 */ sw $zero, ($t1)
/* 0DDD3C 8014763C 90820000 */ lbu $v0, ($a0)
/* 0DDD40 80147640 304200F7 */ andi $v0, $v0, 0xf7
/* 0DDD44 80147644 34420004 */ ori $v0, $v0, 4
/* 0DDD48 80147648 03E00008 */ jr $ra
/* 0DDD4C 8014764C A0820000 */ sb $v0, ($a0)
/* 0DDD50 80147650 3C028016 */ lui $v0, 0x8016
/* 0DDD54 80147654 24429D50 */ addiu $v0, $v0, -0x62b0
/* 0DDD58 80147658 00042140 */ sll $a0, $a0, 5
/* 0DDD5C 8014765C 00822021 */ addu $a0, $a0, $v0
/* 0DDD60 80147660 9083001C */ lbu $v1, 0x1c($a0)
/* 0DDD64 80147664 8FA50028 */ lw $a1, 0x28($sp)
/* 0DDD68 80147668 2862000A */ slti $v0, $v1, 0xa
/* 0DDD6C 8014766C 10400005 */ beqz $v0, .L80147684
/* 0DDD70 80147670 240200A0 */ addiu $v0, $zero, 0xa0
/* 0DDD74 80147674 24620001 */ addiu $v0, $v1, 1
/* 0DDD78 80147678 00021100 */ sll $v0, $v0, 4
/* 0DDD7C 8014767C 03E00008 */ jr $ra
/* 0DDD80 80147680 ACA20000 */ sw $v0, ($a1)
.L80147684:
/* 0DDD84 80147684 ACA20000 */ sw $v0, ($a1)
/* 0DDD88 80147688 90820000 */ lbu $v0, ($a0)
/* 0DDD8C 8014768C 304200F3 */ andi $v0, $v0, 0xf3
/* 0DDD90 80147690 03E00008 */ jr $ra
/* 0DDD94 80147694 A0820000 */ sb $v0, ($a0)