papermario/asm/nonmatchings/code_135EE0/func_8024D330.s
2020-08-12 22:37:16 -04:00

159 lines
7.3 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024D330
/* 140670 8024D330 26660001 */ addiu $a2, $s3, 1
/* 140674 8024D334 240700FF */ addiu $a3, $zero, 0xff
/* 140678 8024D338 AFA00010 */ sw $zero, 0x10($sp)
/* 14067C 8024D33C 0C04993B */ jal draw_string
/* 140680 8024D340 AFA00014 */ sw $zero, 0x14($sp)
.L8024D344:
/* 140684 8024D344 8FBF0028 */ lw $ra, 0x28($sp)
/* 140688 8024D348 8FB30024 */ lw $s3, 0x24($sp)
/* 14068C 8024D34C 8FB20020 */ lw $s2, 0x20($sp)
/* 140690 8024D350 8FB1001C */ lw $s1, 0x1c($sp)
/* 140694 8024D354 8FB00018 */ lw $s0, 0x18($sp)
/* 140698 8024D358 03E00008 */ jr $ra
/* 14069C 8024D35C 27BD0030 */ addiu $sp, $sp, 0x30
/* 1406A0 8024D360 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 1406A4 8024D364 AFB3001C */ sw $s3, 0x1c($sp)
/* 1406A8 8024D368 0080982D */ daddu $s3, $a0, $zero
/* 1406AC 8024D36C AFBF0020 */ sw $ra, 0x20($sp)
/* 1406B0 8024D370 AFB20018 */ sw $s2, 0x18($sp)
/* 1406B4 8024D374 AFB10014 */ sw $s1, 0x14($sp)
/* 1406B8 8024D378 0C039D59 */ jal get_player_data
/* 1406BC 8024D37C AFB00010 */ sw $s0, 0x10($sp)
/* 1406C0 8024D380 3C028027 */ lui $v0, 0x8027
/* 1406C4 8024D384 244206FC */ addiu $v0, $v0, 0x6fc
/* 1406C8 8024D388 0000802D */ daddu $s0, $zero, $zero
/* 1406CC 8024D38C 3C058027 */ lui $a1, 0x8027
/* 1406D0 8024D390 24A506E0 */ addiu $a1, $a1, 0x6e0
/* 1406D4 8024D394 0040202D */ daddu $a0, $v0, $zero
/* 1406D8 8024D398 AC400000 */ sw $zero, ($v0)
.L8024D39C:
/* 1406DC 8024D39C 8C820000 */ lw $v0, ($a0)
/* 1406E0 8024D3A0 00021880 */ sll $v1, $v0, 2
/* 1406E4 8024D3A4 00651821 */ addu $v1, $v1, $a1
/* 1406E8 8024D3A8 AC700000 */ sw $s0, ($v1)
/* 1406EC 8024D3AC 26100001 */ addiu $s0, $s0, 1
/* 1406F0 8024D3B0 24420001 */ addiu $v0, $v0, 1
/* 1406F4 8024D3B4 AC820000 */ sw $v0, ($a0)
/* 1406F8 8024D3B8 2A020007 */ slti $v0, $s0, 7
/* 1406FC 8024D3BC 1440FFF7 */ bnez $v0, .L8024D39C
/* 140700 8024D3C0 00000000 */ nop
/* 140704 8024D3C4 0000802D */ daddu $s0, $zero, $zero
/* 140708 8024D3C8 3C128027 */ lui $s2, 0x8027
/* 14070C 8024D3CC 265206C0 */ addiu $s2, $s2, 0x6c0
/* 140710 8024D3D0 3C118025 */ lui $s1, 0x8025
/* 140714 8024D3D4 2631F8C0 */ addiu $s1, $s1, -0x740
.L8024D3D8:
/* 140718 8024D3D8 0220282D */ daddu $a1, $s1, $zero
/* 14071C 8024D3DC 8E240000 */ lw $a0, ($s1)
/* 140720 8024D3E0 26310010 */ addiu $s1, $s1, 0x10
/* 140724 8024D3E4 0C0B783B */ jal func_802DE0EC
/* 140728 8024D3E8 26100001 */ addiu $s0, $s0, 1
/* 14072C 8024D3EC AE420000 */ sw $v0, ($s2)
/* 140730 8024D3F0 2A020007 */ slti $v0, $s0, 7
/* 140734 8024D3F4 1440FFF8 */ bnez $v0, .L8024D3D8
/* 140738 8024D3F8 26520004 */ addiu $s2, $s2, 4
/* 14073C 8024D3FC 24100001 */ addiu $s0, $zero, 1
/* 140740 8024D400 3C028025 */ lui $v0, 0x8025
/* 140744 8024D404 2442F9EC */ addiu $v0, $v0, -0x614
.L8024D408:
/* 140748 8024D408 AC530010 */ sw $s3, 0x10($v0)
/* 14074C 8024D40C 2610FFFF */ addiu $s0, $s0, -1
/* 140750 8024D410 0601FFFD */ bgez $s0, .L8024D408
/* 140754 8024D414 2442FFDC */ addiu $v0, $v0, -0x24
/* 140758 8024D418 3C048025 */ lui $a0, 0x8025
/* 14075C 8024D41C 2484F9C8 */ addiu $a0, $a0, -0x638
/* 140760 8024D420 0C051FCC */ jal func_80147F30
/* 140764 8024D424 24050002 */ addiu $a1, $zero, 2
/* 140768 8024D428 24020001 */ addiu $v0, $zero, 1
/* 14076C 8024D42C A2620000 */ sb $v0, ($s3)
/* 140770 8024D430 8FBF0020 */ lw $ra, 0x20($sp)
/* 140774 8024D434 8FB3001C */ lw $s3, 0x1c($sp)
/* 140778 8024D438 8FB20018 */ lw $s2, 0x18($sp)
/* 14077C 8024D43C 8FB10014 */ lw $s1, 0x14($sp)
/* 140780 8024D440 8FB00010 */ lw $s0, 0x10($sp)
/* 140784 8024D444 03E00008 */ jr $ra
/* 140788 8024D448 27BD0028 */ addiu $sp, $sp, 0x28
/* 14078C 8024D44C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 140790 8024D450 AFB00010 */ sw $s0, 0x10($sp)
/* 140794 8024D454 0080802D */ daddu $s0, $a0, $zero
/* 140798 8024D458 3C028027 */ lui $v0, 0x8027
/* 14079C 8024D45C 8C4200C0 */ lw $v0, 0xc0($v0)
/* 1407A0 8024D460 3C030004 */ lui $v1, 4
/* 1407A4 8024D464 AFBF0014 */ sw $ra, 0x14($sp)
/* 1407A8 8024D468 92070003 */ lbu $a3, 3($s0)
/* 1407AC 8024D46C 00431024 */ and $v0, $v0, $v1
/* 1407B0 8024D470 1040001C */ beqz $v0, .L8024D4E4
/* 1407B4 8024D474 00000000 */ nop
.L8024D478:
/* 1407B8 8024D478 92020001 */ lbu $v0, 1($s0)
/* 1407BC 8024D47C 2442FFFF */ addiu $v0, $v0, -1
/* 1407C0 8024D480 A2020001 */ sb $v0, 1($s0)
/* 1407C4 8024D484 00021600 */ sll $v0, $v0, 0x18
/* 1407C8 8024D488 00022E03 */ sra $a1, $v0, 0x18
/* 1407CC 8024D48C 04A20015 */ bltzl $a1, .L8024D4E4
/* 1407D0 8024D490 A2000001 */ sb $zero, 1($s0)
/* 1407D4 8024D494 82020004 */ lb $v0, 4($s0)
/* 1407D8 8024D498 82030005 */ lb $v1, 5($s0)
/* 1407DC 8024D49C 00430018 */ mult $v0, $v1
/* 1407E0 8024D4A0 00003012 */ mflo $a2
/* 1407E4 8024D4A4 82020006 */ lb $v0, 6($s0)
/* 1407E8 8024D4A8 00000000 */ nop
/* 1407EC 8024D4AC 00C20018 */ mult $a2, $v0
/* 1407F0 8024D4B0 00002012 */ mflo $a0
/* 1407F4 8024D4B4 82020002 */ lb $v0, 2($s0)
/* 1407F8 8024D4B8 00000000 */ nop
/* 1407FC 8024D4BC 00620018 */ mult $v1, $v0
/* 140800 8024D4C0 00001812 */ mflo $v1
/* 140804 8024D4C4 00831021 */ addu $v0, $a0, $v1
/* 140808 8024D4C8 00451021 */ addu $v0, $v0, $a1
/* 14080C 8024D4CC 8E030008 */ lw $v1, 8($s0)
/* 140810 8024D4D0 92040003 */ lbu $a0, 3($s0)
/* 140814 8024D4D4 00621821 */ addu $v1, $v1, $v0
/* 140818 8024D4D8 90620000 */ lbu $v0, ($v1)
/* 14081C 8024D4DC 1082FFE6 */ beq $a0, $v0, .L8024D478
/* 140820 8024D4E0 00000000 */ nop
.L8024D4E4:
/* 140824 8024D4E4 3C028027 */ lui $v0, 0x8027
/* 140828 8024D4E8 8C4200C0 */ lw $v0, 0xc0($v0)
/* 14082C 8024D4EC 3C030008 */ lui $v1, 8
/* 140830 8024D4F0 00431024 */ and $v0, $v0, $v1
/* 140834 8024D4F4 1040001E */ beqz $v0, .L8024D570
/* 140838 8024D4F8 00000000 */ nop
/* 14083C 8024D4FC 92060005 */ lbu $a2, 5($s0)
/* 140840 8024D500 82050005 */ lb $a1, 5($s0)
.L8024D504:
/* 140844 8024D504 92020001 */ lbu $v0, 1($s0)
/* 140848 8024D508 24420001 */ addiu $v0, $v0, 1
/* 14084C 8024D50C A2020001 */ sb $v0, 1($s0)
/* 140850 8024D510 00021600 */ sll $v0, $v0, 0x18
/* 140854 8024D514 00022603 */ sra $a0, $v0, 0x18
/* 140858 8024D518 0085102A */ slt $v0, $a0, $a1
/* 14085C 8024D51C 1040001F */ beqz $v0, .L8024D59C
/* 140860 8024D520 24C2FFFF */ addiu $v0, $a2, -1
/* 140864 8024D524 82020004 */ lb $v0, 4($s0)
/* 140868 8024D528 00450018 */ mult $v0, $a1
/* 14086C 8024D52C 00001812 */ mflo $v1
/* 140870 8024D530 82020006 */ lb $v0, 6($s0)
/* 140874 8024D534 00000000 */ nop
/* 140878 8024D538 00620018 */ mult $v1, $v0
/* 14087C 8024D53C 00001812 */ mflo $v1
/* 140880 8024D540 82020002 */ lb $v0, 2($s0)
/* 140884 8024D544 00000000 */ nop
/* 140888 8024D548 00A20018 */ mult $a1, $v0
/* 14088C 8024D54C 00004812 */ mflo $t1
/* 140890 8024D550 00691021 */ addu $v0, $v1, $t1
/* 140894 8024D554 00441021 */ addu $v0, $v0, $a0
/* 140898 8024D558 8E030008 */ lw $v1, 8($s0)
/* 14089C 8024D55C 92040003 */ lbu $a0, 3($s0)
/* 1408A0 8024D560 00621821 */ addu $v1, $v1, $v0
/* 1408A4 8024D564 90620000 */ lbu $v0, ($v1)
/* 1408A8 8024D568 1082FFE6 */ beq $a0, $v0, .L8024D504
/* 1408AC 8024D56C 00000000 */ nop