oot/asm/non_matchings/code/code_8006C3A0/func_8006C438.s

31 lines
1.4 KiB
ArmAsm

glabel func_8006C438
/* AE35D8 8006C438 AFA50004 */ sw $a1, 4($sp)
/* AE35DC 8006C43C 00052C00 */ sll $a1, $a1, 0x10
/* AE35E0 8006C440 00052C03 */ sra $a1, $a1, 0x10
/* AE35E4 8006C444 04A10003 */ bgez $a1, .L8006C454
/* AE35E8 8006C448 00057103 */ sra $t6, $a1, 4
/* AE35EC 8006C44C 24A1000F */ addiu $at, $a1, 0xf
/* AE35F0 8006C450 00017103 */ sra $t6, $at, 4
.L8006C454:
/* AE35F4 8006C454 000E7C00 */ sll $t7, $t6, 0x10
/* AE35F8 8006C458 000FC403 */ sra $t8, $t7, 0x10
/* AE35FC 8006C45C 0018C840 */ sll $t9, $t8, 1
/* AE3600 8006C460 00991021 */ addu $v0, $a0, $t9
/* AE3604 8006C464 3C010001 */ lui $at, 1
/* AE3608 8006C468 00411021 */ addu $v0, $v0, $at
/* AE360C 8006C46C 944820FC */ lhu $t0, 0x20fc($v0)
/* AE3610 8006C470 04A10004 */ bgez $a1, .L8006C484
/* AE3614 8006C474 30A9000F */ andi $t1, $a1, 0xf
/* AE3618 8006C478 11200002 */ beqz $t1, .L8006C484
/* AE361C 8006C47C 00000000 */ nop
/* AE3620 8006C480 2529FFF0 */ addiu $t1, $t1, -0x10
.L8006C484:
/* AE3624 8006C484 00095400 */ sll $t2, $t1, 0x10
/* AE3628 8006C488 000A5C03 */ sra $t3, $t2, 0x10
/* AE362C 8006C48C 240C0001 */ li $t4, 1
/* AE3630 8006C490 016C6804 */ sllv $t5, $t4, $t3
/* AE3634 8006C494 39B8FFFF */ xori $t8, $t5, 0xffff
/* AE3638 8006C498 0118C824 */ and $t9, $t0, $t8
/* AE363C 8006C49C 03E00008 */ jr $ra
/* AE3640 8006C4A0 A45920FC */ sh $t9, 0x20fc($v0)