mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-01 04:20:13 -04:00
8ab4557b39
* Split asm using autodecompiler * Placed libultra bss and linked more C
153 lines
7.2 KiB
ArmAsm
153 lines
7.2 KiB
ArmAsm
glabel func_802A0E44
|
|
/* 10A454 802A0E44 27BDFF98 */ addiu $sp, $sp, -0x68
|
|
/* 10A458 802A0E48 3C038016 */ lui $v1, %hi(D_8015F900) # $v1, 0x8016
|
|
/* 10A45C 802A0E4C 9463F900 */ lhu $v1, %lo(D_8015F900)($v1)
|
|
/* 10A460 802A0E50 AFBF003C */ sw $ra, 0x3c($sp)
|
|
/* 10A464 802A0E54 AFBE0038 */ sw $fp, 0x38($sp)
|
|
/* 10A468 802A0E58 28610063 */ slti $at, $v1, 0x63
|
|
/* 10A46C 802A0E5C AFB70034 */ sw $s7, 0x34($sp)
|
|
/* 10A470 802A0E60 AFB60030 */ sw $s6, 0x30($sp)
|
|
/* 10A474 802A0E64 AFB5002C */ sw $s5, 0x2c($sp)
|
|
/* 10A478 802A0E68 AFB40028 */ sw $s4, 0x28($sp)
|
|
/* 10A47C 802A0E6C AFB30024 */ sw $s3, 0x24($sp)
|
|
/* 10A480 802A0E70 AFB20020 */ sw $s2, 0x20($sp)
|
|
/* 10A484 802A0E74 AFB1001C */ sw $s1, 0x1c($sp)
|
|
/* 10A488 802A0E78 1020006E */ beqz $at, .L802A1034
|
|
/* 10A48C 802A0E7C AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 10A490 802A0E80 000370C0 */ sll $t6, $v1, 3
|
|
/* 10A494 802A0E84 01C37023 */ subu $t6, $t6, $v1
|
|
/* 10A498 802A0E88 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
|
|
/* 10A49C 802A0E8C 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
|
|
/* 10A4A0 802A0E90 000E7100 */ sll $t6, $t6, 4
|
|
/* 10A4A4 802A0E94 3C1E8016 */ lui $fp, %hi(D_8015F9B8) # $fp, 0x8016
|
|
/* 10A4A8 802A0E98 27DEF9B8 */ addiu $fp, %lo(D_8015F9B8) # addiu $fp, $fp, -0x648
|
|
/* 10A4AC 802A0E9C 01CF8021 */ addu $s0, $t6, $t7
|
|
/* 10A4B0 802A0EA0 24170064 */ li $s7, 100
|
|
/* 10A4B4 802A0EA4 2416002A */ li $s6, 42
|
|
/* 10A4B8 802A0EA8 2415000D */ li $s5, 13
|
|
/* 10A4BC 802A0EAC 24140008 */ li $s4, 8
|
|
/* 10A4C0 802A0EB0 24130007 */ li $s3, 7
|
|
/* 10A4C4 802A0EB4 24120006 */ li $s2, 6
|
|
/* 10A4C8 802A0EB8 86020002 */ lh $v0, 2($s0)
|
|
.L802A0EBC:
|
|
/* 10A4CC 802A0EBC 24790001 */ addiu $t9, $v1, 1
|
|
/* 10A4D0 802A0EC0 30588000 */ andi $t8, $v0, 0x8000
|
|
/* 10A4D4 802A0EC4 17000003 */ bnez $t8, .L802A0ED4
|
|
/* 10A4D8 802A0EC8 30484000 */ andi $t0, $v0, 0x4000
|
|
/* 10A4DC 802A0ECC 10000054 */ b .L802A1020
|
|
/* 10A4E0 802A0ED0 AFB90044 */ sw $t9, 0x44($sp)
|
|
.L802A0ED4:
|
|
/* 10A4E4 802A0ED4 15000003 */ bnez $t0, .L802A0EE4
|
|
/* 10A4E8 802A0ED8 24690001 */ addiu $t1, $v1, 1
|
|
/* 10A4EC 802A0EDC 10000050 */ b .L802A1020
|
|
/* 10A4F0 802A0EE0 AFA90044 */ sw $t1, 0x44($sp)
|
|
.L802A0EE4:
|
|
/* 10A4F4 802A0EE4 86020000 */ lh $v0, ($s0)
|
|
/* 10A4F8 802A0EE8 24710001 */ addiu $s1, $v1, 1
|
|
/* 10A4FC 802A0EEC 2A210064 */ slti $at, $s1, 0x64
|
|
/* 10A500 802A0EF0 1052000B */ beq $v0, $s2, .L802A0F20
|
|
/* 10A504 802A0EF4 00000000 */ nop
|
|
/* 10A508 802A0EF8 10530009 */ beq $v0, $s3, .L802A0F20
|
|
/* 10A50C 802A0EFC 00000000 */ nop
|
|
/* 10A510 802A0F00 10540007 */ beq $v0, $s4, .L802A0F20
|
|
/* 10A514 802A0F04 00000000 */ nop
|
|
/* 10A518 802A0F08 10550005 */ beq $v0, $s5, .L802A0F20
|
|
/* 10A51C 802A0F0C 00000000 */ nop
|
|
/* 10A520 802A0F10 10560003 */ beq $v0, $s6, .L802A0F20
|
|
/* 10A524 802A0F14 246A0001 */ addiu $t2, $v1, 1
|
|
/* 10A528 802A0F18 10000041 */ b .L802A1020
|
|
/* 10A52C 802A0F1C AFAA0044 */ sw $t2, 0x44($sp)
|
|
.L802A0F20:
|
|
/* 10A530 802A0F20 1020003F */ beqz $at, .L802A1020
|
|
/* 10A534 802A0F24 AFB10044 */ sw $s1, 0x44($sp)
|
|
/* 10A538 802A0F28 86020002 */ lh $v0, 2($s0)
|
|
.L802A0F2C:
|
|
/* 10A53C 802A0F2C 304D8000 */ andi $t5, $v0, 0x8000
|
|
/* 10A540 802A0F30 11A00038 */ beqz $t5, .L802A1014
|
|
/* 10A544 802A0F34 304E4000 */ andi $t6, $v0, 0x4000
|
|
/* 10A548 802A0F38 11C00036 */ beqz $t6, .L802A1014
|
|
/* 10A54C 802A0F3C 001178C0 */ sll $t7, $s1, 3
|
|
/* 10A550 802A0F40 01F17823 */ subu $t7, $t7, $s1
|
|
/* 10A554 802A0F44 000F7900 */ sll $t7, $t7, 4
|
|
/* 10A558 802A0F48 03CF2821 */ addu $a1, $fp, $t7
|
|
/* 10A55C 802A0F4C 84A20002 */ lh $v0, 2($a1)
|
|
/* 10A560 802A0F50 30588000 */ andi $t8, $v0, 0x8000
|
|
/* 10A564 802A0F54 1300002F */ beqz $t8, .L802A1014
|
|
/* 10A568 802A0F58 30594000 */ andi $t9, $v0, 0x4000
|
|
/* 10A56C 802A0F5C 5320002E */ beql $t9, $zero, .L802A1018
|
|
/* 10A570 802A0F60 26310001 */ addiu $s1, $s1, 1
|
|
/* 10A574 802A0F64 84A20000 */ lh $v0, ($a1)
|
|
/* 10A578 802A0F68 5052000C */ beql $v0, $s2, .L802A0F9C
|
|
/* 10A57C 802A0F6C 86080000 */ lh $t0, ($s0)
|
|
/* 10A580 802A0F70 50530011 */ beql $v0, $s3, .L802A0FB8
|
|
/* 10A584 802A0F74 86090000 */ lh $t1, ($s0)
|
|
/* 10A588 802A0F78 5054001A */ beql $v0, $s4, .L802A0FE4
|
|
/* 10A58C 802A0F7C 860C0000 */ lh $t4, ($s0)
|
|
/* 10A590 802A0F80 10550022 */ beq $v0, $s5, .L802A100C
|
|
/* 10A594 802A0F84 00000000 */ nop
|
|
/* 10A598 802A0F88 10560020 */ beq $v0, $s6, .L802A100C
|
|
/* 10A59C 802A0F8C 00000000 */ nop
|
|
/* 10A5A0 802A0F90 10000021 */ b .L802A1018
|
|
/* 10A5A4 802A0F94 26310001 */ addiu $s1, $s1, 1
|
|
/* 10A5A8 802A0F98 86080000 */ lh $t0, ($s0)
|
|
.L802A0F9C:
|
|
/* 10A5AC 802A0F9C 5248001E */ beql $s2, $t0, .L802A1018
|
|
/* 10A5B0 802A0FA0 26310001 */ addiu $s1, $s1, 1
|
|
/* 10A5B4 802A0FA4 0C0A80D4 */ jal func_802A0350
|
|
/* 10A5B8 802A0FA8 02002025 */ move $a0, $s0
|
|
/* 10A5BC 802A0FAC 1000001A */ b .L802A1018
|
|
/* 10A5C0 802A0FB0 26310001 */ addiu $s1, $s1, 1
|
|
/* 10A5C4 802A0FB4 86090000 */ lh $t1, ($s0)
|
|
.L802A0FB8:
|
|
/* 10A5C8 802A0FB8 16690005 */ bne $s3, $t1, .L802A0FD0
|
|
/* 10A5CC 802A0FBC 00000000 */ nop
|
|
/* 10A5D0 802A0FC0 860A0014 */ lh $t2, 0x14($s0)
|
|
/* 10A5D4 802A0FC4 84AB0014 */ lh $t3, 0x14($a1)
|
|
/* 10A5D8 802A0FC8 514B0013 */ beql $t2, $t3, .L802A1018
|
|
/* 10A5DC 802A0FCC 26310001 */ addiu $s1, $s1, 1
|
|
.L802A0FD0:
|
|
/* 10A5E0 802A0FD0 0C0A80D4 */ jal func_802A0350
|
|
/* 10A5E4 802A0FD4 02002025 */ move $a0, $s0
|
|
/* 10A5E8 802A0FD8 1000000F */ b .L802A1018
|
|
/* 10A5EC 802A0FDC 26310001 */ addiu $s1, $s1, 1
|
|
/* 10A5F0 802A0FE0 860C0000 */ lh $t4, ($s0)
|
|
.L802A0FE4:
|
|
/* 10A5F4 802A0FE4 168C0005 */ bne $s4, $t4, .L802A0FFC
|
|
/* 10A5F8 802A0FE8 00000000 */ nop
|
|
/* 10A5FC 802A0FEC 860D0014 */ lh $t5, 0x14($s0)
|
|
/* 10A600 802A0FF0 84AE0014 */ lh $t6, 0x14($a1)
|
|
/* 10A604 802A0FF4 51AE0008 */ beql $t5, $t6, .L802A1018
|
|
/* 10A608 802A0FF8 26310001 */ addiu $s1, $s1, 1
|
|
.L802A0FFC:
|
|
/* 10A60C 802A0FFC 0C0A80D4 */ jal func_802A0350
|
|
/* 10A610 802A1000 02002025 */ move $a0, $s0
|
|
/* 10A614 802A1004 10000004 */ b .L802A1018
|
|
/* 10A618 802A1008 26310001 */ addiu $s1, $s1, 1
|
|
.L802A100C:
|
|
/* 10A61C 802A100C 0C0A80D4 */ jal func_802A0350
|
|
/* 10A620 802A1010 02002025 */ move $a0, $s0
|
|
.L802A1014:
|
|
/* 10A624 802A1014 26310001 */ addiu $s1, $s1, 1
|
|
.L802A1018:
|
|
/* 10A628 802A1018 5637FFC4 */ bnel $s1, $s7, .L802A0F2C
|
|
/* 10A62C 802A101C 86020002 */ lh $v0, 2($s0)
|
|
.L802A1020:
|
|
/* 10A630 802A1020 8FA30044 */ lw $v1, 0x44($sp)
|
|
/* 10A634 802A1024 26100070 */ addiu $s0, $s0, 0x70
|
|
/* 10A638 802A1028 28610063 */ slti $at, $v1, 0x63
|
|
/* 10A63C 802A102C 5420FFA3 */ bnel $at, $zero, .L802A0EBC
|
|
/* 10A640 802A1030 86020002 */ lh $v0, 2($s0)
|
|
.L802A1034:
|
|
/* 10A644 802A1034 8FBF003C */ lw $ra, 0x3c($sp)
|
|
/* 10A648 802A1038 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 10A64C 802A103C 8FB1001C */ lw $s1, 0x1c($sp)
|
|
/* 10A650 802A1040 8FB20020 */ lw $s2, 0x20($sp)
|
|
/* 10A654 802A1044 8FB30024 */ lw $s3, 0x24($sp)
|
|
/* 10A658 802A1048 8FB40028 */ lw $s4, 0x28($sp)
|
|
/* 10A65C 802A104C 8FB5002C */ lw $s5, 0x2c($sp)
|
|
/* 10A660 802A1050 8FB60030 */ lw $s6, 0x30($sp)
|
|
/* 10A664 802A1054 8FB70034 */ lw $s7, 0x34($sp)
|
|
/* 10A668 802A1058 8FBE0038 */ lw $fp, 0x38($sp)
|
|
/* 10A66C 802A105C 03E00008 */ jr $ra
|
|
/* 10A670 802A1060 27BD0068 */ addiu $sp, $sp, 0x68
|