papermario/ver/jp/asm/nonmatchings/10080/func_800357C0.s

131 lines
6.6 KiB
ArmAsm
Raw Normal View History

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800357C0
/* 10BC0 800357C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 10BC4 800357C4 AFBF0014 */ sw $ra, 0x14($sp)
/* 10BC8 800357C8 0C0910E5 */ jal func_80244394
/* 10BCC 800357CC AFB00010 */ sw $s0, 0x10($sp)
/* 10BD0 800357D0 3C03800A */ lui $v1, %hi(D_8009E741)
/* 10BD4 800357D4 8063E741 */ lb $v1, %lo(D_8009E741)($v1)
/* 10BD8 800357D8 0040802D */ daddu $s0, $v0, $zero
/* 10BDC 800357DC 2C620007 */ sltiu $v0, $v1, 7
/* 10BE0 800357E0 10400069 */ beqz $v0, .L80035988
/* 10BE4 800357E4 00031080 */ sll $v0, $v1, 2
/* 10BE8 800357E8 3C01800A */ lui $at, %hi(D_800982E0)
/* 10BEC 800357EC 00220821 */ addu $at, $at, $v0
/* 10BF0 800357F0 8C2282E0 */ lw $v0, %lo(D_800982E0)($at)
/* 10BF4 800357F4 00400008 */ jr $v0
/* 10BF8 800357F8 00000000 */ nop
/* 10BFC 800357FC 0000282D */ daddu $a1, $zero, $zero
/* 10C00 80035800 2404002C */ addiu $a0, $zero, 0x2c
/* 10C04 80035804 0080382D */ daddu $a3, $a0, $zero
/* 10C08 80035808 2406FFFF */ addiu $a2, $zero, -1
/* 10C0C 8003580C 3C038016 */ lui $v1, %hi(D_8015F250)
/* 10C10 80035810 2463F250 */ addiu $v1, $v1, %lo(D_8015F250)
.L80035814:
/* 10C14 80035814 80620003 */ lb $v0, 3($v1)
/* 10C18 80035818 10470003 */ beq $v0, $a3, .L80035828
/* 10C1C 8003581C 00000000 */ nop
/* 10C20 80035820 54460005 */ bnel $v0, $a2, .L80035838
/* 10C24 80035824 24840001 */ addiu $a0, $a0, 1
.L80035828:
/* 10C28 80035828 90620000 */ lbu $v0, ($v1)
/* 10C2C 8003582C 30420008 */ andi $v0, $v0, 8
/* 10C30 80035830 00A22821 */ addu $a1, $a1, $v0
/* 10C34 80035834 24840001 */ addiu $a0, $a0, 1
.L80035838:
/* 10C38 80035838 28820040 */ slti $v0, $a0, 0x40
/* 10C3C 8003583C 1440FFF5 */ bnez $v0, .L80035814
/* 10C40 80035840 24630020 */ addiu $v1, $v1, 0x20
/* 10C44 80035844 14A00050 */ bnez $a1, .L80035988
/* 10C48 80035848 24020001 */ addiu $v0, $zero, 1
/* 10C4C 8003584C 3C01800A */ lui $at, %hi(D_8009E741)
/* 10C50 80035850 A022E741 */ sb $v0, %lo(D_8009E741)($at)
/* 10C54 80035854 0800D662 */ j .L80035988
/* 10C58 80035858 00000000 */ nop
/* 10C5C 8003585C 12000008 */ beqz $s0, .L80035880
/* 10C60 80035860 24020002 */ addiu $v0, $zero, 2
/* 10C64 80035864 3C04800A */ lui $a0, %hi(D_8009E742)
/* 10C68 80035868 2484E742 */ addiu $a0, $a0, %lo(D_8009E742)
/* 10C6C 8003586C 0C04F4D7 */ jal func_8013D35C
/* 10C70 80035870 00000000 */ nop
/* 10C74 80035874 00021400 */ sll $v0, $v0, 0x10
/* 10C78 80035878 10400043 */ beqz $v0, .L80035988
/* 10C7C 8003587C 24020002 */ addiu $v0, $zero, 2
.L80035880:
/* 10C80 80035880 3C01800A */ lui $at, %hi(D_8009E741)
/* 10C84 80035884 A022E741 */ sb $v0, %lo(D_8009E741)($at)
/* 10C88 80035888 0800D662 */ j .L80035988
/* 10C8C 8003588C 00000000 */ nop
/* 10C90 80035890 0C0910B4 */ jal func_802442D0
/* 10C94 80035894 00000000 */ nop
/* 10C98 80035898 0C0533DD */ jal func_8014CF74
/* 10C9C 8003589C 0000202D */ daddu $a0, $zero, $zero
/* 10CA0 800358A0 24020003 */ addiu $v0, $zero, 3
/* 10CA4 800358A4 3C01800A */ lui $at, %hi(D_8009E741)
/* 10CA8 800358A8 A022E741 */ sb $v0, %lo(D_8009E741)($at)
/* 10CAC 800358AC 0C009C15 */ jal func_80027054
/* 10CB0 800358B0 0000202D */ daddu $a0, $zero, $zero
/* 10CB4 800358B4 1600000B */ bnez $s0, .L800358E4
/* 10CB8 800358B8 2402000A */ addiu $v0, $zero, 0xa
/* 10CBC 800358BC 0C00CC60 */ jal func_80033180
/* 10CC0 800358C0 24040002 */ addiu $a0, $zero, 2
/* 10CC4 800358C4 3C04FFFE */ lui $a0, 0xfffe
/* 10CC8 800358C8 3C03800A */ lui $v1, %hi(D_8009A630)
/* 10CCC 800358CC 2463A630 */ addiu $v1, $v1, %lo(D_8009A630)
/* 10CD0 800358D0 8C620000 */ lw $v0, ($v1)
/* 10CD4 800358D4 3484FFFF */ ori $a0, $a0, 0xffff
/* 10CD8 800358D8 00441024 */ and $v0, $v0, $a0
/* 10CDC 800358DC 0800D662 */ j .L80035988
/* 10CE0 800358E0 AC620000 */ sw $v0, ($v1)
.L800358E4:
/* 10CE4 800358E4 3C01800A */ lui $at, %hi(D_8009E740)
/* 10CE8 800358E8 A022E740 */ sb $v0, %lo(D_8009E740)($at)
/* 10CEC 800358EC 24020004 */ addiu $v0, $zero, 4
/* 10CF0 800358F0 3C01800A */ lui $at, %hi(D_8009E741)
/* 10CF4 800358F4 A022E741 */ sb $v0, %lo(D_8009E741)($at)
/* 10CF8 800358F8 0800D662 */ j .L80035988
/* 10CFC 800358FC 00000000 */ nop
/* 10D00 80035900 3C10800A */ lui $s0, %hi(D_8009E740)
/* 10D04 80035904 2610E740 */ addiu $s0, $s0, %lo(D_8009E740)
/* 10D08 80035908 82020000 */ lb $v0, ($s0)
/* 10D0C 8003590C 92030000 */ lbu $v1, ($s0)
/* 10D10 80035910 18400003 */ blez $v0, .L80035920
/* 10D14 80035914 2462FFFF */ addiu $v0, $v1, -1
/* 10D18 80035918 0800D662 */ j .L80035988
/* 10D1C 8003591C A2020000 */ sb $v0, ($s0)
.L80035920:
/* 10D20 80035920 3C014000 */ lui $at, 0x4000
/* 10D24 80035924 44816000 */ mtc1 $at, $f12
/* 10D28 80035928 0C00AFA7 */ jal func_8002BE9C
/* 10D2C 8003592C 00000000 */ nop
/* 10D30 80035930 2402000A */ addiu $v0, $zero, 0xa
/* 10D34 80035934 A2020000 */ sb $v0, ($s0)
/* 10D38 80035938 24020005 */ addiu $v0, $zero, 5
/* 10D3C 8003593C 3C01800A */ lui $at, %hi(D_8009E741)
/* 10D40 80035940 A022E741 */ sb $v0, %lo(D_8009E741)($at)
/* 10D44 80035944 0800D662 */ j .L80035988
/* 10D48 80035948 00000000 */ nop
/* 10D4C 8003594C 3C04800A */ lui $a0, %hi(D_8009E740)
/* 10D50 80035950 2484E740 */ addiu $a0, $a0, %lo(D_8009E740)
/* 10D54 80035954 80820000 */ lb $v0, ($a0)
/* 10D58 80035958 90830000 */ lbu $v1, ($a0)
/* 10D5C 8003595C 18400003 */ blez $v0, .L8003596C
/* 10D60 80035960 2462FFFF */ addiu $v0, $v1, -1
/* 10D64 80035964 0800D662 */ j .L80035988
/* 10D68 80035968 A0820000 */ sb $v0, ($a0)
.L8003596C:
/* 10D6C 8003596C 24020006 */ addiu $v0, $zero, 6
/* 10D70 80035970 3C01800A */ lui $at, %hi(D_8009E741)
/* 10D74 80035974 A022E741 */ sb $v0, %lo(D_8009E741)($at)
/* 10D78 80035978 0800D662 */ j .L80035988
/* 10D7C 8003597C 00000000 */ nop
/* 10D80 80035980 0C00CC60 */ jal func_80033180
/* 10D84 80035984 24040007 */ addiu $a0, $zero, 7
.L80035988:
/* 10D88 80035988 8FBF0014 */ lw $ra, 0x14($sp)
/* 10D8C 8003598C 8FB00010 */ lw $s0, 0x10($sp)
/* 10D90 80035990 03E00008 */ jr $ra
/* 10D94 80035994 27BD0018 */ addiu $sp, $sp, 0x18