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

96 lines
4.7 KiB
ArmAsm

glabel func_800F5550
/* B6C6F0 800F5550 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B6C6F4 800F5554 AFBF001C */ sw $ra, 0x1c($sp)
/* B6C6F8 800F5558 AFA40028 */ sw $a0, 0x28($sp)
/* B6C6FC 800F555C A3A00027 */ sb $zero, 0x27($sp)
/* B6C700 800F5560 0C03E82D */ jal func_800FA0B4
/* B6C704 800F5564 00002025 */ move $a0, $zero
/* B6C708 800F5568 2401004C */ li $at, 76
/* B6C70C 800F556C 5041004B */ beql $v0, $at, .L800F569C
/* B6C710 800F5570 8FBF001C */ lw $ra, 0x1c($sp)
/* B6C714 800F5574 0C03E82D */ jal func_800FA0B4
/* B6C718 800F5578 24040003 */ li $a0, 3
/* B6C71C 800F557C 2401002F */ li $at, 47
/* B6C720 800F5580 14410006 */ bne $v0, $at, .L800F559C
/* B6C724 800F5584 24040003 */ li $a0, 3
/* B6C728 800F5588 0C03E51D */ jal func_800F9474
/* B6C72C 800F558C 00002825 */ move $a1, $zero
/* B6C730 800F5590 3C04F800 */ lui $a0, 0xf800
/* B6C734 800F5594 0C0396BF */ jal func_800E5AFC
/* B6C738 800F5598 00002825 */ move $a1, $zero
.L800F559C:
/* B6C73C 800F559C 3C0E8013 */ lui $t6, %hi(D_80130630) # $t6, 0x8013
/* B6C740 800F55A0 91CE0630 */ lbu $t6, %lo(D_80130630)($t6)
/* B6C744 800F55A4 3C088013 */ lui $t0, %hi(D_80130658) # $t0, 0x8013
/* B6C748 800F55A8 25080658 */ addiu $t0, %lo(D_80130658) # addiu $t0, $t0, 0x658
/* B6C74C 800F55AC 010E7821 */ addu $t7, $t0, $t6
/* B6C750 800F55B0 91F80000 */ lbu $t8, ($t7)
/* B6C754 800F55B4 97A5002A */ lhu $a1, 0x2a($sp)
/* B6C758 800F55B8 00002025 */ move $a0, $zero
/* B6C75C 800F55BC 33190020 */ andi $t9, $t8, 0x20
/* B6C760 800F55C0 13200018 */ beqz $t9, .L800F5624
/* B6C764 800F55C4 30A300FF */ andi $v1, $a1, 0xff
/* B6C768 800F55C8 306900FF */ andi $t1, $v1, 0xff
/* B6C76C 800F55CC 01095021 */ addu $t2, $t0, $t1
/* B6C770 800F55D0 914B0000 */ lbu $t3, ($t2)
/* B6C774 800F55D4 3C028013 */ lui $v0, %hi(D_8013062C) # $v0, 0x8013
/* B6C778 800F55D8 24070007 */ li $a3, 7
/* B6C77C 800F55DC 316C0010 */ andi $t4, $t3, 0x10
/* B6C780 800F55E0 51800011 */ beql $t4, $zero, .L800F5628
/* B6C784 800F55E4 97A5002A */ lhu $a1, 0x2a($sp)
/* B6C788 800F55E8 9042062C */ lbu $v0, %lo(D_8013062C)($v0)
/* B6C78C 800F55EC 240E001E */ li $t6, 30
/* B6C790 800F55F0 00002025 */ move $a0, $zero
/* B6C794 800F55F4 304D003F */ andi $t5, $v0, 0x3f
/* B6C798 800F55F8 51A00003 */ beql $t5, $zero, .L800F5608
/* B6C79C 800F55FC 93A60027 */ lbu $a2, 0x27($sp)
/* B6C7A0 800F5600 A3AE0027 */ sb $t6, 0x27($sp)
/* B6C7A4 800F5604 93A60027 */ lbu $a2, 0x27($sp)
.L800F5608:
/* B6C7A8 800F5608 AFA20010 */ sw $v0, 0x10($sp)
/* B6C7AC 800F560C 0C03D786 */ jal func_800F5E18
/* B6C7B0 800F5610 AFA30020 */ sw $v1, 0x20($sp)
/* B6C7B4 800F5614 3C018013 */ lui $at, %hi(D_8013062C) # $at, 0x8013
/* B6C7B8 800F5618 8FA30020 */ lw $v1, 0x20($sp)
/* B6C7BC 800F561C 1000001C */ b .L800F5690
/* B6C7C0 800F5620 A020062C */ sb $zero, %lo(D_8013062C)($at)
.L800F5624:
/* B6C7C4 800F5624 97A5002A */ lhu $a1, 0x2a($sp)
.L800F5628:
/* B6C7C8 800F5628 240200FF */ li $v0, 255
/* B6C7CC 800F562C 00003025 */ move $a2, $zero
/* B6C7D0 800F5630 30A300FF */ andi $v1, $a1, 0xff
/* B6C7D4 800F5634 306F00FF */ andi $t7, $v1, 0xff
/* B6C7D8 800F5638 010FC021 */ addu $t8, $t0, $t7
/* B6C7DC 800F563C 93190000 */ lbu $t9, ($t8)
/* B6C7E0 800F5640 24070007 */ li $a3, 7
/* B6C7E4 800F5644 33290040 */ andi $t1, $t9, 0x40
/* B6C7E8 800F5648 11200003 */ beqz $t1, .L800F5658
/* B6C7EC 800F564C 00000000 */ nop
/* B6C7F0 800F5650 10000001 */ b .L800F5658
/* B6C7F4 800F5654 24020001 */ li $v0, 1
.L800F5658:
/* B6C7F8 800F5658 AFA20010 */ sw $v0, 0x10($sp)
/* B6C7FC 800F565C 0C03D786 */ jal func_800F5E18
/* B6C800 800F5660 AFA30020 */ sw $v1, 0x20($sp)
/* B6C804 800F5664 97AA002A */ lhu $t2, 0x2a($sp)
/* B6C808 800F5668 3C088013 */ lui $t0, %hi(D_80130658) # $t0, 0x8013
/* B6C80C 800F566C 25080658 */ addiu $t0, %lo(D_80130658) # addiu $t0, $t0, 0x658
/* B6C810 800F5670 010A5821 */ addu $t3, $t0, $t2
/* B6C814 800F5674 916C0000 */ lbu $t4, ($t3)
/* B6C818 800F5678 8FA30020 */ lw $v1, 0x20($sp)
/* B6C81C 800F567C 240E00C0 */ li $t6, 192
/* B6C820 800F5680 318D0020 */ andi $t5, $t4, 0x20
/* B6C824 800F5684 15A00002 */ bnez $t5, .L800F5690
/* B6C828 800F5688 3C018013 */ lui $at, %hi(D_8013062C) # $at, 0x8013
/* B6C82C 800F568C A02E062C */ sb $t6, %lo(D_8013062C)($at)
.L800F5690:
/* B6C830 800F5690 3C018013 */ lui $at, %hi(D_80130630) # $at, 0x8013
/* B6C834 800F5694 A0230630 */ sb $v1, %lo(D_80130630)($at)
/* B6C838 800F5698 8FBF001C */ lw $ra, 0x1c($sp)
.L800F569C:
/* B6C83C 800F569C 27BD0028 */ addiu $sp, $sp, 0x28
/* B6C840 800F56A0 03E00008 */ jr $ra
/* B6C844 800F56A4 00000000 */ nop