oot/asm/non_matchings/code/code_800EC960/func_800EDA3C.s

224 lines
12 KiB
ArmAsm

glabel func_800EDA3C
/* B64BDC 800EDA3C 3C088013 */ lui $t0, %hi(D_80130F38) # $t0, 0x8013
/* B64BE0 800EDA40 25080F38 */ addiu $t0, %lo(D_80130F38) # addiu $t0, $t0, 0xf38
/* B64BE4 800EDA44 91070000 */ lbu $a3, ($t0)
/* B64BE8 800EDA48 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B64BEC 800EDA4C AFBF001C */ sw $ra, 0x1c($sp)
/* B64BF0 800EDA50 10E000C1 */ beqz $a3, .L800EDD58
/* B64BF4 800EDA54 3C098013 */ lui $t1, %hi(D_80130F48) # $t1, 0x8013
/* B64BF8 800EDA58 25290F48 */ addiu $t1, %lo(D_80130F48) # addiu $t1, $t1, 0xf48
/* B64BFC 800EDA5C 952E0000 */ lhu $t6, ($t1)
/* B64C00 800EDA60 3C038013 */ lui $v1, %hi(D_80130F40) # $v1, 0x8013
/* B64C04 800EDA64 24630F40 */ addiu $v1, %lo(D_80130F40) # addiu $v1, $v1, 0xf40
/* B64C08 800EDA68 15C00003 */ bnez $t6, .L800EDA78
/* B64C0C 800EDA6C 3C0F8017 */ lui $t7, %hi(D_8016BA04) # $t7, 0x8017
/* B64C10 800EDA70 10000005 */ b .L800EDA88
/* B64C14 800EDA74 24040003 */ li $a0, 3
.L800EDA78:
/* B64C18 800EDA78 3C188013 */ lui $t8, %hi(D_80130F68) # $t8, 0x8013
/* B64C1C 800EDA7C 8F180F68 */ lw $t8, %lo(D_80130F68)($t8)
/* B64C20 800EDA80 8DEFBA04 */ lw $t7, %lo(D_8016BA04)($t7)
/* B64C24 800EDA84 01F82023 */ subu $a0, $t7, $t8
.L800EDA88:
/* B64C28 800EDA88 8C620000 */ lw $v0, ($v1)
/* B64C2C 800EDA8C 3C068013 */ lui $a2, %hi(D_80131840) # $a2, 0x8013
/* B64C30 800EDA90 3C058013 */ lui $a1, %hi(D_80130F44) # $a1, 0x8013
/* B64C34 800EDA94 0082082B */ sltu $at, $a0, $v0
/* B64C38 800EDA98 10200004 */ beqz $at, .L800EDAAC
/* B64C3C 800EDA9C 00825023 */ subu $t2, $a0, $v0
/* B64C40 800EDAA0 0044C823 */ subu $t9, $v0, $a0
/* B64C44 800EDAA4 10000003 */ b .L800EDAB4
/* B64C48 800EDAA8 AC790000 */ sw $t9, ($v1)
.L800EDAAC:
/* B64C4C 800EDAAC AFAA0020 */ sw $t2, 0x20($sp)
/* B64C50 800EDAB0 AC600000 */ sw $zero, ($v1)
.L800EDAB4:
/* B64C54 800EDAB4 8C6B0000 */ lw $t3, ($v1)
/* B64C58 800EDAB8 556000A8 */ bnezl $t3, .L800EDD5C
/* B64C5C 800EDABC 8FBF001C */ lw $ra, 0x1c($sp)
/* B64C60 800EDAC0 94A50F44 */ lhu $a1, %lo(D_80130F44)($a1)
/* B64C64 800EDAC4 8CC61840 */ lw $a2, %lo(D_80131840)($a2)
/* B64C68 800EDAC8 24010001 */ li $at, 1
/* B64C6C 800EDACC 000560C0 */ sll $t4, $a1, 3
/* B64C70 800EDAD0 00CC2021 */ addu $a0, $a2, $t4
/* B64C74 800EDAD4 948D0002 */ lhu $t5, 2($a0)
/* B64C78 800EDAD8 24F8FFFF */ addiu $t8, $a3, -1
/* B64C7C 800EDADC 14A10003 */ bne $a1, $at, .L800EDAEC
/* B64C80 800EDAE0 AC6D0000 */ sw $t5, ($v1)
/* B64C84 800EDAE4 25AF0001 */ addiu $t7, $t5, 1
/* B64C88 800EDAE8 AC6F0000 */ sw $t7, ($v1)
.L800EDAEC:
/* B64C8C 800EDAEC 8C620000 */ lw $v0, ($v1)
/* B64C90 800EDAF0 8FAB0020 */ lw $t3, 0x20($sp)
/* B64C94 800EDAF4 331900FF */ andi $t9, $t8, 0xff
/* B64C98 800EDAF8 1440000F */ bnez $v0, .L800EDB38
/* B64C9C 800EDAFC 004B6023 */ subu $t4, $v0, $t3
/* B64CA0 800EDB00 13200009 */ beqz $t9, .L800EDB28
/* B64CA4 800EDB04 A1180000 */ sb $t8, ($t0)
/* B64CA8 800EDB08 3C068013 */ lui $a2, %hi(D_80130F50) # $a2, 0x8013
/* B64CAC 800EDB0C 3C018013 */ lui $at, %hi(D_80130F44) # $at, 0x8013
/* B64CB0 800EDB10 24C60F50 */ addiu $a2, %lo(D_80130F50) # addiu $a2, $a2, 0xf50
/* B64CB4 800EDB14 A4200F44 */ sh $zero, %lo(D_80130F44)($at)
/* B64CB8 800EDB18 240A00FF */ li $t2, 255
/* B64CBC 800EDB1C A5200000 */ sh $zero, ($t1)
/* B64CC0 800EDB20 1000008D */ b .L800EDD58
/* B64CC4 800EDB24 A0CA0000 */ sb $t2, ($a2)
.L800EDB28:
/* B64CC8 800EDB28 0C03E341 */ jal func_800F8D04
/* B64CCC 800EDB2C 24045800 */ li $a0, 22528
/* B64CD0 800EDB30 1000008A */ b .L800EDD5C
/* B64CD4 800EDB34 8FBF001C */ lw $ra, 0x1c($sp)
.L800EDB38:
/* B64CD8 800EDB38 AC6C0000 */ sw $t4, ($v1)
/* B64CDC 800EDB3C 3C038013 */ lui $v1, %hi(D_80130F54)
/* B64CE0 800EDB40 24630F54 */ addiu $v1, %lo(D_80130F54) # addiu $v1, $v1, 0xf54
/* B64CE4 800EDB44 906D0000 */ lbu $t5, ($v1)
/* B64CE8 800EDB48 90820004 */ lbu $v0, 4($a0)
/* B64CEC 800EDB4C 11A2000E */ beq $t5, $v0, .L800EDB88
/* B64CF0 800EDB50 304E00FF */ andi $t6, $v0, 0xff
/* B64CF4 800EDB54 448E2000 */ mtc1 $t6, $f4
/* B64CF8 800EDB58 A0620000 */ sb $v0, ($v1)
/* B64CFC 800EDB5C 05C10005 */ bgez $t6, .L800EDB74
/* B64D00 800EDB60 468021A0 */ cvt.s.w $f6, $f4
/* B64D04 800EDB64 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B64D08 800EDB68 44814000 */ mtc1 $at, $f8
/* B64D0C 800EDB6C 00000000 */ nop
/* B64D10 800EDB70 46083180 */ add.s $f6, $f6, $f8
.L800EDB74:
/* B64D14 800EDB74 3C0142FE */ li $at, 0x42FE0000 # 0.000000
/* B64D18 800EDB78 44815000 */ mtc1 $at, $f10
/* B64D1C 800EDB7C 3C018013 */ lui $at, %hi(D_80130F64)
/* B64D20 800EDB80 460A3403 */ div.s $f16, $f6, $f10
/* B64D24 800EDB84 E4300F64 */ swc1 $f16, %lo(D_80130F64)($at)
.L800EDB88:
/* B64D28 800EDB88 3C038013 */ lui $v1, %hi(D_80130F58) # $v1, 0x8013
/* B64D2C 800EDB8C 24630F58 */ addiu $v1, %lo(D_80130F58) # addiu $v1, $v1, 0xf58
/* B64D30 800EDB90 906F0000 */ lbu $t7, ($v1)
/* B64D34 800EDB94 90820005 */ lbu $v0, 5($a0)
/* B64D38 800EDB98 11E2000E */ beq $t7, $v0, .L800EDBD4
/* B64D3C 800EDB9C 00000000 */ nop
/* B64D40 800EDBA0 A0620000 */ sb $v0, ($v1)
/* B64D44 800EDBA4 3C040602 */ lui $a0, (0x06020D06 >> 16) # lui $a0, 0x602
/* B64D48 800EDBA8 34840D06 */ ori $a0, (0x06020D06 & 0xFFFF) # ori $a0, $a0, 0xd06
/* B64D4C 800EDBAC 0C0396C8 */ jal func_800E5B20
/* B64D50 800EDBB0 80650000 */ lb $a1, ($v1)
/* B64D54 800EDBB4 3C058013 */ lui $a1, %hi(D_80130F44) # $a1, 0x8013
/* B64D58 800EDBB8 94A50F44 */ lhu $a1, %lo(D_80130F44)($a1)
/* B64D5C 800EDBBC 3C068013 */ lui $a2, %hi(D_80131840) # $a2, 0x8013
/* B64D60 800EDBC0 8CC61840 */ lw $a2, %lo(D_80131840)($a2)
/* B64D64 800EDBC4 3C098013 */ lui $t1, %hi(D_80130F48) # $t1, 0x8013
/* B64D68 800EDBC8 0005C0C0 */ sll $t8, $a1, 3
/* B64D6C 800EDBCC 25290F48 */ addiu $t1, %lo(D_80130F48) # addiu $t1, $t1, 0xf48
/* B64D70 800EDBD0 00D82021 */ addu $a0, $a2, $t8
.L800EDBD4:
/* B64D74 800EDBD4 3C038013 */ lui $v1, %hi(D_80130F5C) # $v1, 0x8013
/* B64D78 800EDBD8 24630F5C */ addiu $v1, %lo(D_80130F5C) # addiu $v1, $v1, 0xf5c
/* B64D7C 800EDBDC 80790000 */ lb $t9, ($v1)
/* B64D80 800EDBE0 80820006 */ lb $v0, 6($a0)
/* B64D84 800EDBE4 5322000F */ beql $t9, $v0, .L800EDC24
/* B64D88 800EDBE8 000558C0 */ sll $t3, $a1, 3
/* B64D8C 800EDBEC A0620000 */ sb $v0, ($v1)
/* B64D90 800EDBF0 0C03B298 */ jal func_800ECA60
/* B64D94 800EDBF4 80640000 */ lb $a0, ($v1)
/* B64D98 800EDBF8 3C058013 */ lui $a1, %hi(D_80130F44) # $a1, 0x8013
/* B64D9C 800EDBFC 94A50F44 */ lhu $a1, %lo(D_80130F44)($a1)
/* B64DA0 800EDC00 3C068013 */ lui $a2, %hi(D_80131840) # $a2, 0x8013
/* B64DA4 800EDC04 8CC61840 */ lw $a2, %lo(D_80131840)($a2)
/* B64DA8 800EDC08 3C098013 */ lui $t1, %hi(D_80130F48) # $t1, 0x8013
/* B64DAC 800EDC0C 3C018013 */ lui $at, %hi(D_80130F60)
/* B64DB0 800EDC10 000550C0 */ sll $t2, $a1, 3
/* B64DB4 800EDC14 E4200F60 */ swc1 $f0, %lo(D_80130F60)($at)
/* B64DB8 800EDC18 25290F48 */ addiu $t1, %lo(D_80130F48) # addiu $t1, $t1, 0xf48
/* B64DBC 800EDC1C 00CA2021 */ addu $a0, $a2, $t2
/* B64DC0 800EDC20 000558C0 */ sll $t3, $a1, 3
.L800EDC24:
/* B64DC4 800EDC24 00CB1021 */ addu $v0, $a2, $t3
/* B64DC8 800EDC28 904DFFFC */ lbu $t5, -4($v0)
/* B64DCC 800EDC2C 908C0004 */ lbu $t4, 4($a0)
/* B64DD0 800EDC30 2401000A */ li $at, 10
/* B64DD4 800EDC34 158D000C */ bne $t4, $t5, .L800EDC68
/* B64DD8 800EDC38 00000000 */ nop
/* B64DDC 800EDC3C 908E0005 */ lbu $t6, 5($a0)
/* B64DE0 800EDC40 904FFFFD */ lbu $t7, -3($v0)
/* B64DE4 800EDC44 15CF0008 */ bne $t6, $t7, .L800EDC68
/* B64DE8 800EDC48 00000000 */ nop
/* B64DEC 800EDC4C 80980006 */ lb $t8, 6($a0)
/* B64DF0 800EDC50 8059FFFE */ lb $t9, -2($v0)
/* B64DF4 800EDC54 3C068013 */ lui $a2, %hi(D_80130F50) # $a2, 0x8013
/* B64DF8 800EDC58 24C60F50 */ addiu $a2, %lo(D_80130F50) # addiu $a2, $a2, 0xf50
/* B64DFC 800EDC5C 17190002 */ bne $t8, $t9, .L800EDC68
/* B64E00 800EDC60 240A00FE */ li $t2, 254
/* B64E04 800EDC64 A0CA0000 */ sb $t2, ($a2)
.L800EDC68:
/* B64E08 800EDC68 3C068013 */ lui $a2, %hi(D_80130F50) # $a2, 0x8013
/* B64E0C 800EDC6C 24C60F50 */ addiu $a2, %lo(D_80130F50) # addiu $a2, $a2, 0xf50
/* B64E10 800EDC70 90CB0000 */ lbu $t3, ($a2)
/* B64E14 800EDC74 90820000 */ lbu $v0, ($a0)
/* B64E18 800EDC78 11620034 */ beq $t3, $v0, .L800EDD4C
/* B64E1C 800EDC7C 304300FF */ andi $v1, $v0, 0xff
/* B64E20 800EDC80 14610005 */ bne $v1, $at, .L800EDC98
/* B64E24 800EDC84 00602825 */ move $a1, $v1
/* B64E28 800EDC88 908C0007 */ lbu $t4, 7($a0)
/* B64E2C 800EDC8C 01856821 */ addu $t5, $t4, $a1
/* B64E30 800EDC90 10000002 */ b .L800EDC9C
/* B64E34 800EDC94 A0CD0000 */ sb $t5, ($a2)
.L800EDC98:
/* B64E38 800EDC98 A0C30000 */ sb $v1, ($a2)
.L800EDC9C:
/* B64E3C 800EDC9C 90CE0000 */ lbu $t6, ($a2)
/* B64E40 800EDCA0 240100FF */ li $at, 255
/* B64E44 800EDCA4 11C10025 */ beq $t6, $at, .L800EDD3C
/* B64E48 800EDCA8 00000000 */ nop
/* B64E4C 800EDCAC 952F0000 */ lhu $t7, ($t1)
/* B64E50 800EDCB0 3C058013 */ lui $a1, %hi(D_80130F10)
/* B64E54 800EDCB4 3C040602 */ lui $a0, (0x06020D07 >> 16) # lui $a0, 0x602
/* B64E58 800EDCB8 25F80001 */ addiu $t8, $t7, 1
/* B64E5C 800EDCBC A5380000 */ sh $t8, ($t1)
/* B64E60 800EDCC0 80A50F10 */ lb $a1, %lo(D_80130F10)($a1)
/* B64E64 800EDCC4 34840D07 */ ori $a0, (0x06020D07 & 0xFFFF) # ori $a0, $a0, 0xd07
/* B64E68 800EDCC8 24A5FFFF */ addiu $a1, $a1, -1
/* B64E6C 800EDCCC 00052E00 */ sll $a1, $a1, 0x18
/* B64E70 800EDCD0 0C0396C8 */ jal func_800E5B20
/* B64E74 800EDCD4 00052E03 */ sra $a1, $a1, 0x18
/* B64E78 800EDCD8 3C068013 */ lui $a2, %hi(D_80130F50) # $a2, 0x8013
/* B64E7C 800EDCDC 24C60F50 */ addiu $a2, %lo(D_80130F50) # addiu $a2, $a2, 0xf50
/* B64E80 800EDCE0 90C50000 */ lbu $a1, ($a2)
/* B64E84 800EDCE4 3C040602 */ lui $a0, (0x06020D05 >> 16) # lui $a0, 0x602
/* B64E88 800EDCE8 34840D05 */ ori $a0, (0x06020D05 & 0xFFFF) # ori $a0, $a0, 0xd05
/* B64E8C 800EDCEC 30A5003F */ andi $a1, $a1, 0x3f
/* B64E90 800EDCF0 00052E00 */ sll $a1, $a1, 0x18
/* B64E94 800EDCF4 0C0396C8 */ jal func_800E5B20
/* B64E98 800EDCF8 00052E03 */ sra $a1, $a1, 0x18
/* B64E9C 800EDCFC 3C198013 */ lui $t9, %hi(D_80130F64) # $t9, 0x8013
/* B64EA0 800EDD00 3C0A8013 */ lui $t2, %hi(D_801333E8) # $t2, 0x8013
/* B64EA4 800EDD04 254A33E8 */ addiu $t2, %lo(D_801333E8) # addiu $t2, $t2, 0x33e8
/* B64EA8 800EDD08 27390F64 */ addiu $t9, %lo(D_80130F64) # addiu $t9, $t9, 0xf64
/* B64EAC 800EDD0C 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B64EB0 800EDD10 3C078013 */ lui $a3, %hi(D_80130F60) # $a3, 0x8013
/* B64EB4 800EDD14 24E70F60 */ addiu $a3, %lo(D_80130F60) # addiu $a3, $a3, 0xf60
/* B64EB8 800EDD18 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B64EBC 800EDD1C AFB90010 */ sw $t9, 0x10($sp)
/* B64EC0 800EDD20 AFAA0014 */ sw $t2, 0x14($sp)
/* B64EC4 800EDD24 24045800 */ li $a0, 22528
/* B64EC8 800EDD28 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B64ECC 800EDD2C 24060004 */ li $a2, 4
/* B64ED0 800EDD30 3C058013 */ lui $a1, %hi(D_80130F44) # $a1, 0x8013
/* B64ED4 800EDD34 10000005 */ b .L800EDD4C
/* B64ED8 800EDD38 94A50F44 */ lhu $a1, %lo(D_80130F44)($a1)
.L800EDD3C:
/* B64EDC 800EDD3C 0C03E341 */ jal func_800F8D04
/* B64EE0 800EDD40 24045800 */ li $a0, 22528
/* B64EE4 800EDD44 3C058013 */ lui $a1, %hi(D_80130F44) # $a1, 0x8013
/* B64EE8 800EDD48 94A50F44 */ lhu $a1, %lo(D_80130F44)($a1)
.L800EDD4C:
/* B64EEC 800EDD4C 24AB0001 */ addiu $t3, $a1, 1
/* B64EF0 800EDD50 3C018013 */ lui $at, %hi(D_80130F44) # $at, 0x8013
/* B64EF4 800EDD54 A42B0F44 */ sh $t3, %lo(D_80130F44)($at)
.L800EDD58:
/* B64EF8 800EDD58 8FBF001C */ lw $ra, 0x1c($sp)
.L800EDD5C:
/* B64EFC 800EDD5C 27BD0028 */ addiu $sp, $sp, 0x28
/* B64F00 800EDD60 03E00008 */ jr $ra
/* B64F04 800EDD64 00000000 */ nop