oot/asm/non_matchings/code/z_player_lib/func_8008EA40.s

67 lines
3.2 KiB
ArmAsm

glabel func_8008EA40
/* B05BE0 8008EA40 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B05BE4 8008EA44 AFBF0014 */ sw $ra, 0x14($sp)
/* B05BE8 8008EA48 8C8E067C */ lw $t6, 0x67c($a0)
/* B05BEC 8008EA4C 000E7A40 */ sll $t7, $t6, 9
/* B05BF0 8008EA50 05E30033 */ bgezl $t7, .L8008EB20
/* B05BF4 8008EA54 8FBF0014 */ lw $ra, 0x14($sp)
/* B05BF8 8008EA58 80820154 */ lb $v0, 0x154($a0)
/* B05BFC 8008EA5C 04400004 */ bltz $v0, .L8008EA70
/* B05C00 8008EA60 00000000 */ nop
/* B05C04 8008EA64 80980151 */ lb $t8, 0x151($a0)
/* B05C08 8008EA68 5702002D */ bnel $t8, $v0, .L8008EB20
/* B05C0C 8008EA6C 8FBF0014 */ lw $ra, 0x14($sp)
.L8008EA70:
/* B05C10 8008EA70 0C023C68 */ jal func_8008F1A0
/* B05C14 8008EA74 AFA40018 */ sw $a0, 0x18($sp)
/* B05C18 8008EA78 14400028 */ bnez $v0, .L8008EB1C
/* B05C1C 8008EA7C 8FA40018 */ lw $a0, 0x18($sp)
/* B05C20 8008EA80 0C023A74 */ jal func_8008E9D0
/* B05C24 8008EA84 AFA40018 */ sw $a0, 0x18($sp)
/* B05C28 8008EA88 14400024 */ bnez $v0, .L8008EB1C
/* B05C2C 8008EA8C 8FA40018 */ lw $a0, 0x18($sp)
/* B05C30 8008EA90 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016
/* B05C34 8008EA94 2419000A */ li $t9, 10
/* B05C38 8008EA98 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0
/* B05C3C 8008EA9C 3C068012 */ lui $a2, %hi(D_80125F40) # $a2, 0x8012
/* B05C40 8008EAA0 A099015D */ sb $t9, 0x15d($a0)
/* B05C44 8008EAA4 8CA80004 */ lw $t0, 4($a1)
/* B05C48 8008EAA8 24C65F40 */ addiu $a2, %lo(D_80125F40) # addiu $a2, $a2, 0x5f40
/* B05C4C 8008EAAC 8CCA0028 */ lw $t2, 0x28($a2)
/* B05C50 8008EAB0 9082015E */ lbu $v0, 0x15e($a0)
/* B05C54 8008EAB4 00084880 */ sll $t1, $t0, 2
/* B05C58 8008EAB8 24010012 */ li $at, 18
/* B05C5C 8008EABC 012A5821 */ addu $t3, $t1, $t2
/* B05C60 8008EAC0 AC8B0160 */ sw $t3, 0x160($a0)
/* B05C64 8008EAC4 14410005 */ bne $v0, $at, .L8008EADC
/* B05C68 8008EAC8 00401825 */ move $v1, $v0
/* B05C6C 8008EACC 240C0010 */ li $t4, 16
/* B05C70 8008EAD0 A08C015E */ sb $t4, 0x15e($a0)
/* B05C74 8008EAD4 10000006 */ b .L8008EAF0
/* B05C78 8008EAD8 318200FF */ andi $v0, $t4, 0xff
.L8008EADC:
/* B05C7C 8008EADC 24010013 */ li $at, 19
/* B05C80 8008EAE0 14610003 */ bne $v1, $at, .L8008EAF0
/* B05C84 8008EAE4 240D0011 */ li $t5, 17
/* B05C88 8008EAE8 A08D015E */ sb $t5, 0x15e($a0)
/* B05C8C 8008EAEC 31A200FF */ andi $v0, $t5, 0xff
.L8008EAF0:
/* B05C90 8008EAF0 0002C080 */ sll $t8, $v0, 2
/* B05C94 8008EAF4 8CAE0004 */ lw $t6, 4($a1)
/* B05C98 8008EAF8 00D8C821 */ addu $t9, $a2, $t8
/* B05C9C 8008EAFC 8F280000 */ lw $t0, ($t9)
/* B05CA0 8008EB00 000E7880 */ sll $t7, $t6, 2
/* B05CA4 8008EB04 240A0002 */ li $t2, 2
/* B05CA8 8008EB08 240BFFFF */ li $t3, -1
/* B05CAC 8008EB0C 01E84821 */ addu $t1, $t7, $t0
/* B05CB0 8008EB10 AC890168 */ sw $t1, 0x168($a0)
/* B05CB4 8008EB14 A08A015B */ sb $t2, 0x15b($a0)
/* B05CB8 8008EB18 A08B0154 */ sb $t3, 0x154($a0)
.L8008EB1C:
/* B05CBC 8008EB1C 8FBF0014 */ lw $ra, 0x14($sp)
.L8008EB20:
/* B05CC0 8008EB20 27BD0018 */ addiu $sp, $sp, 0x18
/* B05CC4 8008EB24 03E00008 */ jr $ra
/* B05CC8 8008EB28 00000000 */ nop