papermario/asm/nonmatchings/code_13870_len_6980/func_8003BED8.s
2020-09-23 23:16:13 -04:00

355 lines
18 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8003BED8
/* 172D8 8003BED8 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 172DC 8003BEDC AFB40030 */ sw $s4, 0x30($sp)
/* 172E0 8003BEE0 0080A02D */ daddu $s4, $a0, $zero
/* 172E4 8003BEE4 AFB60038 */ sw $s6, 0x38($sp)
/* 172E8 8003BEE8 00A0B02D */ daddu $s6, $a1, $zero
/* 172EC 8003BEEC AFBF0040 */ sw $ra, 0x40($sp)
/* 172F0 8003BEF0 AFB7003C */ sw $s7, 0x3c($sp)
/* 172F4 8003BEF4 AFB50034 */ sw $s5, 0x34($sp)
/* 172F8 8003BEF8 AFB3002C */ sw $s3, 0x2c($sp)
/* 172FC 8003BEFC AFB20028 */ sw $s2, 0x28($sp)
/* 17300 8003BF00 AFB10024 */ sw $s1, 0x24($sp)
/* 17304 8003BF04 AFB00020 */ sw $s0, 0x20($sp)
/* 17308 8003BF08 828200B6 */ lb $v0, 0xb6($s4)
/* 1730C 8003BF0C 10400041 */ beqz $v0, .L8003C014
/* 17310 8003BF10 00C0B82D */ daddu $s7, $a2, $zero
/* 17314 8003BF14 8E820000 */ lw $v0, ($s4)
/* 17318 8003BF18 3C034000 */ lui $v1, 0x4000
/* 1731C 8003BF1C 00431024 */ and $v0, $v0, $v1
/* 17320 8003BF20 14400004 */ bnez $v0, .L8003BF34
/* 17324 8003BF24 00000000 */ nop
/* 17328 8003BF28 0C0B7A90 */ jal func_802DEA40
/* 1732C 8003BF2C 96840028 */ lhu $a0, 0x28($s4)
/* 17330 8003BF30 AE8200C4 */ sw $v0, 0xc4($s4)
.L8003BF34:
/* 17334 8003BF34 8E8400C4 */ lw $a0, 0xc4($s4)
/* 17338 8003BF38 A28000C1 */ sb $zero, 0xc1($s4)
/* 1733C 8003BF3C 8C830000 */ lw $v1, ($a0)
/* 17340 8003BF40 2402FFFF */ addiu $v0, $zero, -1
/* 17344 8003BF44 1062000B */ beq $v1, $v0, .L8003BF74
/* 17348 8003BF48 0080182D */ daddu $v1, $a0, $zero
/* 1734C 8003BF4C 0040202D */ daddu $a0, $v0, $zero
.L8003BF50:
/* 17350 8003BF50 928200C1 */ lbu $v0, 0xc1($s4)
/* 17354 8003BF54 24420001 */ addiu $v0, $v0, 1
/* 17358 8003BF58 A28200C1 */ sb $v0, 0xc1($s4)
/* 1735C 8003BF5C 00021600 */ sll $v0, $v0, 0x18
/* 17360 8003BF60 00021583 */ sra $v0, $v0, 0x16
/* 17364 8003BF64 00431021 */ addu $v0, $v0, $v1
/* 17368 8003BF68 8C420000 */ lw $v0, ($v0)
/* 1736C 8003BF6C 1444FFF8 */ bne $v0, $a0, .L8003BF50
/* 17370 8003BF70 00000000 */ nop
.L8003BF74:
/* 17374 8003BF74 828300B6 */ lb $v1, 0xb6($s4)
/* 17378 8003BF78 24020001 */ addiu $v0, $zero, 1
/* 1737C 8003BF7C 14620004 */ bne $v1, $v0, .L8003BF90
/* 17380 8003BF80 240200FF */ addiu $v0, $zero, 0xff
/* 17384 8003BF84 A28000B7 */ sb $zero, 0xb7($s4)
/* 17388 8003BF88 0800EFE6 */ j .L8003BF98
/* 1738C 8003BF8C A68000BE */ sh $zero, 0xbe($s4)
.L8003BF90:
/* 17390 8003BF90 A28000B7 */ sb $zero, 0xb7($s4)
/* 17394 8003BF94 A68200BE */ sh $v0, 0xbe($s4)
.L8003BF98:
/* 17398 8003BF98 828200C1 */ lb $v0, 0xc1($s4)
/* 1739C 8003BF9C 18400018 */ blez $v0, .L8003C000
/* 173A0 8003BFA0 0000202D */ daddu $a0, $zero, $zero
/* 173A4 8003BFA4 0280302D */ daddu $a2, $s4, $zero
/* 173A8 8003BFA8 240500C8 */ addiu $a1, $zero, 0xc8
.L8003BFAC:
/* 173AC 8003BFAC 8E8300C4 */ lw $v1, 0xc4($s4)
/* 173B0 8003BFB0 00041080 */ sll $v0, $a0, 2
/* 173B4 8003BFB4 00431021 */ addu $v0, $v0, $v1
/* 173B8 8003BFB8 8C520000 */ lw $s2, ($v0)
/* 173BC 8003BFBC 02858021 */ addu $s0, $s4, $a1
/* 173C0 8003BFC0 12400009 */ beqz $s2, .L8003BFE8
/* 173C4 8003BFC4 ACD002C8 */ sw $s0, 0x2c8($a2)
/* 173C8 8003BFC8 0000882D */ daddu $s1, $zero, $zero
.L8003BFCC:
/* 173CC 8003BFCC 96420000 */ lhu $v0, ($s2)
/* 173D0 8003BFD0 26520002 */ addiu $s2, $s2, 2
/* 173D4 8003BFD4 26310001 */ addiu $s1, $s1, 1
/* 173D8 8003BFD8 A6020000 */ sh $v0, ($s0)
/* 173DC 8003BFDC 2A220010 */ slti $v0, $s1, 0x10
/* 173E0 8003BFE0 1440FFFA */ bnez $v0, .L8003BFCC
/* 173E4 8003BFE4 26100002 */ addiu $s0, $s0, 2
.L8003BFE8:
/* 173E8 8003BFE8 24C60004 */ addiu $a2, $a2, 4
/* 173EC 8003BFEC 828200C1 */ lb $v0, 0xc1($s4)
/* 173F0 8003BFF0 24840001 */ addiu $a0, $a0, 1
/* 173F4 8003BFF4 0082102A */ slt $v0, $a0, $v0
/* 173F8 8003BFF8 1440FFEC */ bnez $v0, .L8003BFAC
/* 173FC 8003BFFC 24A50020 */ addiu $a1, $a1, 0x20
.L8003C000:
/* 17400 8003C000 9682030C */ lhu $v0, 0x30c($s4)
/* 17404 8003C004 A68000BE */ sh $zero, 0xbe($s4)
/* 17408 8003C008 A28000B7 */ sb $zero, 0xb7($s4)
/* 1740C 8003C00C A28000B6 */ sb $zero, 0xb6($s4)
/* 17410 8003C010 A68200BC */ sh $v0, 0xbc($s4)
.L8003C014:
/* 17414 8003C014 828300B7 */ lb $v1, 0xb7($s4)
/* 17418 8003C018 10600005 */ beqz $v1, .L8003C030
/* 1741C 8003C01C 24020001 */ addiu $v0, $zero, 1
/* 17420 8003C020 1062000C */ beq $v1, $v0, .L8003C054
/* 17424 8003C024 24020002 */ addiu $v0, $zero, 2
/* 17428 8003C028 0800F06B */ j .L8003C1AC
/* 1742C 8003C02C 00000000 */ nop
.L8003C030:
/* 17430 8003C030 868200BC */ lh $v0, 0xbc($s4)
/* 17434 8003C034 968300BC */ lhu $v1, 0xbc($s4)
/* 17438 8003C038 10400003 */ beqz $v0, .L8003C048
/* 1743C 8003C03C 2462FFFF */ addiu $v0, $v1, -1
/* 17440 8003C040 0800F069 */ j .L8003C1A4
/* 17444 8003C044 A68200BC */ sh $v0, 0xbc($s4)
.L8003C048:
/* 17448 8003C048 24020001 */ addiu $v0, $zero, 1
/* 1744C 8003C04C A68000BE */ sh $zero, 0xbe($s4)
/* 17450 8003C050 A28200B7 */ sb $v0, 0xb7($s4)
.L8003C054:
/* 17454 8003C054 8682030E */ lh $v0, 0x30e($s4)
/* 17458 8003C058 24036400 */ addiu $v1, $zero, 0x6400
/* 1745C 8003C05C 14400002 */ bnez $v0, .L8003C068
/* 17460 8003C060 0062001A */ div $zero, $v1, $v0
/* 17464 8003C064 0007000D */ break 7
.L8003C068:
/* 17468 8003C068 2401FFFF */ addiu $at, $zero, -1
/* 1746C 8003C06C 14410004 */ bne $v0, $at, .L8003C080
/* 17470 8003C070 3C018000 */ lui $at, 0x8000
/* 17474 8003C074 14610002 */ bne $v1, $at, .L8003C080
/* 17478 8003C078 00000000 */ nop
/* 1747C 8003C07C 0006000D */ break 6
.L8003C080:
/* 17480 8003C080 00001812 */ mflo $v1
/* 17484 8003C084 968200BE */ lhu $v0, 0xbe($s4)
/* 17488 8003C088 00431021 */ addu $v0, $v0, $v1
/* 1748C 8003C08C A68200BE */ sh $v0, 0xbe($s4)
/* 17490 8003C090 00021400 */ sll $v0, $v0, 0x10
/* 17494 8003C094 00021403 */ sra $v0, $v0, 0x10
/* 17498 8003C098 2842639D */ slti $v0, $v0, 0x639d
/* 1749C 8003C09C 14400003 */ bnez $v0, .L8003C0AC
/* 174A0 8003C0A0 3C0651EB */ lui $a2, 0x51eb
/* 174A4 8003C0A4 2402639C */ addiu $v0, $zero, 0x639c
/* 174A8 8003C0A8 A68200BE */ sh $v0, 0xbe($s4)
.L8003C0AC:
/* 174AC 8003C0AC 34C6851F */ ori $a2, $a2, 0x851f
/* 174B0 8003C0B0 269300C8 */ addiu $s3, $s4, 0xc8
/* 174B4 8003C0B4 0000882D */ daddu $s1, $zero, $zero
/* 174B8 8003C0B8 86820308 */ lh $v0, 0x308($s4)
/* 174BC 8003C0BC 8E8500C4 */ lw $a1, 0xc4($s4)
/* 174C0 8003C0C0 968300BE */ lhu $v1, 0xbe($s4)
/* 174C4 8003C0C4 00021080 */ sll $v0, $v0, 2
/* 174C8 8003C0C8 00451021 */ addu $v0, $v0, $a1
/* 174CC 8003C0CC 00031C00 */ sll $v1, $v1, 0x10
/* 174D0 8003C0D0 00032403 */ sra $a0, $v1, 0x10
/* 174D4 8003C0D4 8C520000 */ lw $s2, ($v0)
/* 174D8 8003C0D8 8682030A */ lh $v0, 0x30a($s4)
/* 174DC 8003C0DC 00860018 */ mult $a0, $a2
/* 174E0 8003C0E0 00021080 */ sll $v0, $v0, 2
/* 174E4 8003C0E4 00451021 */ addu $v0, $v0, $a1
/* 174E8 8003C0E8 8C500000 */ lw $s0, ($v0)
/* 174EC 8003C0EC 00031FC3 */ sra $v1, $v1, 0x1f
/* 174F0 8003C0F0 AE9302C8 */ sw $s3, 0x2c8($s4)
/* 174F4 8003C0F4 00004010 */ mfhi $t0
/* 174F8 8003C0F8 00081143 */ sra $v0, $t0, 5
/* 174FC 8003C0FC 0043A823 */ subu $s5, $v0, $v1
.L8003C100:
/* 17500 8003C100 96440000 */ lhu $a0, ($s2)
/* 17504 8003C104 26520002 */ addiu $s2, $s2, 2
/* 17508 8003C108 96050000 */ lhu $a1, ($s0)
/* 1750C 8003C10C 26100002 */ addiu $s0, $s0, 2
/* 17510 8003C110 32A600FF */ andi $a2, $s5, 0xff
/* 17514 8003C114 0C00EE5B */ jal func_8003B96C
/* 17518 8003C118 26310001 */ addiu $s1, $s1, 1
/* 1751C 8003C11C A6620000 */ sh $v0, ($s3)
/* 17520 8003C120 2A220010 */ slti $v0, $s1, 0x10
/* 17524 8003C124 1440FFF6 */ bnez $v0, .L8003C100
/* 17528 8003C128 26730002 */ addiu $s3, $s3, 2
/* 1752C 8003C12C 26930128 */ addiu $s3, $s4, 0x128
/* 17530 8003C130 86820314 */ lh $v0, 0x314($s4)
/* 17534 8003C134 8E8400C4 */ lw $a0, 0xc4($s4)
/* 17538 8003C138 86830316 */ lh $v1, 0x316($s4)
/* 1753C 8003C13C 00021080 */ sll $v0, $v0, 2
/* 17540 8003C140 00441021 */ addu $v0, $v0, $a0
/* 17544 8003C144 00031880 */ sll $v1, $v1, 2
/* 17548 8003C148 00641821 */ addu $v1, $v1, $a0
/* 1754C 8003C14C 8C520000 */ lw $s2, ($v0)
/* 17550 8003C150 8C700000 */ lw $s0, ($v1)
/* 17554 8003C154 0000882D */ daddu $s1, $zero, $zero
/* 17558 8003C158 AE9302D4 */ sw $s3, 0x2d4($s4)
.L8003C15C:
/* 1755C 8003C15C 96440000 */ lhu $a0, ($s2)
/* 17560 8003C160 26520002 */ addiu $s2, $s2, 2
/* 17564 8003C164 96050000 */ lhu $a1, ($s0)
/* 17568 8003C168 26100002 */ addiu $s0, $s0, 2
/* 1756C 8003C16C 32A600FF */ andi $a2, $s5, 0xff
/* 17570 8003C170 0C00EE5B */ jal func_8003B96C
/* 17574 8003C174 26310001 */ addiu $s1, $s1, 1
/* 17578 8003C178 A6620000 */ sh $v0, ($s3)
/* 1757C 8003C17C 2A220010 */ slti $v0, $s1, 0x10
/* 17580 8003C180 1440FFF6 */ bnez $v0, .L8003C15C
/* 17584 8003C184 26730002 */ addiu $s3, $s3, 2
/* 17588 8003C188 32A300FF */ andi $v1, $s5, 0xff
/* 1758C 8003C18C 240200FF */ addiu $v0, $zero, 0xff
/* 17590 8003C190 14620004 */ bne $v1, $v0, .L8003C1A4
/* 17594 8003C194 24020002 */ addiu $v0, $zero, 2
/* 17598 8003C198 96830310 */ lhu $v1, 0x310($s4)
/* 1759C 8003C19C A28200B7 */ sb $v0, 0xb7($s4)
/* 175A0 8003C1A0 A68300BC */ sh $v1, 0xbc($s4)
.L8003C1A4:
/* 175A4 8003C1A4 828300B7 */ lb $v1, 0xb7($s4)
/* 175A8 8003C1A8 24020002 */ addiu $v0, $zero, 2
.L8003C1AC:
/* 175AC 8003C1AC 10620005 */ beq $v1, $v0, .L8003C1C4
/* 175B0 8003C1B0 24020003 */ addiu $v0, $zero, 3
/* 175B4 8003C1B4 1062000A */ beq $v1, $v0, .L8003C1E0
/* 175B8 8003C1B8 00000000 */ nop
/* 175BC 8003C1BC 0800F0CD */ j .L8003C334
/* 175C0 8003C1C0 00000000 */ nop
.L8003C1C4:
/* 175C4 8003C1C4 868200BC */ lh $v0, 0xbc($s4)
/* 175C8 8003C1C8 968300BC */ lhu $v1, 0xbc($s4)
/* 175CC 8003C1CC 14400058 */ bnez $v0, .L8003C330
/* 175D0 8003C1D0 2462FFFF */ addiu $v0, $v1, -1
/* 175D4 8003C1D4 24020003 */ addiu $v0, $zero, 3
/* 175D8 8003C1D8 A68000BE */ sh $zero, 0xbe($s4)
/* 175DC 8003C1DC A28200B7 */ sb $v0, 0xb7($s4)
.L8003C1E0:
/* 175E0 8003C1E0 86820312 */ lh $v0, 0x312($s4)
/* 175E4 8003C1E4 24036400 */ addiu $v1, $zero, 0x6400
/* 175E8 8003C1E8 14400002 */ bnez $v0, .L8003C1F4
/* 175EC 8003C1EC 0062001A */ div $zero, $v1, $v0
/* 175F0 8003C1F0 0007000D */ break 7
.L8003C1F4:
/* 175F4 8003C1F4 2401FFFF */ addiu $at, $zero, -1
/* 175F8 8003C1F8 14410004 */ bne $v0, $at, .L8003C20C
/* 175FC 8003C1FC 3C018000 */ lui $at, 0x8000
/* 17600 8003C200 14610002 */ bne $v1, $at, .L8003C20C
/* 17604 8003C204 00000000 */ nop
/* 17608 8003C208 0006000D */ break 6
.L8003C20C:
/* 1760C 8003C20C 00001812 */ mflo $v1
/* 17610 8003C210 968200BE */ lhu $v0, 0xbe($s4)
/* 17614 8003C214 00431021 */ addu $v0, $v0, $v1
/* 17618 8003C218 A68200BE */ sh $v0, 0xbe($s4)
/* 1761C 8003C21C 00021400 */ sll $v0, $v0, 0x10
/* 17620 8003C220 00021403 */ sra $v0, $v0, 0x10
/* 17624 8003C224 2842639D */ slti $v0, $v0, 0x639d
/* 17628 8003C228 14400003 */ bnez $v0, .L8003C238
/* 1762C 8003C22C 3C0651EB */ lui $a2, 0x51eb
/* 17630 8003C230 2402639C */ addiu $v0, $zero, 0x639c
/* 17634 8003C234 A68200BE */ sh $v0, 0xbe($s4)
.L8003C238:
/* 17638 8003C238 34C6851F */ ori $a2, $a2, 0x851f
/* 1763C 8003C23C 269300C8 */ addiu $s3, $s4, 0xc8
/* 17640 8003C240 0000882D */ daddu $s1, $zero, $zero
/* 17644 8003C244 8682030A */ lh $v0, 0x30a($s4)
/* 17648 8003C248 8E8500C4 */ lw $a1, 0xc4($s4)
/* 1764C 8003C24C 968300BE */ lhu $v1, 0xbe($s4)
/* 17650 8003C250 00021080 */ sll $v0, $v0, 2
/* 17654 8003C254 00451021 */ addu $v0, $v0, $a1
/* 17658 8003C258 00031C00 */ sll $v1, $v1, 0x10
/* 1765C 8003C25C 00032403 */ sra $a0, $v1, 0x10
/* 17660 8003C260 8C520000 */ lw $s2, ($v0)
/* 17664 8003C264 86820308 */ lh $v0, 0x308($s4)
/* 17668 8003C268 00860018 */ mult $a0, $a2
/* 1766C 8003C26C 00021080 */ sll $v0, $v0, 2
/* 17670 8003C270 00451021 */ addu $v0, $v0, $a1
/* 17674 8003C274 8C500000 */ lw $s0, ($v0)
/* 17678 8003C278 00031FC3 */ sra $v1, $v1, 0x1f
/* 1767C 8003C27C AE9302C8 */ sw $s3, 0x2c8($s4)
/* 17680 8003C280 00004010 */ mfhi $t0
/* 17684 8003C284 00081143 */ sra $v0, $t0, 5
/* 17688 8003C288 0043A823 */ subu $s5, $v0, $v1
.L8003C28C:
/* 1768C 8003C28C 96440000 */ lhu $a0, ($s2)
/* 17690 8003C290 26520002 */ addiu $s2, $s2, 2
/* 17694 8003C294 96050000 */ lhu $a1, ($s0)
/* 17698 8003C298 26100002 */ addiu $s0, $s0, 2
/* 1769C 8003C29C 32A600FF */ andi $a2, $s5, 0xff
/* 176A0 8003C2A0 0C00EE5B */ jal func_8003B96C
/* 176A4 8003C2A4 26310001 */ addiu $s1, $s1, 1
/* 176A8 8003C2A8 A6620000 */ sh $v0, ($s3)
/* 176AC 8003C2AC 2A220010 */ slti $v0, $s1, 0x10
/* 176B0 8003C2B0 1440FFF6 */ bnez $v0, .L8003C28C
/* 176B4 8003C2B4 26730002 */ addiu $s3, $s3, 2
/* 176B8 8003C2B8 269300E8 */ addiu $s3, $s4, 0xe8
/* 176BC 8003C2BC 0000882D */ daddu $s1, $zero, $zero
/* 176C0 8003C2C0 86830316 */ lh $v1, 0x316($s4)
/* 176C4 8003C2C4 8E8400C4 */ lw $a0, 0xc4($s4)
/* 176C8 8003C2C8 86820314 */ lh $v0, 0x314($s4)
/* 176CC 8003C2CC 00031880 */ sll $v1, $v1, 2
/* 176D0 8003C2D0 00641821 */ addu $v1, $v1, $a0
/* 176D4 8003C2D4 00021080 */ sll $v0, $v0, 2
/* 176D8 8003C2D8 00441021 */ addu $v0, $v0, $a0
/* 176DC 8003C2DC 8C720000 */ lw $s2, ($v1)
/* 176E0 8003C2E0 8C500000 */ lw $s0, ($v0)
/* 176E4 8003C2E4 26820128 */ addiu $v0, $s4, 0x128
/* 176E8 8003C2E8 AE8202D4 */ sw $v0, 0x2d4($s4)
.L8003C2EC:
/* 176EC 8003C2EC 96440000 */ lhu $a0, ($s2)
/* 176F0 8003C2F0 26520002 */ addiu $s2, $s2, 2
/* 176F4 8003C2F4 96050000 */ lhu $a1, ($s0)
/* 176F8 8003C2F8 26100002 */ addiu $s0, $s0, 2
/* 176FC 8003C2FC 32A600FF */ andi $a2, $s5, 0xff
/* 17700 8003C300 0C00EE5B */ jal func_8003B96C
/* 17704 8003C304 26310001 */ addiu $s1, $s1, 1
/* 17708 8003C308 A6620000 */ sh $v0, ($s3)
/* 1770C 8003C30C 2A220010 */ slti $v0, $s1, 0x10
/* 17710 8003C310 1440FFF6 */ bnez $v0, .L8003C2EC
/* 17714 8003C314 26730002 */ addiu $s3, $s3, 2
/* 17718 8003C318 32A300FF */ andi $v1, $s5, 0xff
/* 1771C 8003C31C 240200FF */ addiu $v0, $zero, 0xff
/* 17720 8003C320 14620004 */ bne $v1, $v0, .L8003C334
/* 17724 8003C324 00000000 */ nop
/* 17728 8003C328 9682030C */ lhu $v0, 0x30c($s4)
/* 1772C 8003C32C A28000B7 */ sb $zero, 0xb7($s4)
.L8003C330:
/* 17730 8003C330 A68200BC */ sh $v0, 0xbc($s4)
.L8003C334:
/* 17734 8003C334 828300B7 */ lb $v1, 0xb7($s4)
/* 17738 8003C338 28620004 */ slti $v0, $v1, 4
/* 1773C 8003C33C 1040001B */ beqz $v0, .L8003C3AC
/* 17740 8003C340 00000000 */ nop
/* 17744 8003C344 04600019 */ bltz $v1, .L8003C3AC
/* 17748 8003C348 3C034000 */ lui $v1, 0x4000
/* 1774C 8003C34C 8E820000 */ lw $v0, ($s4)
/* 17750 8003C350 00431024 */ and $v0, $v0, $v1
/* 17754 8003C354 14400015 */ bnez $v0, .L8003C3AC
/* 17758 8003C358 02C0282D */ daddu $a1, $s6, $zero
/* 1775C 8003C35C 928200AC */ lbu $v0, 0xac($s4)
/* 17760 8003C360 928300AD */ lbu $v1, 0xad($s4)
/* 17764 8003C364 00430018 */ mult $v0, $v1
/* 17768 8003C368 00001012 */ mflo $v0
/* 1776C 8003C36C 3C038080 */ lui $v1, 0x8080
/* 17770 8003C370 34638081 */ ori $v1, $v1, 0x8081
/* 17774 8003C374 00430018 */ mult $v0, $v1
/* 17778 8003C378 8E830024 */ lw $v1, 0x24($s4)
/* 1777C 8003C37C 268702C8 */ addiu $a3, $s4, 0x2c8
/* 17780 8003C380 AFB70010 */ sw $s7, 0x10($sp)
/* 17784 8003C384 00004810 */ mfhi $t1
/* 17788 8003C388 01221021 */ addu $v0, $t1, $v0
/* 1778C 8003C38C 0002A9C2 */ srl $s5, $v0, 7
/* 17790 8003C390 32A600FF */ andi $a2, $s5, 0xff
/* 17794 8003C394 2CC400FF */ sltiu $a0, $a2, 0xff
/* 17798 8003C398 000427C0 */ sll $a0, $a0, 0x1f
/* 1779C 8003C39C 3C022000 */ lui $v0, 0x2000
/* 177A0 8003C3A0 00822025 */ or $a0, $a0, $v0
/* 177A4 8003C3A4 0C0B78F6 */ jal func_802DE3D8
/* 177A8 8003C3A8 00642025 */ or $a0, $v1, $a0
.L8003C3AC:
/* 177AC 8003C3AC 8FBF0040 */ lw $ra, 0x40($sp)
/* 177B0 8003C3B0 8FB7003C */ lw $s7, 0x3c($sp)
/* 177B4 8003C3B4 8FB60038 */ lw $s6, 0x38($sp)
/* 177B8 8003C3B8 8FB50034 */ lw $s5, 0x34($sp)
/* 177BC 8003C3BC 8FB40030 */ lw $s4, 0x30($sp)
/* 177C0 8003C3C0 8FB3002C */ lw $s3, 0x2c($sp)
/* 177C4 8003C3C4 8FB20028 */ lw $s2, 0x28($sp)
/* 177C8 8003C3C8 8FB10024 */ lw $s1, 0x24($sp)
/* 177CC 8003C3CC 8FB00020 */ lw $s0, 0x20($sp)
/* 177D0 8003C3D0 03E00008 */ jr $ra
/* 177D4 8003C3D4 27BD0048 */ addiu $sp, $sp, 0x48