Files
SpaghettiKart/asm/non_matchings/code_80005FD0/func_80019C50.s
T
CoderStig 8ab4557b39 Split asm using autodecompiler (#49)
* Split asm using autodecompiler

* Placed libultra bss and linked more C
2021-11-05 05:17:09 -06:00

61 lines
3.2 KiB
ArmAsm

glabel func_80019C50
/* 01A850 80019C50 3C0E8016 */ lui $t6, %hi(D_80164678) # $t6, 0x8016
/* 01A854 80019C54 25CE4678 */ addiu $t6, %lo(D_80164678) # addiu $t6, $t6, 0x4678
/* 01A858 80019C58 00043840 */ sll $a3, $a0, 1
/* 01A85C 80019C5C 00EE1021 */ addu $v0, $a3, $t6
/* 01A860 80019C60 84430000 */ lh $v1, ($v0)
/* 01A864 80019C64 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 01A868 80019C68 AFBF0014 */ sw $ra, 0x14($sp)
/* 01A86C 80019C6C 10600006 */ beqz $v1, .L80019C88
/* 01A870 80019C70 00803025 */ move $a2, $a0
/* 01A874 80019C74 24080001 */ li $t0, 1
/* 01A878 80019C78 10680017 */ beq $v1, $t0, .L80019CD8
/* 01A87C 80019C7C 00064880 */ sll $t1, $a2, 2
/* 01A880 80019C80 10000027 */ b .L80019D20
/* 01A884 80019C84 8FBF0014 */ lw $ra, 0x14($sp)
.L80019C88:
/* 01A888 80019C88 00067880 */ sll $t7, $a2, 2
/* 01A88C 80019C8C 3C188016 */ lui $t8, %hi(D_80164608) # 0x8016
/* 01A890 80019C90 030FC021 */ addu $t8, $t8, $t7
/* 01A894 80019C94 8F184608 */ lw $t8, %lo(D_80164608)($t8) # 0x4608($t8)
/* 01A898 80019C98 24080001 */ li $t0, 1
/* 01A89C 80019C9C 30C400FF */ andi $a0, $a2, 0xff
/* 01A8A0 80019CA0 1518001E */ bne $t0, $t8, .L80019D1C
/* 01A8A4 80019CA4 3C051900 */ lui $a1, (0x1900904F >> 16) # lui $a1, 0x1900
/* 01A8A8 80019CA8 A4480000 */ sh $t0, ($v0)
/* 01A8AC 80019CAC 34A5904F */ ori $a1, (0x1900904F & 0xFFFF) # ori $a1, $a1, 0x904f
/* 01A8B0 80019CB0 AFA2001C */ sw $v0, 0x1c($sp)
/* 01A8B4 80019CB4 0C032418 */ jal func_800C9060
/* 01A8B8 80019CB8 AFA70020 */ sw $a3, 0x20($sp)
/* 01A8BC 80019CBC 8FA2001C */ lw $v0, 0x1c($sp)
/* 01A8C0 80019CC0 8FA70020 */ lw $a3, 0x20($sp)
/* 01A8C4 80019CC4 3C018016 */ lui $at, %hi(D_80164670) # 0x8016
/* 01A8C8 80019CC8 84590000 */ lh $t9, ($v0)
/* 01A8CC 80019CCC 00270821 */ addu $at, $at, $a3
/* 01A8D0 80019CD0 10000012 */ b .L80019D1C
/* 01A8D4 80019CD4 A4394670 */ sh $t9, %lo(D_80164670)($at) # 0x4670($at)
.L80019CD8:
/* 01A8D8 80019CD8 3C0A8016 */ lui $t2, %hi(D_80164608) # 0x8016
/* 01A8DC 80019CDC 01495021 */ addu $t2, $t2, $t1
/* 01A8E0 80019CE0 8D4A4608 */ lw $t2, %lo(D_80164608)($t2) # 0x4608($t2)
/* 01A8E4 80019CE4 3C051900 */ lui $a1, (0x19009050 >> 16) # lui $a1, 0x1900
/* 01A8E8 80019CE8 34A59050 */ ori $a1, (0x19009050 & 0xFFFF) # ori $a1, $a1, 0x9050
/* 01A8EC 80019CEC 150A000B */ bne $t0, $t2, .L80019D1C
/* 01A8F0 80019CF0 30C400FF */ andi $a0, $a2, 0xff
/* 01A8F4 80019CF4 A4400000 */ sh $zero, ($v0)
/* 01A8F8 80019CF8 AFA2001C */ sw $v0, 0x1c($sp)
/* 01A8FC 80019CFC 0C032418 */ jal func_800C9060
/* 01A900 80019D00 AFA70020 */ sw $a3, 0x20($sp)
/* 01A904 80019D04 8FA2001C */ lw $v0, 0x1c($sp)
/* 01A908 80019D08 8FA70020 */ lw $a3, 0x20($sp)
/* 01A90C 80019D0C 3C018016 */ lui $at, %hi(D_80164670) # 0x8016
/* 01A910 80019D10 844B0000 */ lh $t3, ($v0)
/* 01A914 80019D14 00270821 */ addu $at, $at, $a3
/* 01A918 80019D18 A42B4670 */ sh $t3, %lo(D_80164670)($at) # 0x4670($at)
.L80019D1C:
/* 01A91C 80019D1C 8FBF0014 */ lw $ra, 0x14($sp)
.L80019D20:
/* 01A920 80019D20 27BD0028 */ addiu $sp, $sp, 0x28
/* 01A924 80019D24 03E00008 */ jr $ra
/* 01A928 80019D28 00000000 */ nop