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

76 lines
3.6 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8003C7A8
/* 17BA8 8003C7A8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 17BAC 8003C7AC AFB00020 */ sw $s0, 0x20($sp)
/* 17BB0 8003C7B0 0080802D */ daddu $s0, $a0, $zero
/* 17BB4 8003C7B4 AFB10024 */ sw $s1, 0x24($sp)
/* 17BB8 8003C7B8 00A0882D */ daddu $s1, $a1, $zero
/* 17BBC 8003C7BC 02112021 */ addu $a0, $s0, $s1
/* 17BC0 8003C7C0 AFBF0028 */ sw $ra, 0x28($sp)
/* 17BC4 8003C7C4 80830330 */ lb $v1, 0x330($a0)
/* 17BC8 8003C7C8 10600005 */ beqz $v1, .L8003C7E0
/* 17BCC 8003C7CC 24020001 */ addiu $v0, $zero, 1
/* 17BD0 8003C7D0 10620029 */ beq $v1, $v0, .L8003C878
/* 17BD4 8003C7D4 00111040 */ sll $v0, $s1, 1
/* 17BD8 8003C7D8 0800F226 */ j .L8003C898
/* 17BDC 8003C7DC 00000000 */ nop
.L8003C7E0:
/* 17BE0 8003C7E0 8602008A */ lh $v0, 0x8a($s0)
/* 17BE4 8003C7E4 2842005B */ slti $v0, $v0, 0x5b
/* 17BE8 8003C7E8 14400009 */ bnez $v0, .L8003C810
/* 17BEC 8003C7EC 24020014 */ addiu $v0, $zero, 0x14
/* 17BF0 8003C7F0 860300A8 */ lh $v1, 0xa8($s0)
/* 17BF4 8003C7F4 C606003C */ lwc1 $f6, 0x3c($s0)
/* 17BF8 8003C7F8 3C0140A0 */ lui $at, 0x40a0
/* 17BFC 8003C7FC 44811000 */ mtc1 $at, $f2
/* 17C00 8003C800 3C014234 */ lui $at, 0x4234
/* 17C04 8003C804 44812000 */ mtc1 $at, $f4
/* 17C08 8003C808 0800F20B */ j .L8003C82C
/* 17C0C 8003C80C AFA20018 */ sw $v0, 0x18($sp)
.L8003C810:
/* 17C10 8003C810 860300A8 */ lh $v1, 0xa8($s0)
/* 17C14 8003C814 C606003C */ lwc1 $f6, 0x3c($s0)
/* 17C18 8003C818 3C0140A0 */ lui $at, 0x40a0
/* 17C1C 8003C81C 44811000 */ mtc1 $at, $f2
/* 17C20 8003C820 3C01C234 */ lui $at, 0xc234
/* 17C24 8003C824 44812000 */ mtc1 $at, $f4
/* 17C28 8003C828 AFA20018 */ sw $v0, 0x18($sp)
.L8003C82C:
/* 17C2C 8003C82C 44830000 */ mtc1 $v1, $f0
/* 17C30 8003C830 00000000 */ nop
/* 17C34 8003C834 46800020 */ cvt.s.w $f0, $f0
/* 17C38 8003C838 46003180 */ add.s $f6, $f6, $f0
/* 17C3C 8003C83C E7A20010 */ swc1 $f2, 0x10($sp)
/* 17C40 8003C840 E7A40014 */ swc1 $f4, 0x14($sp)
/* 17C44 8003C844 8E050038 */ lw $a1, 0x38($s0)
/* 17C48 8003C848 8E070040 */ lw $a3, 0x40($s0)
/* 17C4C 8003C84C 44063000 */ mfc1 $a2, $f6
/* 17C50 8003C850 0C01C1E4 */ jal fx_sweat
/* 17C54 8003C854 0000202D */ daddu $a0, $zero, $zero
/* 17C58 8003C858 00111040 */ sll $v0, $s1, 1
/* 17C5C 8003C85C 02021021 */ addu $v0, $s0, $v0
/* 17C60 8003C860 2403000A */ addiu $v1, $zero, 0xa
/* 17C64 8003C864 A4430332 */ sh $v1, 0x332($v0)
/* 17C68 8003C868 02111821 */ addu $v1, $s0, $s1
/* 17C6C 8003C86C 24020001 */ addiu $v0, $zero, 1
/* 17C70 8003C870 0800F226 */ j .L8003C898
/* 17C74 8003C874 A0620330 */ sb $v0, 0x330($v1)
.L8003C878:
/* 17C78 8003C878 02021821 */ addu $v1, $s0, $v0
/* 17C7C 8003C87C 84620332 */ lh $v0, 0x332($v1)
/* 17C80 8003C880 94650332 */ lhu $a1, 0x332($v1)
/* 17C84 8003C884 10400003 */ beqz $v0, .L8003C894
/* 17C88 8003C888 24A2FFFF */ addiu $v0, $a1, -1
/* 17C8C 8003C88C 0800F226 */ j .L8003C898
/* 17C90 8003C890 A4620332 */ sh $v0, 0x332($v1)
.L8003C894:
/* 17C94 8003C894 A0800330 */ sb $zero, 0x330($a0)
.L8003C898:
/* 17C98 8003C898 8FBF0028 */ lw $ra, 0x28($sp)
/* 17C9C 8003C89C 8FB10024 */ lw $s1, 0x24($sp)
/* 17CA0 8003C8A0 8FB00020 */ lw $s0, 0x20($sp)
/* 17CA4 8003C8A4 03E00008 */ jr $ra
/* 17CA8 8003C8A8 27BD0030 */ addiu $sp, $sp, 0x30