.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