mirror of
https://github.com/pmret/papermario.git
synced 2024-11-10 04:52:34 +01:00
408 lines
19 KiB
ArmAsm
408 lines
19 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
|
||
|
glabel _Printf
|
||
|
/* 03FEA0 80064AA0 27BDFF50 */ addiu $sp, $sp, -0xb0
|
||
|
/* 03FEA4 80064AA4 AFB400A0 */ sw $s4, 0xa0($sp)
|
||
|
/* 03FEA8 80064AA8 0080A021 */ addu $s4, $a0, $zero
|
||
|
/* 03FEAC 80064AAC AFB3009C */ sw $s3, 0x9c($sp)
|
||
|
/* 03FEB0 80064AB0 00A09821 */ addu $s3, $a1, $zero
|
||
|
/* 03FEB4 80064AB4 00C02821 */ addu $a1, $a2, $zero
|
||
|
/* 03FEB8 80064AB8 AFB500A4 */ sw $s5, 0xa4($sp)
|
||
|
/* 03FEBC 80064ABC 3C15800A */ lui $s5, 0x800a
|
||
|
/* 03FEC0 80064AC0 26B59BF0 */ addiu $s5, $s5, -0x6410
|
||
|
/* 03FEC4 80064AC4 AFBF00A8 */ sw $ra, 0xa8($sp)
|
||
|
/* 03FEC8 80064AC8 AFB20098 */ sw $s2, 0x98($sp)
|
||
|
/* 03FECC 80064ACC AFB10094 */ sw $s1, 0x94($sp)
|
||
|
/* 03FED0 80064AD0 AFB00090 */ sw $s0, 0x90($sp)
|
||
|
/* 03FED4 80064AD4 AFA700BC */ sw $a3, 0xbc($sp)
|
||
|
/* 03FED8 80064AD8 AFA0003C */ sw $zero, 0x3c($sp)
|
||
|
.L80064ADC:
|
||
|
/* 03FEDC 80064ADC 80A20000 */ lb $v0, ($a1)
|
||
|
/* 03FEE0 80064AE0 90B10000 */ lbu $s1, ($a1)
|
||
|
/* 03FEE4 80064AE4 080192BD */ j .L80064AF4
|
||
|
/* 03FEE8 80064AE8 00A09021 */ addu $s2, $a1, $zero
|
||
|
|
||
|
.L80064AEC:
|
||
|
/* 03FEEC 80064AEC 82420000 */ lb $v0, ($s2)
|
||
|
/* 03FEF0 80064AF0 92510000 */ lbu $s1, ($s2)
|
||
|
.L80064AF4:
|
||
|
/* 03FEF4 80064AF4 0002182B */ sltu $v1, $zero, $v0
|
||
|
/* 03FEF8 80064AF8 38420025 */ xori $v0, $v0, 0x25
|
||
|
/* 03FEFC 80064AFC 0002102B */ sltu $v0, $zero, $v0
|
||
|
/* 03FF00 80064B00 00621824 */ and $v1, $v1, $v0
|
||
|
/* 03FF04 80064B04 5460FFF9 */ bnel $v1, $zero, .L80064AEC
|
||
|
/* 03FF08 80064B08 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 03FF0C 80064B0C 02458023 */ subu $s0, $s2, $a1
|
||
|
/* 03FF10 80064B10 1A000009 */ blez $s0, .L80064B38
|
||
|
/* 03FF14 80064B14 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 03FF18 80064B18 0280F809 */ jalr $s4
|
||
|
/* 03FF1C 80064B1C 02003021 */ addu $a2, $s0, $zero
|
||
|
/* 03FF20 80064B20 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 03FF24 80064B24 12600134 */ beqz $s3, .L80064FF8
|
||
|
/* 03FF28 80064B28 00000000 */ nop
|
||
|
/* 03FF2C 80064B2C 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 03FF30 80064B30 00501021 */ addu $v0, $v0, $s0
|
||
|
/* 03FF34 80064B34 AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064B38:
|
||
|
/* 03FF38 80064B38 1220012F */ beqz $s1, .L80064FF8
|
||
|
/* 03FF3C 80064B3C 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 03FF40 80064B40 AFA00040 */ sw $zero, 0x40($sp)
|
||
|
/* 03FF44 80064B44 3C10800A */ lui $s0, 0x800a
|
||
|
/* 03FF48 80064B48 26109BF8 */ addiu $s0, $s0, -0x6408
|
||
|
.L80064B4C:
|
||
|
/* 03FF4C 80064B4C 82450000 */ lb $a1, ($s2)
|
||
|
/* 03FF50 80064B50 0C019284 */ jal strchr
|
||
|
/* 03FF54 80064B54 02A02021 */ addu $a0, $s5, $zero
|
||
|
/* 03FF58 80064B58 10400009 */ beqz $v0, .L80064B80
|
||
|
/* 03FF5C 80064B5C 00551023 */ subu $v0, $v0, $s5
|
||
|
/* 03FF60 80064B60 00021080 */ sll $v0, $v0, 2
|
||
|
/* 03FF64 80064B64 00501021 */ addu $v0, $v0, $s0
|
||
|
/* 03FF68 80064B68 8FA30040 */ lw $v1, 0x40($sp)
|
||
|
/* 03FF6C 80064B6C 8C420000 */ lw $v0, ($v0)
|
||
|
/* 03FF70 80064B70 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 03FF74 80064B74 00621825 */ or $v1, $v1, $v0
|
||
|
/* 03FF78 80064B78 080192D3 */ j .L80064B4C
|
||
|
/* 03FF7C 80064B7C AFA30040 */ sw $v1, 0x40($sp)
|
||
|
|
||
|
.L80064B80:
|
||
|
/* 03FF80 80064B80 82430000 */ lb $v1, ($s2)
|
||
|
/* 03FF84 80064B84 2402002A */ addiu $v0, $zero, 0x2a
|
||
|
/* 03FF88 80064B88 14620011 */ bne $v1, $v0, .L80064BD0
|
||
|
/* 03FF8C 80064B8C 00602021 */ addu $a0, $v1, $zero
|
||
|
/* 03FF90 80064B90 8FA200BC */ lw $v0, 0xbc($sp)
|
||
|
/* 03FF94 80064B94 2403FFFC */ addiu $v1, $zero, -4
|
||
|
/* 03FF98 80064B98 24420003 */ addiu $v0, $v0, 3
|
||
|
/* 03FF9C 80064B9C 00431024 */ and $v0, $v0, $v1
|
||
|
/* 03FFA0 80064BA0 24430004 */ addiu $v1, $v0, 4
|
||
|
/* 03FFA4 80064BA4 AFA300BC */ sw $v1, 0xbc($sp)
|
||
|
/* 03FFA8 80064BA8 8C420000 */ lw $v0, ($v0)
|
||
|
/* 03FFAC 80064BAC 04410006 */ bgez $v0, .L80064BC8
|
||
|
/* 03FFB0 80064BB0 AFA20038 */ sw $v0, 0x38($sp)
|
||
|
/* 03FFB4 80064BB4 8FA30040 */ lw $v1, 0x40($sp)
|
||
|
/* 03FFB8 80064BB8 00021023 */ negu $v0, $v0
|
||
|
/* 03FFBC 80064BBC AFA20038 */ sw $v0, 0x38($sp)
|
||
|
/* 03FFC0 80064BC0 34630004 */ ori $v1, $v1, 4
|
||
|
/* 03FFC4 80064BC4 AFA30040 */ sw $v1, 0x40($sp)
|
||
|
.L80064BC8:
|
||
|
/* 03FFC8 80064BC8 0801930A */ j .L80064C28
|
||
|
/* 03FFCC 80064BCC 26520001 */ addiu $s2, $s2, 1
|
||
|
|
||
|
.L80064BD0:
|
||
|
/* 03FFD0 80064BD0 2482FFD0 */ addiu $v0, $a0, -0x30
|
||
|
/* 03FFD4 80064BD4 304200FF */ andi $v0, $v0, 0xff
|
||
|
/* 03FFD8 80064BD8 2C42000A */ sltiu $v0, $v0, 0xa
|
||
|
/* 03FFDC 80064BDC 10400012 */ beqz $v0, .L80064C28
|
||
|
/* 03FFE0 80064BE0 AFA00038 */ sw $zero, 0x38($sp)
|
||
|
.L80064BE4:
|
||
|
/* 03FFE4 80064BE4 8FA40038 */ lw $a0, 0x38($sp)
|
||
|
/* 03FFE8 80064BE8 288203E7 */ slti $v0, $a0, 0x3e7
|
||
|
/* 03FFEC 80064BEC 50400009 */ beql $v0, $zero, .L80064C14
|
||
|
/* 03FFF0 80064BF0 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 03FFF4 80064BF4 00041080 */ sll $v0, $a0, 2
|
||
|
/* 03FFF8 80064BF8 82430000 */ lb $v1, ($s2)
|
||
|
/* 03FFFC 80064BFC 00441021 */ addu $v0, $v0, $a0
|
||
|
/* 040000 80064C00 00021040 */ sll $v0, $v0, 1
|
||
|
/* 040004 80064C04 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 040008 80064C08 2442FFD0 */ addiu $v0, $v0, -0x30
|
||
|
/* 04000C 80064C0C AFA20038 */ sw $v0, 0x38($sp)
|
||
|
/* 040010 80064C10 26520001 */ addiu $s2, $s2, 1
|
||
|
.L80064C14:
|
||
|
/* 040014 80064C14 92420000 */ lbu $v0, ($s2)
|
||
|
/* 040018 80064C18 2442FFD0 */ addiu $v0, $v0, -0x30
|
||
|
/* 04001C 80064C1C 2C42000A */ sltiu $v0, $v0, 0xa
|
||
|
/* 040020 80064C20 1440FFF0 */ bnez $v0, .L80064BE4
|
||
|
/* 040024 80064C24 00000000 */ nop
|
||
|
.L80064C28:
|
||
|
/* 040028 80064C28 82430000 */ lb $v1, ($s2)
|
||
|
/* 04002C 80064C2C 2402002E */ addiu $v0, $zero, 0x2e
|
||
|
/* 040030 80064C30 10620003 */ beq $v1, $v0, .L80064C40
|
||
|
/* 040034 80064C34 2402FFFF */ addiu $v0, $zero, -1
|
||
|
/* 040038 80064C38 08019335 */ j .L80064CD4
|
||
|
/* 04003C 80064C3C AFA20034 */ sw $v0, 0x34($sp)
|
||
|
|
||
|
.L80064C40:
|
||
|
/* 040040 80064C40 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 040044 80064C44 82430000 */ lb $v1, ($s2)
|
||
|
/* 040048 80064C48 2402002A */ addiu $v0, $zero, 0x2a
|
||
|
/* 04004C 80064C4C 1462000B */ bne $v1, $v0, .L80064C7C
|
||
|
/* 040050 80064C50 00602021 */ addu $a0, $v1, $zero
|
||
|
/* 040054 80064C54 8FA300BC */ lw $v1, 0xbc($sp)
|
||
|
/* 040058 80064C58 2402FFFC */ addiu $v0, $zero, -4
|
||
|
/* 04005C 80064C5C 24630003 */ addiu $v1, $v1, 3
|
||
|
/* 040060 80064C60 00621824 */ and $v1, $v1, $v0
|
||
|
/* 040064 80064C64 24620004 */ addiu $v0, $v1, 4
|
||
|
/* 040068 80064C68 AFA200BC */ sw $v0, 0xbc($sp)
|
||
|
/* 04006C 80064C6C 8C620000 */ lw $v0, ($v1)
|
||
|
/* 040070 80064C70 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 040074 80064C74 08019335 */ j .L80064CD4
|
||
|
/* 040078 80064C78 AFA20034 */ sw $v0, 0x34($sp)
|
||
|
|
||
|
.L80064C7C:
|
||
|
/* 04007C 80064C7C 2482FFD0 */ addiu $v0, $a0, -0x30
|
||
|
/* 040080 80064C80 304200FF */ andi $v0, $v0, 0xff
|
||
|
/* 040084 80064C84 2C42000A */ sltiu $v0, $v0, 0xa
|
||
|
/* 040088 80064C88 10400012 */ beqz $v0, .L80064CD4
|
||
|
/* 04008C 80064C8C AFA00034 */ sw $zero, 0x34($sp)
|
||
|
.L80064C90:
|
||
|
/* 040090 80064C90 8FA40034 */ lw $a0, 0x34($sp)
|
||
|
/* 040094 80064C94 288203E7 */ slti $v0, $a0, 0x3e7
|
||
|
/* 040098 80064C98 50400009 */ beql $v0, $zero, .L80064CC0
|
||
|
/* 04009C 80064C9C 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 0400A0 80064CA0 00041080 */ sll $v0, $a0, 2
|
||
|
/* 0400A4 80064CA4 82430000 */ lb $v1, ($s2)
|
||
|
/* 0400A8 80064CA8 00441021 */ addu $v0, $v0, $a0
|
||
|
/* 0400AC 80064CAC 00021040 */ sll $v0, $v0, 1
|
||
|
/* 0400B0 80064CB0 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 0400B4 80064CB4 2442FFD0 */ addiu $v0, $v0, -0x30
|
||
|
/* 0400B8 80064CB8 AFA20034 */ sw $v0, 0x34($sp)
|
||
|
/* 0400BC 80064CBC 26520001 */ addiu $s2, $s2, 1
|
||
|
.L80064CC0:
|
||
|
/* 0400C0 80064CC0 92420000 */ lbu $v0, ($s2)
|
||
|
/* 0400C4 80064CC4 2442FFD0 */ addiu $v0, $v0, -0x30
|
||
|
/* 0400C8 80064CC8 2C42000A */ sltiu $v0, $v0, 0xa
|
||
|
/* 0400CC 80064CCC 1440FFF0 */ bnez $v0, .L80064C90
|
||
|
/* 0400D0 80064CD0 00000000 */ nop
|
||
|
.L80064CD4:
|
||
|
/* 0400D4 80064CD4 82450000 */ lb $a1, ($s2)
|
||
|
/* 0400D8 80064CD8 3C04800A */ lui $a0, 0x800a
|
||
|
/* 0400DC 80064CDC 24849C10 */ addiu $a0, $a0, -0x63f0
|
||
|
/* 0400E0 80064CE0 0C019284 */ jal strchr
|
||
|
/* 0400E4 80064CE4 00A08021 */ addu $s0, $a1, $zero
|
||
|
/* 0400E8 80064CE8 10400003 */ beqz $v0, .L80064CF8
|
||
|
/* 0400EC 80064CEC 02001021 */ addu $v0, $s0, $zero
|
||
|
/* 0400F0 80064CF0 0801933F */ j .L80064CFC
|
||
|
/* 0400F4 80064CF4 26520001 */ addiu $s2, $s2, 1
|
||
|
|
||
|
.L80064CF8:
|
||
|
/* 0400F8 80064CF8 00001021 */ addu $v0, $zero, $zero
|
||
|
.L80064CFC:
|
||
|
/* 0400FC 80064CFC A3A20044 */ sb $v0, 0x44($sp)
|
||
|
/* 040100 80064D00 00021600 */ sll $v0, $v0, 0x18
|
||
|
/* 040104 80064D04 00021E03 */ sra $v1, $v0, 0x18
|
||
|
/* 040108 80064D08 2402006C */ addiu $v0, $zero, 0x6c
|
||
|
/* 04010C 80064D0C 14620007 */ bne $v1, $v0, .L80064D2C
|
||
|
/* 040110 80064D10 27A40010 */ addiu $a0, $sp, 0x10
|
||
|
/* 040114 80064D14 82420000 */ lb $v0, ($s2)
|
||
|
/* 040118 80064D18 14430004 */ bne $v0, $v1, .L80064D2C
|
||
|
/* 04011C 80064D1C 2402004C */ addiu $v0, $zero, 0x4c
|
||
|
/* 040120 80064D20 A3A20044 */ sb $v0, 0x44($sp)
|
||
|
/* 040124 80064D24 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 040128 80064D28 27A40010 */ addiu $a0, $sp, 0x10
|
||
|
.L80064D2C:
|
||
|
/* 04012C 80064D2C 82460000 */ lb $a2, ($s2)
|
||
|
/* 040130 80064D30 27A500BC */ addiu $a1, $sp, 0xbc
|
||
|
/* 040134 80064D34 0C019408 */ jal _Putfld
|
||
|
/* 040138 80064D38 27A70048 */ addiu $a3, $sp, 0x48
|
||
|
/* 04013C 80064D3C 8FA3001C */ lw $v1, 0x1c($sp)
|
||
|
/* 040140 80064D40 8FA20020 */ lw $v0, 0x20($sp)
|
||
|
/* 040144 80064D44 00621821 */ addu $v1, $v1, $v0
|
||
|
/* 040148 80064D48 8FA20024 */ lw $v0, 0x24($sp)
|
||
|
/* 04014C 80064D4C 8FA40028 */ lw $a0, 0x28($sp)
|
||
|
/* 040150 80064D50 8FA5002C */ lw $a1, 0x2c($sp)
|
||
|
/* 040154 80064D54 00621821 */ addu $v1, $v1, $v0
|
||
|
/* 040158 80064D58 00641821 */ addu $v1, $v1, $a0
|
||
|
/* 04015C 80064D5C 00651821 */ addu $v1, $v1, $a1
|
||
|
/* 040160 80064D60 8FA40030 */ lw $a0, 0x30($sp)
|
||
|
/* 040164 80064D64 8FA50038 */ lw $a1, 0x38($sp)
|
||
|
/* 040168 80064D68 8FA20040 */ lw $v0, 0x40($sp)
|
||
|
/* 04016C 80064D6C 00641821 */ addu $v1, $v1, $a0
|
||
|
/* 040170 80064D70 00A32823 */ subu $a1, $a1, $v1
|
||
|
/* 040174 80064D74 30420004 */ andi $v0, $v0, 4
|
||
|
/* 040178 80064D78 14400017 */ bnez $v0, .L80064DD8
|
||
|
/* 04017C 80064D7C AFA50038 */ sw $a1, 0x38($sp)
|
||
|
/* 040180 80064D80 18A00015 */ blez $a1, .L80064DD8
|
||
|
/* 040184 80064D84 00000000 */ nop
|
||
|
/* 040188 80064D88 00A08821 */ addu $s1, $a1, $zero
|
||
|
/* 04018C 80064D8C 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064D90:
|
||
|
/* 040190 80064D90 10400002 */ beqz $v0, .L80064D9C
|
||
|
/* 040194 80064D94 24100020 */ addiu $s0, $zero, 0x20
|
||
|
/* 040198 80064D98 02208021 */ addu $s0, $s1, $zero
|
||
|
.L80064D9C:
|
||
|
/* 04019C 80064D9C 5A00000C */ blezl $s0, .L80064DD0
|
||
|
/* 0401A0 80064DA0 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 0401A4 80064DA4 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 0401A8 80064DA8 3C058009 */ lui $a1, 0x8009
|
||
|
/* 0401AC 80064DAC 24A545E0 */ addiu $a1, $a1, 0x45e0
|
||
|
/* 0401B0 80064DB0 0280F809 */ jalr $s4
|
||
|
/* 0401B4 80064DB4 02003021 */ addu $a2, $s0, $zero
|
||
|
/* 0401B8 80064DB8 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 0401BC 80064DBC 1260008E */ beqz $s3, .L80064FF8
|
||
|
/* 0401C0 80064DC0 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 0401C4 80064DC4 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 0401C8 80064DC8 00501021 */ addu $v0, $v0, $s0
|
||
|
/* 0401CC 80064DCC AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064DD0:
|
||
|
/* 0401D0 80064DD0 1E20FFEF */ bgtz $s1, .L80064D90
|
||
|
/* 0401D4 80064DD4 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064DD8:
|
||
|
/* 0401D8 80064DD8 8FA6001C */ lw $a2, 0x1c($sp)
|
||
|
/* 0401DC 80064DDC 18C0000A */ blez $a2, .L80064E08
|
||
|
/* 0401E0 80064DE0 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 0401E4 80064DE4 0280F809 */ jalr $s4
|
||
|
/* 0401E8 80064DE8 27A50048 */ addiu $a1, $sp, 0x48
|
||
|
/* 0401EC 80064DEC 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 0401F0 80064DF0 12600081 */ beqz $s3, .L80064FF8
|
||
|
/* 0401F4 80064DF4 00000000 */ nop
|
||
|
/* 0401F8 80064DF8 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 0401FC 80064DFC 8FA3001C */ lw $v1, 0x1c($sp)
|
||
|
/* 040200 80064E00 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 040204 80064E04 AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064E08:
|
||
|
/* 040208 80064E08 8FA20020 */ lw $v0, 0x20($sp)
|
||
|
/* 04020C 80064E0C 18400015 */ blez $v0, .L80064E64
|
||
|
/* 040210 80064E10 00000000 */ nop
|
||
|
/* 040214 80064E14 00408821 */ addu $s1, $v0, $zero
|
||
|
/* 040218 80064E18 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064E1C:
|
||
|
/* 04021C 80064E1C 10400002 */ beqz $v0, .L80064E28
|
||
|
/* 040220 80064E20 24100020 */ addiu $s0, $zero, 0x20
|
||
|
/* 040224 80064E24 02208021 */ addu $s0, $s1, $zero
|
||
|
.L80064E28:
|
||
|
/* 040228 80064E28 5A00000C */ blezl $s0, .L80064E5C
|
||
|
/* 04022C 80064E2C 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 040230 80064E30 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 040234 80064E34 3C058009 */ lui $a1, 0x8009
|
||
|
/* 040238 80064E38 24A54604 */ addiu $a1, $a1, 0x4604
|
||
|
/* 04023C 80064E3C 0280F809 */ jalr $s4
|
||
|
/* 040240 80064E40 02003021 */ addu $a2, $s0, $zero
|
||
|
/* 040244 80064E44 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 040248 80064E48 1260006B */ beqz $s3, .L80064FF8
|
||
|
/* 04024C 80064E4C 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 040250 80064E50 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 040254 80064E54 00501021 */ addu $v0, $v0, $s0
|
||
|
/* 040258 80064E58 AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064E5C:
|
||
|
/* 04025C 80064E5C 1E20FFEF */ bgtz $s1, .L80064E1C
|
||
|
/* 040260 80064E60 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064E64:
|
||
|
/* 040264 80064E64 8FA60024 */ lw $a2, 0x24($sp)
|
||
|
/* 040268 80064E68 18C0000B */ blez $a2, .L80064E98
|
||
|
/* 04026C 80064E6C 00000000 */ nop
|
||
|
/* 040270 80064E70 8FA50018 */ lw $a1, 0x18($sp)
|
||
|
/* 040274 80064E74 0280F809 */ jalr $s4
|
||
|
/* 040278 80064E78 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 04027C 80064E7C 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 040280 80064E80 1260005D */ beqz $s3, .L80064FF8
|
||
|
/* 040284 80064E84 00000000 */ nop
|
||
|
/* 040288 80064E88 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 04028C 80064E8C 8FA30024 */ lw $v1, 0x24($sp)
|
||
|
/* 040290 80064E90 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 040294 80064E94 AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064E98:
|
||
|
/* 040298 80064E98 8FA20028 */ lw $v0, 0x28($sp)
|
||
|
/* 04029C 80064E9C 18400015 */ blez $v0, .L80064EF4
|
||
|
/* 0402A0 80064EA0 00000000 */ nop
|
||
|
/* 0402A4 80064EA4 00408821 */ addu $s1, $v0, $zero
|
||
|
/* 0402A8 80064EA8 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064EAC:
|
||
|
/* 0402AC 80064EAC 10400002 */ beqz $v0, .L80064EB8
|
||
|
/* 0402B0 80064EB0 24100020 */ addiu $s0, $zero, 0x20
|
||
|
/* 0402B4 80064EB4 02208021 */ addu $s0, $s1, $zero
|
||
|
.L80064EB8:
|
||
|
/* 0402B8 80064EB8 5A00000C */ blezl $s0, .L80064EEC
|
||
|
/* 0402BC 80064EBC 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 0402C0 80064EC0 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 0402C4 80064EC4 3C058009 */ lui $a1, 0x8009
|
||
|
/* 0402C8 80064EC8 24A54604 */ addiu $a1, $a1, 0x4604
|
||
|
/* 0402CC 80064ECC 0280F809 */ jalr $s4
|
||
|
/* 0402D0 80064ED0 02003021 */ addu $a2, $s0, $zero
|
||
|
/* 0402D4 80064ED4 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 0402D8 80064ED8 12600047 */ beqz $s3, .L80064FF8
|
||
|
/* 0402DC 80064EDC 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 0402E0 80064EE0 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 0402E4 80064EE4 00501021 */ addu $v0, $v0, $s0
|
||
|
/* 0402E8 80064EE8 AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064EEC:
|
||
|
/* 0402EC 80064EEC 1E20FFEF */ bgtz $s1, .L80064EAC
|
||
|
/* 0402F0 80064EF0 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064EF4:
|
||
|
/* 0402F4 80064EF4 8FA6002C */ lw $a2, 0x2c($sp)
|
||
|
/* 0402F8 80064EF8 18C0000C */ blez $a2, .L80064F2C
|
||
|
/* 0402FC 80064EFC 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 040300 80064F00 8FA20018 */ lw $v0, 0x18($sp)
|
||
|
/* 040304 80064F04 8FA50024 */ lw $a1, 0x24($sp)
|
||
|
/* 040308 80064F08 0280F809 */ jalr $s4
|
||
|
/* 04030C 80064F0C 00452821 */ addu $a1, $v0, $a1
|
||
|
/* 040310 80064F10 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 040314 80064F14 12600038 */ beqz $s3, .L80064FF8
|
||
|
/* 040318 80064F18 00000000 */ nop
|
||
|
/* 04031C 80064F1C 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 040320 80064F20 8FA3002C */ lw $v1, 0x2c($sp)
|
||
|
/* 040324 80064F24 00431021 */ addu $v0, $v0, $v1
|
||
|
/* 040328 80064F28 AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064F2C:
|
||
|
/* 04032C 80064F2C 8FA20030 */ lw $v0, 0x30($sp)
|
||
|
/* 040330 80064F30 18400015 */ blez $v0, .L80064F88
|
||
|
/* 040334 80064F34 00000000 */ nop
|
||
|
/* 040338 80064F38 00408821 */ addu $s1, $v0, $zero
|
||
|
/* 04033C 80064F3C 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064F40:
|
||
|
/* 040340 80064F40 10400002 */ beqz $v0, .L80064F4C
|
||
|
/* 040344 80064F44 24100020 */ addiu $s0, $zero, 0x20
|
||
|
/* 040348 80064F48 02208021 */ addu $s0, $s1, $zero
|
||
|
.L80064F4C:
|
||
|
/* 04034C 80064F4C 5A00000C */ blezl $s0, .L80064F80
|
||
|
/* 040350 80064F50 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 040354 80064F54 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 040358 80064F58 3C058009 */ lui $a1, 0x8009
|
||
|
/* 04035C 80064F5C 24A54604 */ addiu $a1, $a1, 0x4604
|
||
|
/* 040360 80064F60 0280F809 */ jalr $s4
|
||
|
/* 040364 80064F64 02003021 */ addu $a2, $s0, $zero
|
||
|
/* 040368 80064F68 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 04036C 80064F6C 12600022 */ beqz $s3, .L80064FF8
|
||
|
/* 040370 80064F70 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 040374 80064F74 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 040378 80064F78 00501021 */ addu $v0, $v0, $s0
|
||
|
/* 04037C 80064F7C AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064F80:
|
||
|
/* 040380 80064F80 1E20FFEF */ bgtz $s1, .L80064F40
|
||
|
/* 040384 80064F84 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064F88:
|
||
|
/* 040388 80064F88 8FA20040 */ lw $v0, 0x40($sp)
|
||
|
/* 04038C 80064F8C 30420004 */ andi $v0, $v0, 4
|
||
|
/* 040390 80064F90 1040FED2 */ beqz $v0, .L80064ADC
|
||
|
/* 040394 80064F94 26450001 */ addiu $a1, $s2, 1
|
||
|
/* 040398 80064F98 8FA20038 */ lw $v0, 0x38($sp)
|
||
|
/* 04039C 80064F9C 1840FECF */ blez $v0, .L80064ADC
|
||
|
/* 0403A0 80064FA0 00408821 */ addu $s1, $v0, $zero
|
||
|
/* 0403A4 80064FA4 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
.L80064FA8:
|
||
|
/* 0403A8 80064FA8 10400002 */ beqz $v0, .L80064FB4
|
||
|
/* 0403AC 80064FAC 24100020 */ addiu $s0, $zero, 0x20
|
||
|
/* 0403B0 80064FB0 02208021 */ addu $s0, $s1, $zero
|
||
|
.L80064FB4:
|
||
|
/* 0403B4 80064FB4 5A00000C */ blezl $s0, .L80064FE8
|
||
|
/* 0403B8 80064FB8 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 0403BC 80064FBC 02602021 */ addu $a0, $s3, $zero
|
||
|
/* 0403C0 80064FC0 3C058009 */ lui $a1, 0x8009
|
||
|
/* 0403C4 80064FC4 24A545E0 */ addiu $a1, $a1, 0x45e0
|
||
|
/* 0403C8 80064FC8 0280F809 */ jalr $s4
|
||
|
/* 0403CC 80064FCC 02003021 */ addu $a2, $s0, $zero
|
||
|
/* 0403D0 80064FD0 00409821 */ addu $s3, $v0, $zero
|
||
|
/* 0403D4 80064FD4 12600008 */ beqz $s3, .L80064FF8
|
||
|
/* 0403D8 80064FD8 02308823 */ subu $s1, $s1, $s0
|
||
|
/* 0403DC 80064FDC 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 0403E0 80064FE0 00501021 */ addu $v0, $v0, $s0
|
||
|
/* 0403E4 80064FE4 AFA2003C */ sw $v0, 0x3c($sp)
|
||
|
.L80064FE8:
|
||
|
/* 0403E8 80064FE8 1E20FFEF */ bgtz $s1, .L80064FA8
|
||
|
/* 0403EC 80064FEC 2E220021 */ sltiu $v0, $s1, 0x21
|
||
|
/* 0403F0 80064FF0 080192B7 */ j .L80064ADC
|
||
|
/* 0403F4 80064FF4 26450001 */ addiu $a1, $s2, 1
|
||
|
|
||
|
.L80064FF8:
|
||
|
/* 0403F8 80064FF8 8FA2003C */ lw $v0, 0x3c($sp)
|
||
|
/* 0403FC 80064FFC 8FBF00A8 */ lw $ra, 0xa8($sp)
|
||
|
/* 040400 80065000 8FB500A4 */ lw $s5, 0xa4($sp)
|
||
|
/* 040404 80065004 8FB400A0 */ lw $s4, 0xa0($sp)
|
||
|
/* 040408 80065008 8FB3009C */ lw $s3, 0x9c($sp)
|
||
|
/* 04040C 8006500C 8FB20098 */ lw $s2, 0x98($sp)
|
||
|
/* 040410 80065010 8FB10094 */ lw $s1, 0x94($sp)
|
||
|
/* 040414 80065014 8FB00090 */ lw $s0, 0x90($sp)
|
||
|
/* 040418 80065018 03E00008 */ jr $ra
|
||
|
/* 04041C 8006501C 27BD00B0 */ addiu $sp, $sp, 0xb0
|
||
|
|