papermario/asm/nonmatchings/os/code_3fa50_len_f60/_Printf.s

399 lines
20 KiB
ArmAsm
Raw Normal View History

2020-09-24 05:16:13 +02:00
.set noat # allow manual use of $at
2020-08-04 08:49:11 +02:00
.set noreorder # don't insert nops after branches
glabel _Printf
2020-09-24 05:16:13 +02:00
/* 3FEA0 80064AA0 27BDFF50 */ addiu $sp, $sp, -0xb0
/* 3FEA4 80064AA4 AFB400A0 */ sw $s4, 0xa0($sp)
/* 3FEA8 80064AA8 0080A021 */ addu $s4, $a0, $zero
/* 3FEAC 80064AAC AFB3009C */ sw $s3, 0x9c($sp)
/* 3FEB0 80064AB0 00A09821 */ addu $s3, $a1, $zero
/* 3FEB4 80064AB4 00C02821 */ addu $a1, $a2, $zero
/* 3FEB8 80064AB8 AFB500A4 */ sw $s5, 0xa4($sp)
2020-11-29 08:13:07 +01:00
/* 3FEBC 80064ABC 3C15800A */ lui $s5, %hi(D_80099BF0)
/* 3FEC0 80064AC0 26B59BF0 */ addiu $s5, $s5, %lo(D_80099BF0)
2020-09-24 05:16:13 +02:00
/* 3FEC4 80064AC4 AFBF00A8 */ sw $ra, 0xa8($sp)
/* 3FEC8 80064AC8 AFB20098 */ sw $s2, 0x98($sp)
/* 3FECC 80064ACC AFB10094 */ sw $s1, 0x94($sp)
/* 3FED0 80064AD0 AFB00090 */ sw $s0, 0x90($sp)
/* 3FED4 80064AD4 AFA700BC */ sw $a3, 0xbc($sp)
/* 3FED8 80064AD8 AFA0003C */ sw $zero, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064ADC:
2020-09-24 05:16:13 +02:00
/* 3FEDC 80064ADC 80A20000 */ lb $v0, ($a1)
/* 3FEE0 80064AE0 90B10000 */ lbu $s1, ($a1)
/* 3FEE4 80064AE4 080192BD */ j .L80064AF4
/* 3FEE8 80064AE8 00A09021 */ addu $s2, $a1, $zero
2020-08-04 08:49:11 +02:00
.L80064AEC:
2020-09-24 05:16:13 +02:00
/* 3FEEC 80064AEC 82420000 */ lb $v0, ($s2)
/* 3FEF0 80064AF0 92510000 */ lbu $s1, ($s2)
2020-08-04 08:49:11 +02:00
.L80064AF4:
2020-09-24 05:16:13 +02:00
/* 3FEF4 80064AF4 0002182B */ sltu $v1, $zero, $v0
/* 3FEF8 80064AF8 38420025 */ xori $v0, $v0, 0x25
/* 3FEFC 80064AFC 0002102B */ sltu $v0, $zero, $v0
/* 3FF00 80064B00 00621824 */ and $v1, $v1, $v0
/* 3FF04 80064B04 5460FFF9 */ bnel $v1, $zero, .L80064AEC
/* 3FF08 80064B08 26520001 */ addiu $s2, $s2, 1
/* 3FF0C 80064B0C 02458023 */ subu $s0, $s2, $a1
/* 3FF10 80064B10 1A000009 */ blez $s0, .L80064B38
/* 3FF14 80064B14 02602021 */ addu $a0, $s3, $zero
/* 3FF18 80064B18 0280F809 */ jalr $s4
/* 3FF1C 80064B1C 02003021 */ addu $a2, $s0, $zero
/* 3FF20 80064B20 00409821 */ addu $s3, $v0, $zero
/* 3FF24 80064B24 12600134 */ beqz $s3, .L80064FF8
/* 3FF28 80064B28 00000000 */ nop
/* 3FF2C 80064B2C 8FA2003C */ lw $v0, 0x3c($sp)
/* 3FF30 80064B30 00501021 */ addu $v0, $v0, $s0
/* 3FF34 80064B34 AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064B38:
2020-09-24 05:16:13 +02:00
/* 3FF38 80064B38 1220012F */ beqz $s1, .L80064FF8
/* 3FF3C 80064B3C 26520001 */ addiu $s2, $s2, 1
/* 3FF40 80064B40 AFA00040 */ sw $zero, 0x40($sp)
2020-11-29 08:13:07 +01:00
/* 3FF44 80064B44 3C10800A */ lui $s0, %hi(D_80099BF8)
/* 3FF48 80064B48 26109BF8 */ addiu $s0, $s0, %lo(D_80099BF8)
2020-08-04 08:49:11 +02:00
.L80064B4C:
2020-09-24 05:16:13 +02:00
/* 3FF4C 80064B4C 82450000 */ lb $a1, ($s2)
/* 3FF50 80064B50 0C019284 */ jal strchr
/* 3FF54 80064B54 02A02021 */ addu $a0, $s5, $zero
/* 3FF58 80064B58 10400009 */ beqz $v0, .L80064B80
/* 3FF5C 80064B5C 00551023 */ subu $v0, $v0, $s5
/* 3FF60 80064B60 00021080 */ sll $v0, $v0, 2
/* 3FF64 80064B64 00501021 */ addu $v0, $v0, $s0
/* 3FF68 80064B68 8FA30040 */ lw $v1, 0x40($sp)
/* 3FF6C 80064B6C 8C420000 */ lw $v0, ($v0)
/* 3FF70 80064B70 26520001 */ addiu $s2, $s2, 1
/* 3FF74 80064B74 00621825 */ or $v1, $v1, $v0
/* 3FF78 80064B78 080192D3 */ j .L80064B4C
/* 3FF7C 80064B7C AFA30040 */ sw $v1, 0x40($sp)
2020-08-04 08:49:11 +02:00
.L80064B80:
2020-09-24 05:16:13 +02:00
/* 3FF80 80064B80 82430000 */ lb $v1, ($s2)
/* 3FF84 80064B84 2402002A */ addiu $v0, $zero, 0x2a
/* 3FF88 80064B88 14620011 */ bne $v1, $v0, .L80064BD0
/* 3FF8C 80064B8C 00602021 */ addu $a0, $v1, $zero
/* 3FF90 80064B90 8FA200BC */ lw $v0, 0xbc($sp)
/* 3FF94 80064B94 2403FFFC */ addiu $v1, $zero, -4
/* 3FF98 80064B98 24420003 */ addiu $v0, $v0, 3
/* 3FF9C 80064B9C 00431024 */ and $v0, $v0, $v1
/* 3FFA0 80064BA0 24430004 */ addiu $v1, $v0, 4
/* 3FFA4 80064BA4 AFA300BC */ sw $v1, 0xbc($sp)
/* 3FFA8 80064BA8 8C420000 */ lw $v0, ($v0)
/* 3FFAC 80064BAC 04410006 */ bgez $v0, .L80064BC8
/* 3FFB0 80064BB0 AFA20038 */ sw $v0, 0x38($sp)
/* 3FFB4 80064BB4 8FA30040 */ lw $v1, 0x40($sp)
/* 3FFB8 80064BB8 00021023 */ negu $v0, $v0
/* 3FFBC 80064BBC AFA20038 */ sw $v0, 0x38($sp)
/* 3FFC0 80064BC0 34630004 */ ori $v1, $v1, 4
/* 3FFC4 80064BC4 AFA30040 */ sw $v1, 0x40($sp)
2020-08-04 08:49:11 +02:00
.L80064BC8:
2020-09-24 05:16:13 +02:00
/* 3FFC8 80064BC8 0801930A */ j .L80064C28
/* 3FFCC 80064BCC 26520001 */ addiu $s2, $s2, 1
2020-08-04 08:49:11 +02:00
.L80064BD0:
2020-09-24 05:16:13 +02:00
/* 3FFD0 80064BD0 2482FFD0 */ addiu $v0, $a0, -0x30
/* 3FFD4 80064BD4 304200FF */ andi $v0, $v0, 0xff
/* 3FFD8 80064BD8 2C42000A */ sltiu $v0, $v0, 0xa
/* 3FFDC 80064BDC 10400012 */ beqz $v0, .L80064C28
/* 3FFE0 80064BE0 AFA00038 */ sw $zero, 0x38($sp)
2020-08-04 08:49:11 +02:00
.L80064BE4:
2020-09-24 05:16:13 +02:00
/* 3FFE4 80064BE4 8FA40038 */ lw $a0, 0x38($sp)
/* 3FFE8 80064BE8 288203E7 */ slti $v0, $a0, 0x3e7
/* 3FFEC 80064BEC 50400009 */ beql $v0, $zero, .L80064C14
/* 3FFF0 80064BF0 26520001 */ addiu $s2, $s2, 1
/* 3FFF4 80064BF4 00041080 */ sll $v0, $a0, 2
/* 3FFF8 80064BF8 82430000 */ lb $v1, ($s2)
/* 3FFFC 80064BFC 00441021 */ addu $v0, $v0, $a0
/* 40000 80064C00 00021040 */ sll $v0, $v0, 1
/* 40004 80064C04 00431021 */ addu $v0, $v0, $v1
/* 40008 80064C08 2442FFD0 */ addiu $v0, $v0, -0x30
/* 4000C 80064C0C AFA20038 */ sw $v0, 0x38($sp)
/* 40010 80064C10 26520001 */ addiu $s2, $s2, 1
2020-08-04 08:49:11 +02:00
.L80064C14:
2020-09-24 05:16:13 +02:00
/* 40014 80064C14 92420000 */ lbu $v0, ($s2)
/* 40018 80064C18 2442FFD0 */ addiu $v0, $v0, -0x30
/* 4001C 80064C1C 2C42000A */ sltiu $v0, $v0, 0xa
/* 40020 80064C20 1440FFF0 */ bnez $v0, .L80064BE4
/* 40024 80064C24 00000000 */ nop
2020-08-04 08:49:11 +02:00
.L80064C28:
2020-09-24 05:16:13 +02:00
/* 40028 80064C28 82430000 */ lb $v1, ($s2)
/* 4002C 80064C2C 2402002E */ addiu $v0, $zero, 0x2e
/* 40030 80064C30 10620003 */ beq $v1, $v0, .L80064C40
/* 40034 80064C34 2402FFFF */ addiu $v0, $zero, -1
/* 40038 80064C38 08019335 */ j .L80064CD4
/* 4003C 80064C3C AFA20034 */ sw $v0, 0x34($sp)
2020-08-04 08:49:11 +02:00
.L80064C40:
2020-09-24 05:16:13 +02:00
/* 40040 80064C40 26520001 */ addiu $s2, $s2, 1
/* 40044 80064C44 82430000 */ lb $v1, ($s2)
/* 40048 80064C48 2402002A */ addiu $v0, $zero, 0x2a
/* 4004C 80064C4C 1462000B */ bne $v1, $v0, .L80064C7C
/* 40050 80064C50 00602021 */ addu $a0, $v1, $zero
/* 40054 80064C54 8FA300BC */ lw $v1, 0xbc($sp)
/* 40058 80064C58 2402FFFC */ addiu $v0, $zero, -4
/* 4005C 80064C5C 24630003 */ addiu $v1, $v1, 3
/* 40060 80064C60 00621824 */ and $v1, $v1, $v0
/* 40064 80064C64 24620004 */ addiu $v0, $v1, 4
/* 40068 80064C68 AFA200BC */ sw $v0, 0xbc($sp)
/* 4006C 80064C6C 8C620000 */ lw $v0, ($v1)
/* 40070 80064C70 26520001 */ addiu $s2, $s2, 1
/* 40074 80064C74 08019335 */ j .L80064CD4
/* 40078 80064C78 AFA20034 */ sw $v0, 0x34($sp)
2020-08-04 08:49:11 +02:00
.L80064C7C:
2020-09-24 05:16:13 +02:00
/* 4007C 80064C7C 2482FFD0 */ addiu $v0, $a0, -0x30
/* 40080 80064C80 304200FF */ andi $v0, $v0, 0xff
/* 40084 80064C84 2C42000A */ sltiu $v0, $v0, 0xa
/* 40088 80064C88 10400012 */ beqz $v0, .L80064CD4
/* 4008C 80064C8C AFA00034 */ sw $zero, 0x34($sp)
2020-08-04 08:49:11 +02:00
.L80064C90:
2020-09-24 05:16:13 +02:00
/* 40090 80064C90 8FA40034 */ lw $a0, 0x34($sp)
/* 40094 80064C94 288203E7 */ slti $v0, $a0, 0x3e7
/* 40098 80064C98 50400009 */ beql $v0, $zero, .L80064CC0
/* 4009C 80064C9C 26520001 */ addiu $s2, $s2, 1
/* 400A0 80064CA0 00041080 */ sll $v0, $a0, 2
/* 400A4 80064CA4 82430000 */ lb $v1, ($s2)
/* 400A8 80064CA8 00441021 */ addu $v0, $v0, $a0
/* 400AC 80064CAC 00021040 */ sll $v0, $v0, 1
/* 400B0 80064CB0 00431021 */ addu $v0, $v0, $v1
/* 400B4 80064CB4 2442FFD0 */ addiu $v0, $v0, -0x30
/* 400B8 80064CB8 AFA20034 */ sw $v0, 0x34($sp)
/* 400BC 80064CBC 26520001 */ addiu $s2, $s2, 1
2020-08-04 08:49:11 +02:00
.L80064CC0:
2020-09-24 05:16:13 +02:00
/* 400C0 80064CC0 92420000 */ lbu $v0, ($s2)
/* 400C4 80064CC4 2442FFD0 */ addiu $v0, $v0, -0x30
/* 400C8 80064CC8 2C42000A */ sltiu $v0, $v0, 0xa
/* 400CC 80064CCC 1440FFF0 */ bnez $v0, .L80064C90
/* 400D0 80064CD0 00000000 */ nop
2020-08-04 08:49:11 +02:00
.L80064CD4:
2020-09-24 05:16:13 +02:00
/* 400D4 80064CD4 82450000 */ lb $a1, ($s2)
2020-11-29 08:13:07 +01:00
/* 400D8 80064CD8 3C04800A */ lui $a0, %hi(D_80099C10)
/* 400DC 80064CDC 24849C10 */ addiu $a0, $a0, %lo(D_80099C10)
2020-09-24 05:16:13 +02:00
/* 400E0 80064CE0 0C019284 */ jal strchr
/* 400E4 80064CE4 00A08021 */ addu $s0, $a1, $zero
/* 400E8 80064CE8 10400003 */ beqz $v0, .L80064CF8
/* 400EC 80064CEC 02001021 */ addu $v0, $s0, $zero
/* 400F0 80064CF0 0801933F */ j .L80064CFC
/* 400F4 80064CF4 26520001 */ addiu $s2, $s2, 1
2020-08-04 08:49:11 +02:00
.L80064CF8:
2020-09-24 05:16:13 +02:00
/* 400F8 80064CF8 00001021 */ addu $v0, $zero, $zero
2020-08-04 08:49:11 +02:00
.L80064CFC:
2020-09-24 05:16:13 +02:00
/* 400FC 80064CFC A3A20044 */ sb $v0, 0x44($sp)
/* 40100 80064D00 00021600 */ sll $v0, $v0, 0x18
/* 40104 80064D04 00021E03 */ sra $v1, $v0, 0x18
/* 40108 80064D08 2402006C */ addiu $v0, $zero, 0x6c
/* 4010C 80064D0C 14620007 */ bne $v1, $v0, .L80064D2C
/* 40110 80064D10 27A40010 */ addiu $a0, $sp, 0x10
/* 40114 80064D14 82420000 */ lb $v0, ($s2)
/* 40118 80064D18 14430004 */ bne $v0, $v1, .L80064D2C
/* 4011C 80064D1C 2402004C */ addiu $v0, $zero, 0x4c
/* 40120 80064D20 A3A20044 */ sb $v0, 0x44($sp)
/* 40124 80064D24 26520001 */ addiu $s2, $s2, 1
/* 40128 80064D28 27A40010 */ addiu $a0, $sp, 0x10
2020-08-04 08:49:11 +02:00
.L80064D2C:
2020-09-24 05:16:13 +02:00
/* 4012C 80064D2C 82460000 */ lb $a2, ($s2)
/* 40130 80064D30 27A500BC */ addiu $a1, $sp, 0xbc
/* 40134 80064D34 0C019408 */ jal _Putfld
/* 40138 80064D38 27A70048 */ addiu $a3, $sp, 0x48
/* 4013C 80064D3C 8FA3001C */ lw $v1, 0x1c($sp)
/* 40140 80064D40 8FA20020 */ lw $v0, 0x20($sp)
/* 40144 80064D44 00621821 */ addu $v1, $v1, $v0
/* 40148 80064D48 8FA20024 */ lw $v0, 0x24($sp)
/* 4014C 80064D4C 8FA40028 */ lw $a0, 0x28($sp)
/* 40150 80064D50 8FA5002C */ lw $a1, 0x2c($sp)
/* 40154 80064D54 00621821 */ addu $v1, $v1, $v0
/* 40158 80064D58 00641821 */ addu $v1, $v1, $a0
/* 4015C 80064D5C 00651821 */ addu $v1, $v1, $a1
/* 40160 80064D60 8FA40030 */ lw $a0, 0x30($sp)
/* 40164 80064D64 8FA50038 */ lw $a1, 0x38($sp)
/* 40168 80064D68 8FA20040 */ lw $v0, 0x40($sp)
/* 4016C 80064D6C 00641821 */ addu $v1, $v1, $a0
/* 40170 80064D70 00A32823 */ subu $a1, $a1, $v1
/* 40174 80064D74 30420004 */ andi $v0, $v0, 4
/* 40178 80064D78 14400017 */ bnez $v0, .L80064DD8
/* 4017C 80064D7C AFA50038 */ sw $a1, 0x38($sp)
/* 40180 80064D80 18A00015 */ blez $a1, .L80064DD8
/* 40184 80064D84 00000000 */ nop
/* 40188 80064D88 00A08821 */ addu $s1, $a1, $zero
/* 4018C 80064D8C 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064D90:
2020-09-24 05:16:13 +02:00
/* 40190 80064D90 10400002 */ beqz $v0, .L80064D9C
/* 40194 80064D94 24100020 */ addiu $s0, $zero, 0x20
/* 40198 80064D98 02208021 */ addu $s0, $s1, $zero
2020-08-04 08:49:11 +02:00
.L80064D9C:
2020-09-24 05:16:13 +02:00
/* 4019C 80064D9C 5A00000C */ blezl $s0, .L80064DD0
/* 401A0 80064DA0 02308823 */ subu $s1, $s1, $s0
/* 401A4 80064DA4 02602021 */ addu $a0, $s3, $zero
2020-11-29 08:13:07 +01:00
/* 401A8 80064DA8 3C058009 */ lui $a1, %hi(D_800945E0)
/* 401AC 80064DAC 24A545E0 */ addiu $a1, $a1, %lo(D_800945E0)
2020-09-24 05:16:13 +02:00
/* 401B0 80064DB0 0280F809 */ jalr $s4
/* 401B4 80064DB4 02003021 */ addu $a2, $s0, $zero
/* 401B8 80064DB8 00409821 */ addu $s3, $v0, $zero
/* 401BC 80064DBC 1260008E */ beqz $s3, .L80064FF8
/* 401C0 80064DC0 02308823 */ subu $s1, $s1, $s0
/* 401C4 80064DC4 8FA2003C */ lw $v0, 0x3c($sp)
/* 401C8 80064DC8 00501021 */ addu $v0, $v0, $s0
/* 401CC 80064DCC AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064DD0:
2020-09-24 05:16:13 +02:00
/* 401D0 80064DD0 1E20FFEF */ bgtz $s1, .L80064D90
/* 401D4 80064DD4 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064DD8:
2020-09-24 05:16:13 +02:00
/* 401D8 80064DD8 8FA6001C */ lw $a2, 0x1c($sp)
/* 401DC 80064DDC 18C0000A */ blez $a2, .L80064E08
/* 401E0 80064DE0 02602021 */ addu $a0, $s3, $zero
/* 401E4 80064DE4 0280F809 */ jalr $s4
/* 401E8 80064DE8 27A50048 */ addiu $a1, $sp, 0x48
/* 401EC 80064DEC 00409821 */ addu $s3, $v0, $zero
/* 401F0 80064DF0 12600081 */ beqz $s3, .L80064FF8
/* 401F4 80064DF4 00000000 */ nop
/* 401F8 80064DF8 8FA2003C */ lw $v0, 0x3c($sp)
/* 401FC 80064DFC 8FA3001C */ lw $v1, 0x1c($sp)
/* 40200 80064E00 00431021 */ addu $v0, $v0, $v1
/* 40204 80064E04 AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064E08:
2020-09-24 05:16:13 +02:00
/* 40208 80064E08 8FA20020 */ lw $v0, 0x20($sp)
/* 4020C 80064E0C 18400015 */ blez $v0, .L80064E64
/* 40210 80064E10 00000000 */ nop
/* 40214 80064E14 00408821 */ addu $s1, $v0, $zero
/* 40218 80064E18 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064E1C:
2020-09-24 05:16:13 +02:00
/* 4021C 80064E1C 10400002 */ beqz $v0, .L80064E28
/* 40220 80064E20 24100020 */ addiu $s0, $zero, 0x20
/* 40224 80064E24 02208021 */ addu $s0, $s1, $zero
2020-08-04 08:49:11 +02:00
.L80064E28:
2020-09-24 05:16:13 +02:00
/* 40228 80064E28 5A00000C */ blezl $s0, .L80064E5C
/* 4022C 80064E2C 02308823 */ subu $s1, $s1, $s0
/* 40230 80064E30 02602021 */ addu $a0, $s3, $zero
2020-11-29 08:13:07 +01:00
/* 40234 80064E34 3C058009 */ lui $a1, %hi(D_80094604)
/* 40238 80064E38 24A54604 */ addiu $a1, $a1, %lo(D_80094604)
2020-09-24 05:16:13 +02:00
/* 4023C 80064E3C 0280F809 */ jalr $s4
/* 40240 80064E40 02003021 */ addu $a2, $s0, $zero
/* 40244 80064E44 00409821 */ addu $s3, $v0, $zero
/* 40248 80064E48 1260006B */ beqz $s3, .L80064FF8
/* 4024C 80064E4C 02308823 */ subu $s1, $s1, $s0
/* 40250 80064E50 8FA2003C */ lw $v0, 0x3c($sp)
/* 40254 80064E54 00501021 */ addu $v0, $v0, $s0
/* 40258 80064E58 AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064E5C:
2020-09-24 05:16:13 +02:00
/* 4025C 80064E5C 1E20FFEF */ bgtz $s1, .L80064E1C
/* 40260 80064E60 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064E64:
2020-09-24 05:16:13 +02:00
/* 40264 80064E64 8FA60024 */ lw $a2, 0x24($sp)
/* 40268 80064E68 18C0000B */ blez $a2, .L80064E98
/* 4026C 80064E6C 00000000 */ nop
/* 40270 80064E70 8FA50018 */ lw $a1, 0x18($sp)
/* 40274 80064E74 0280F809 */ jalr $s4
/* 40278 80064E78 02602021 */ addu $a0, $s3, $zero
/* 4027C 80064E7C 00409821 */ addu $s3, $v0, $zero
/* 40280 80064E80 1260005D */ beqz $s3, .L80064FF8
/* 40284 80064E84 00000000 */ nop
/* 40288 80064E88 8FA2003C */ lw $v0, 0x3c($sp)
/* 4028C 80064E8C 8FA30024 */ lw $v1, 0x24($sp)
/* 40290 80064E90 00431021 */ addu $v0, $v0, $v1
/* 40294 80064E94 AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064E98:
2020-09-24 05:16:13 +02:00
/* 40298 80064E98 8FA20028 */ lw $v0, 0x28($sp)
/* 4029C 80064E9C 18400015 */ blez $v0, .L80064EF4
/* 402A0 80064EA0 00000000 */ nop
/* 402A4 80064EA4 00408821 */ addu $s1, $v0, $zero
/* 402A8 80064EA8 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064EAC:
2020-09-24 05:16:13 +02:00
/* 402AC 80064EAC 10400002 */ beqz $v0, .L80064EB8
/* 402B0 80064EB0 24100020 */ addiu $s0, $zero, 0x20
/* 402B4 80064EB4 02208021 */ addu $s0, $s1, $zero
2020-08-04 08:49:11 +02:00
.L80064EB8:
2020-09-24 05:16:13 +02:00
/* 402B8 80064EB8 5A00000C */ blezl $s0, .L80064EEC
/* 402BC 80064EBC 02308823 */ subu $s1, $s1, $s0
/* 402C0 80064EC0 02602021 */ addu $a0, $s3, $zero
2020-11-29 08:13:07 +01:00
/* 402C4 80064EC4 3C058009 */ lui $a1, %hi(D_80094604)
/* 402C8 80064EC8 24A54604 */ addiu $a1, $a1, %lo(D_80094604)
2020-09-24 05:16:13 +02:00
/* 402CC 80064ECC 0280F809 */ jalr $s4
/* 402D0 80064ED0 02003021 */ addu $a2, $s0, $zero
/* 402D4 80064ED4 00409821 */ addu $s3, $v0, $zero
/* 402D8 80064ED8 12600047 */ beqz $s3, .L80064FF8
/* 402DC 80064EDC 02308823 */ subu $s1, $s1, $s0
/* 402E0 80064EE0 8FA2003C */ lw $v0, 0x3c($sp)
/* 402E4 80064EE4 00501021 */ addu $v0, $v0, $s0
/* 402E8 80064EE8 AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064EEC:
2020-09-24 05:16:13 +02:00
/* 402EC 80064EEC 1E20FFEF */ bgtz $s1, .L80064EAC
/* 402F0 80064EF0 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064EF4:
2020-09-24 05:16:13 +02:00
/* 402F4 80064EF4 8FA6002C */ lw $a2, 0x2c($sp)
/* 402F8 80064EF8 18C0000C */ blez $a2, .L80064F2C
/* 402FC 80064EFC 02602021 */ addu $a0, $s3, $zero
/* 40300 80064F00 8FA20018 */ lw $v0, 0x18($sp)
/* 40304 80064F04 8FA50024 */ lw $a1, 0x24($sp)
/* 40308 80064F08 0280F809 */ jalr $s4
/* 4030C 80064F0C 00452821 */ addu $a1, $v0, $a1
/* 40310 80064F10 00409821 */ addu $s3, $v0, $zero
/* 40314 80064F14 12600038 */ beqz $s3, .L80064FF8
/* 40318 80064F18 00000000 */ nop
/* 4031C 80064F1C 8FA2003C */ lw $v0, 0x3c($sp)
/* 40320 80064F20 8FA3002C */ lw $v1, 0x2c($sp)
/* 40324 80064F24 00431021 */ addu $v0, $v0, $v1
/* 40328 80064F28 AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064F2C:
2020-09-24 05:16:13 +02:00
/* 4032C 80064F2C 8FA20030 */ lw $v0, 0x30($sp)
/* 40330 80064F30 18400015 */ blez $v0, .L80064F88
/* 40334 80064F34 00000000 */ nop
/* 40338 80064F38 00408821 */ addu $s1, $v0, $zero
/* 4033C 80064F3C 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064F40:
2020-09-24 05:16:13 +02:00
/* 40340 80064F40 10400002 */ beqz $v0, .L80064F4C
/* 40344 80064F44 24100020 */ addiu $s0, $zero, 0x20
/* 40348 80064F48 02208021 */ addu $s0, $s1, $zero
2020-08-04 08:49:11 +02:00
.L80064F4C:
2020-09-24 05:16:13 +02:00
/* 4034C 80064F4C 5A00000C */ blezl $s0, .L80064F80
/* 40350 80064F50 02308823 */ subu $s1, $s1, $s0
/* 40354 80064F54 02602021 */ addu $a0, $s3, $zero
2020-11-29 08:13:07 +01:00
/* 40358 80064F58 3C058009 */ lui $a1, %hi(D_80094604)
/* 4035C 80064F5C 24A54604 */ addiu $a1, $a1, %lo(D_80094604)
2020-09-24 05:16:13 +02:00
/* 40360 80064F60 0280F809 */ jalr $s4
/* 40364 80064F64 02003021 */ addu $a2, $s0, $zero
/* 40368 80064F68 00409821 */ addu $s3, $v0, $zero
/* 4036C 80064F6C 12600022 */ beqz $s3, .L80064FF8
/* 40370 80064F70 02308823 */ subu $s1, $s1, $s0
/* 40374 80064F74 8FA2003C */ lw $v0, 0x3c($sp)
/* 40378 80064F78 00501021 */ addu $v0, $v0, $s0
/* 4037C 80064F7C AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064F80:
2020-09-24 05:16:13 +02:00
/* 40380 80064F80 1E20FFEF */ bgtz $s1, .L80064F40
/* 40384 80064F84 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064F88:
2020-09-24 05:16:13 +02:00
/* 40388 80064F88 8FA20040 */ lw $v0, 0x40($sp)
/* 4038C 80064F8C 30420004 */ andi $v0, $v0, 4
/* 40390 80064F90 1040FED2 */ beqz $v0, .L80064ADC
/* 40394 80064F94 26450001 */ addiu $a1, $s2, 1
/* 40398 80064F98 8FA20038 */ lw $v0, 0x38($sp)
/* 4039C 80064F9C 1840FECF */ blez $v0, .L80064ADC
/* 403A0 80064FA0 00408821 */ addu $s1, $v0, $zero
/* 403A4 80064FA4 2E220021 */ sltiu $v0, $s1, 0x21
2020-08-04 08:49:11 +02:00
.L80064FA8:
2020-09-24 05:16:13 +02:00
/* 403A8 80064FA8 10400002 */ beqz $v0, .L80064FB4
/* 403AC 80064FAC 24100020 */ addiu $s0, $zero, 0x20
/* 403B0 80064FB0 02208021 */ addu $s0, $s1, $zero
2020-08-04 08:49:11 +02:00
.L80064FB4:
2020-09-24 05:16:13 +02:00
/* 403B4 80064FB4 5A00000C */ blezl $s0, .L80064FE8
/* 403B8 80064FB8 02308823 */ subu $s1, $s1, $s0
/* 403BC 80064FBC 02602021 */ addu $a0, $s3, $zero
2020-11-29 08:13:07 +01:00
/* 403C0 80064FC0 3C058009 */ lui $a1, %hi(D_800945E0)
/* 403C4 80064FC4 24A545E0 */ addiu $a1, $a1, %lo(D_800945E0)
2020-09-24 05:16:13 +02:00
/* 403C8 80064FC8 0280F809 */ jalr $s4
/* 403CC 80064FCC 02003021 */ addu $a2, $s0, $zero
/* 403D0 80064FD0 00409821 */ addu $s3, $v0, $zero
/* 403D4 80064FD4 12600008 */ beqz $s3, .L80064FF8
/* 403D8 80064FD8 02308823 */ subu $s1, $s1, $s0
/* 403DC 80064FDC 8FA2003C */ lw $v0, 0x3c($sp)
/* 403E0 80064FE0 00501021 */ addu $v0, $v0, $s0
/* 403E4 80064FE4 AFA2003C */ sw $v0, 0x3c($sp)
2020-08-04 08:49:11 +02:00
.L80064FE8:
2020-09-24 05:16:13 +02:00
/* 403E8 80064FE8 1E20FFEF */ bgtz $s1, .L80064FA8
/* 403EC 80064FEC 2E220021 */ sltiu $v0, $s1, 0x21
/* 403F0 80064FF0 080192B7 */ j .L80064ADC
/* 403F4 80064FF4 26450001 */ addiu $a1, $s2, 1
2020-08-04 08:49:11 +02:00
.L80064FF8:
2020-09-24 05:16:13 +02:00
/* 403F8 80064FF8 8FA2003C */ lw $v0, 0x3c($sp)
/* 403FC 80064FFC 8FBF00A8 */ lw $ra, 0xa8($sp)
/* 40400 80065000 8FB500A4 */ lw $s5, 0xa4($sp)
/* 40404 80065004 8FB400A0 */ lw $s4, 0xa0($sp)
/* 40408 80065008 8FB3009C */ lw $s3, 0x9c($sp)
/* 4040C 8006500C 8FB20098 */ lw $s2, 0x98($sp)
/* 40410 80065010 8FB10094 */ lw $s1, 0x94($sp)
/* 40414 80065014 8FB00090 */ lw $s0, 0x90($sp)
/* 40418 80065018 03E00008 */ jr $ra
/* 4041C 8006501C 27BD00B0 */ addiu $sp, $sp, 0xb0