papermario/asm/nonmatchings/code_363160/func_E0060000.s

127 lines
6.6 KiB
ArmAsm
Raw Normal View History

2021-01-07 11:43:17 +01:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E0060000
/* 363160 E0060000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 363164 E0060004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 363168 E0060008 4485A000 */ mtc1 $a1, $f20
/* 36316C E006000C AFB20030 */ sw $s2, 0x30($sp)
/* 363170 E0060010 0080902D */ daddu $s2, $a0, $zero
/* 363174 E0060014 F7B60048 */ sdc1 $f22, 0x48($sp)
/* 363178 E0060018 4486B000 */ mtc1 $a2, $f22
/* 36317C E006001C 27A40010 */ addiu $a0, $sp, 0x10
/* 363180 E0060020 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 363184 E0060024 4487C000 */ mtc1 $a3, $f24
2021-01-09 08:55:31 +01:00
/* 363188 E0060028 3C02E006 */ lui $v0, %hi(func_E00601D8)
/* 36318C E006002C 244201D8 */ addiu $v0, $v0, %lo(func_E00601D8)
2021-01-07 11:43:17 +01:00
/* 363190 E0060030 AFA20018 */ sw $v0, 0x18($sp)
2021-01-09 08:55:31 +01:00
/* 363194 E0060034 3C02E006 */ lui $v0, %hi(func_E00601E0)
/* 363198 E0060038 244201E0 */ addiu $v0, $v0, %lo(func_E00601E0)
2021-01-07 11:43:17 +01:00
/* 36319C E006003C AFA2001C */ sw $v0, 0x1c($sp)
2021-01-09 08:55:31 +01:00
/* 3631A0 E0060040 3C02E006 */ lui $v0, %hi(func_E006040C)
/* 3631A4 E0060044 2442040C */ addiu $v0, $v0, %lo(func_E006040C)
2021-01-07 11:43:17 +01:00
/* 3631A8 E0060048 AFA20020 */ sw $v0, 0x20($sp)
/* 3631AC E006004C 24020030 */ addiu $v0, $zero, 0x30
/* 3631B0 E0060050 AFBF003C */ sw $ra, 0x3c($sp)
/* 3631B4 E0060054 AFB40038 */ sw $s4, 0x38($sp)
/* 3631B8 E0060058 AFB30034 */ sw $s3, 0x34($sp)
/* 3631BC E006005C AFB1002C */ sw $s1, 0x2c($sp)
/* 3631C0 E0060060 AFB00028 */ sw $s0, 0x28($sp)
/* 3631C4 E0060064 AFA00010 */ sw $zero, 0x10($sp)
/* 3631C8 E0060068 AFA00024 */ sw $zero, 0x24($sp)
/* 3631CC E006006C 0C080124 */ jal func_E0200490
/* 3631D0 E0060070 AFA20014 */ sw $v0, 0x14($sp)
/* 3631D4 E0060074 240401B0 */ addiu $a0, $zero, 0x1b0
/* 3631D8 E0060078 24130009 */ addiu $s3, $zero, 9
/* 3631DC E006007C 0040802D */ daddu $s0, $v0, $zero
/* 3631E0 E0060080 0C08012C */ jal func_E02004B0
/* 3631E4 E0060084 AE130008 */ sw $s3, 8($s0)
/* 3631E8 E0060088 0040882D */ daddu $s1, $v0, $zero
/* 3631EC E006008C 16200003 */ bnez $s1, .LE006009C
/* 3631F0 E0060090 AE11000C */ sw $s1, 0xc($s0)
.LE0060094:
/* 3631F4 E0060094 08018025 */ j .LE0060094
/* 3631F8 E0060098 00000000 */ nop
.LE006009C:
/* 3631FC E006009C 0220202D */ daddu $a0, $s1, $zero
/* 363200 E00600A0 00132840 */ sll $a1, $s3, 1
/* 363204 E00600A4 00B32821 */ addu $a1, $a1, $s3
/* 363208 E00600A8 0C080130 */ jal func_E02004C0
/* 36320C E00600AC 00052900 */ sll $a1, $a1, 4
/* 363210 E00600B0 2402001E */ addiu $v0, $zero, 0x1e
/* 363214 E00600B4 AE320000 */ sw $s2, ($s1)
/* 363218 E00600B8 E6340004 */ swc1 $f20, 4($s1)
/* 36321C E00600BC E6360008 */ swc1 $f22, 8($s1)
/* 363220 E00600C0 E638000C */ swc1 $f24, 0xc($s1)
/* 363224 E00600C4 AE220028 */ sw $v0, 0x28($s1)
/* 363228 E00600C8 AE20002C */ sw $zero, 0x2c($s1)
/* 36322C E00600CC AE200024 */ sw $zero, 0x24($s1)
/* 363230 E00600D0 24120001 */ addiu $s2, $zero, 1
/* 363234 E00600D4 0253102A */ slt $v0, $s2, $s3
/* 363238 E00600D8 10400034 */ beqz $v0, .LE00601AC
/* 36323C E00600DC 26310030 */ addiu $s1, $s1, 0x30
/* 363240 E00600E0 3C146666 */ lui $s4, 0x6666
/* 363244 E00600E4 36946667 */ ori $s4, $s4, 0x6667
/* 363248 E00600E8 26300014 */ addiu $s0, $s1, 0x14
/* 36324C E00600EC 3C014120 */ lui $at, 0x4120
/* 363250 E00600F0 4481B000 */ mtc1 $at, $f22
/* 363254 E00600F4 3C014000 */ lui $at, 0x4000
/* 363258 E00600F8 4481A000 */ mtc1 $at, $f20
.LE00600FC:
/* 36325C E00600FC 0C080000 */ jal func_E0200000
/* 363260 E0060100 2404000A */ addiu $a0, $zero, 0xa
/* 363264 E0060104 2404000A */ addiu $a0, $zero, 0xa
/* 363268 E0060108 2442FFFB */ addiu $v0, $v0, -5
/* 36326C E006010C 44820000 */ mtc1 $v0, $f0
/* 363270 E0060110 00000000 */ nop
/* 363274 E0060114 46800020 */ cvt.s.w $f0, $f0
/* 363278 E0060118 0C080000 */ jal func_E0200000
/* 36327C E006011C E600FFF0 */ swc1 $f0, -0x10($s0)
/* 363280 E0060120 24040168 */ addiu $a0, $zero, 0x168
/* 363284 E0060124 24420005 */ addiu $v0, $v0, 5
/* 363288 E0060128 44820000 */ mtc1 $v0, $f0
/* 36328C E006012C 00000000 */ nop
/* 363290 E0060130 46800020 */ cvt.s.w $f0, $f0
/* 363294 E0060134 E600FFF4 */ swc1 $f0, -0xc($s0)
/* 363298 E0060138 0C080000 */ jal func_E0200000
/* 36329C E006013C E616FFF8 */ swc1 $f22, -8($s0)
/* 3632A0 E0060140 24040168 */ addiu $a0, $zero, 0x168
/* 3632A4 E0060144 44820000 */ mtc1 $v0, $f0
/* 3632A8 E0060148 00000000 */ nop
/* 3632AC E006014C 46800020 */ cvt.s.w $f0, $f0
/* 3632B0 E0060150 0C080000 */ jal func_E0200000
/* 3632B4 E0060154 E6000004 */ swc1 $f0, 4($s0)
/* 3632B8 E0060158 24040064 */ addiu $a0, $zero, 0x64
/* 3632BC E006015C 44820000 */ mtc1 $v0, $f0
/* 3632C0 E0060160 00000000 */ nop
/* 3632C4 E0060164 46800020 */ cvt.s.w $f0, $f0
/* 3632C8 E0060168 0C080000 */ jal func_E0200000
/* 3632CC E006016C E600000C */ swc1 $f0, 0xc($s0)
/* 3632D0 E0060170 00540018 */ mult $v0, $s4
/* 3632D4 E0060174 26520001 */ addiu $s2, $s2, 1
/* 3632D8 E0060178 000217C3 */ sra $v0, $v0, 0x1f
/* 3632DC E006017C AE00FFFC */ sw $zero, -4($s0)
/* 3632E0 E0060180 E6140000 */ swc1 $f20, ($s0)
/* 3632E4 E0060184 00004010 */ mfhi $t0
/* 3632E8 E0060188 00081883 */ sra $v1, $t0, 2
/* 3632EC E006018C 00621823 */ subu $v1, $v1, $v0
/* 3632F0 E0060190 44830000 */ mtc1 $v1, $f0
/* 3632F4 E0060194 00000000 */ nop
/* 3632F8 E0060198 46800020 */ cvt.s.w $f0, $f0
/* 3632FC E006019C E6000008 */ swc1 $f0, 8($s0)
/* 363300 E00601A0 0253102A */ slt $v0, $s2, $s3
/* 363304 E00601A4 1440FFD5 */ bnez $v0, .LE00600FC
/* 363308 E00601A8 26100030 */ addiu $s0, $s0, 0x30
.LE00601AC:
/* 36330C E00601AC 8FBF003C */ lw $ra, 0x3c($sp)
/* 363310 E00601B0 8FB40038 */ lw $s4, 0x38($sp)
/* 363314 E00601B4 8FB30034 */ lw $s3, 0x34($sp)
/* 363318 E00601B8 8FB20030 */ lw $s2, 0x30($sp)
/* 36331C E00601BC 8FB1002C */ lw $s1, 0x2c($sp)
/* 363320 E00601C0 8FB00028 */ lw $s0, 0x28($sp)
/* 363324 E00601C4 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 363328 E00601C8 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 36332C E00601CC D7B40040 */ ldc1 $f20, 0x40($sp)
/* 363330 E00601D0 03E00008 */ jr $ra
/* 363334 E00601D4 27BD0058 */ addiu $sp, $sp, 0x58