mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
98 lines
4.5 KiB
ArmAsm
98 lines
4.5 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_802457B8
|
|
/* 138AF8 802457B8 14800051 */ bnez $a0, .L80245900
|
|
/* 138AFC 802457BC 0000802D */ daddu $s0, $zero, $zero
|
|
/* 138B00 802457C0 3C1E8024 */ lui $fp, 0x8024
|
|
/* 138B04 802457C4 27DE3238 */ addiu $fp, $fp, 0x3238
|
|
/* 138B08 802457C8 3C178024 */ lui $s7, 0x8024
|
|
/* 138B0C 802457CC 26F73188 */ addiu $s7, $s7, 0x3188
|
|
/* 138B10 802457D0 3C168014 */ lui $s6, 0x8014
|
|
/* 138B14 802457D4 26D67474 */ addiu $s6, $s6, 0x7474
|
|
/* 138B18 802457D8 24150001 */ addiu $s5, $zero, 1
|
|
/* 138B1C 802457DC 3C118025 */ lui $s1, 0x8025
|
|
/* 138B20 802457E0 2631F1E0 */ addiu $s1, $s1, -0xe20
|
|
.L802457E4:
|
|
/* 138B24 802457E4 3C088025 */ lui $t0, 0x8025
|
|
/* 138B28 802457E8 2508F1D0 */ addiu $t0, $t0, -0xe30
|
|
/* 138B2C 802457EC 02081021 */ addu $v0, $s0, $t0
|
|
/* 138B30 802457F0 90420000 */ lbu $v0, ($v0)
|
|
/* 138B34 802457F4 3C088025 */ lui $t0, 0x8025
|
|
/* 138B38 802457F8 2508EF80 */ addiu $t0, $t0, -0x1080
|
|
/* 138B3C 802457FC 00021080 */ sll $v0, $v0, 2
|
|
/* 138B40 80245800 00481021 */ addu $v0, $v0, $t0
|
|
/* 138B44 80245804 8C420000 */ lw $v0, ($v0)
|
|
/* 138B48 80245808 90420000 */ lbu $v0, ($v0)
|
|
/* 138B4C 8024580C 50400017 */ beql $v0, $zero, .L8024586C
|
|
/* 138B50 80245810 26100001 */ addiu $s0, $s0, 1
|
|
/* 138B54 80245814 3C088016 */ lui $t0, 0x8016
|
|
/* 138B58 80245818 25089D50 */ addiu $t0, $t0, -0x62b0
|
|
/* 138B5C 8024581C 92220000 */ lbu $v0, ($s1)
|
|
/* 138B60 80245820 82630001 */ lb $v1, 1($s3)
|
|
/* 138B64 80245824 00021140 */ sll $v0, $v0, 5
|
|
/* 138B68 80245828 00481021 */ addu $v0, $v0, $t0
|
|
/* 138B6C 8024582C 8C420004 */ lw $v0, 4($v0)
|
|
/* 138B70 80245830 5203000E */ beql $s0, $v1, .L8024586C
|
|
/* 138B74 80245834 26100001 */ addiu $s0, $s0, 1
|
|
/* 138B78 80245838 105E0007 */ beq $v0, $fp, .L80245858
|
|
/* 138B7C 8024583C 00000000 */ nop
|
|
/* 138B80 80245840 10570005 */ beq $v0, $s7, .L80245858
|
|
/* 138B84 80245844 00000000 */ nop
|
|
/* 138B88 80245848 10560003 */ beq $v0, $s6, .L80245858
|
|
/* 138B8C 8024584C 00000000 */ nop
|
|
/* 138B90 80245850 54550006 */ bnel $v0, $s5, .L8024586C
|
|
/* 138B94 80245854 26100001 */ addiu $s0, $s0, 1
|
|
.L80245858:
|
|
/* 138B98 80245858 92240000 */ lbu $a0, ($s1)
|
|
/* 138B9C 8024585C 0C051F9F */ jal func_80147E7C
|
|
/* 138BA0 80245860 0240282D */ daddu $a1, $s2, $zero
|
|
/* 138BA4 80245864 24040001 */ addiu $a0, $zero, 1
|
|
/* 138BA8 80245868 26100001 */ addiu $s0, $s0, 1
|
|
.L8024586C:
|
|
/* 138BAC 8024586C 2A020006 */ slti $v0, $s0, 6
|
|
/* 138BB0 80245870 1440FFDC */ bnez $v0, .L802457E4
|
|
/* 138BB4 80245874 26310001 */ addiu $s1, $s1, 1
|
|
/* 138BB8 80245878 14800021 */ bnez $a0, .L80245900
|
|
/* 138BBC 8024587C 00000000 */ nop
|
|
/* 138BC0 80245880 82620001 */ lb $v0, 1($s3)
|
|
/* 138BC4 80245884 3C018025 */ lui $at, 0x8025
|
|
/* 138BC8 80245888 00220821 */ addu $at, $at, $v0
|
|
/* 138BCC 8024588C 9022F1E0 */ lbu $v0, -0xe20($at)
|
|
/* 138BD0 80245890 00021140 */ sll $v0, $v0, 5
|
|
/* 138BD4 80245894 3C038016 */ lui $v1, 0x8016
|
|
/* 138BD8 80245898 00621821 */ addu $v1, $v1, $v0
|
|
/* 138BDC 8024589C 8C639D54 */ lw $v1, -0x62ac($v1)
|
|
/* 138BE0 802458A0 3C028024 */ lui $v0, 0x8024
|
|
/* 138BE4 802458A4 244232E8 */ addiu $v0, $v0, 0x32e8
|
|
/* 138BE8 802458A8 10620007 */ beq $v1, $v0, .L802458C8
|
|
/* 138BEC 802458AC 00000000 */ nop
|
|
/* 138BF0 802458B0 3C028024 */ lui $v0, 0x8024
|
|
/* 138BF4 802458B4 24423388 */ addiu $v0, $v0, 0x3388
|
|
/* 138BF8 802458B8 10620003 */ beq $v1, $v0, .L802458C8
|
|
/* 138BFC 802458BC 24020002 */ addiu $v0, $zero, 2
|
|
/* 138C00 802458C0 1462000F */ bne $v1, $v0, .L80245900
|
|
/* 138C04 802458C4 00000000 */ nop
|
|
.L802458C8:
|
|
/* 138C08 802458C8 3C038025 */ lui $v1, 0x8025
|
|
/* 138C0C 802458CC 2463F310 */ addiu $v1, $v1, -0xcf0
|
|
/* 138C10 802458D0 8C620000 */ lw $v0, ($v1)
|
|
/* 138C14 802458D4 10400004 */ beqz $v0, .L802458E8
|
|
/* 138C18 802458D8 00000000 */ nop
|
|
/* 138C1C 802458DC 3C148014 */ lui $s4, 0x8014
|
|
/* 138C20 802458E0 26947474 */ addiu $s4, $s4, 0x7474
|
|
/* 138C24 802458E4 AC600000 */ sw $zero, ($v1)
|
|
.L802458E8:
|
|
/* 138C28 802458E8 82620001 */ lb $v0, 1($s3)
|
|
/* 138C2C 802458EC 3C048025 */ lui $a0, 0x8025
|
|
/* 138C30 802458F0 00822021 */ addu $a0, $a0, $v0
|
|
/* 138C34 802458F4 9084F1E0 */ lbu $a0, -0xe20($a0)
|
|
/* 138C38 802458F8 0C051F9F */ jal func_80147E7C
|
|
/* 138C3C 802458FC 0280282D */ daddu $a1, $s4, $zero
|
|
.L80245900:
|
|
/* 138C40 80245900 8FBF0034 */ lw $ra, 0x34($sp)
|
|
/* 138C44 80245904 8FBE0030 */ lw $fp, 0x30($sp)
|
|
/* 138C48 80245908 8FB7002C */ lw $s7, 0x2c($sp)
|
|
/* 138C4C 8024590C 8FB60028 */ lw $s6, 0x28($sp)
|