mirror of
https://github.com/pmret/papermario.git
synced 2024-11-10 13:02:41 +01:00
149 lines
7.6 KiB
ArmAsm
149 lines
7.6 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_E00601E0
|
|
/* 363340 E00601E0 27BDFFC8 */ addiu $sp, $sp, -0x38
|
|
/* 363344 E00601E4 AFB3001C */ sw $s3, 0x1c($sp)
|
|
/* 363348 E00601E8 0080982D */ daddu $s3, $a0, $zero
|
|
/* 36334C E00601EC AFBF0020 */ sw $ra, 0x20($sp)
|
|
/* 363350 E00601F0 AFB20018 */ sw $s2, 0x18($sp)
|
|
/* 363354 E00601F4 AFB10014 */ sw $s1, 0x14($sp)
|
|
/* 363358 E00601F8 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 36335C E00601FC F7B60030 */ sdc1 $f22, 0x30($sp)
|
|
/* 363360 E0060200 F7B40028 */ sdc1 $f20, 0x28($sp)
|
|
/* 363364 E0060204 8E64000C */ lw $a0, 0xc($s3)
|
|
/* 363368 E0060208 8C820028 */ lw $v0, 0x28($a0)
|
|
/* 36336C E006020C 2442FFFF */ addiu $v0, $v0, -1
|
|
/* 363370 E0060210 AC820028 */ sw $v0, 0x28($a0)
|
|
/* 363374 E0060214 8C82002C */ lw $v0, 0x2c($a0)
|
|
/* 363378 E0060218 8C850028 */ lw $a1, 0x28($a0)
|
|
/* 36337C E006021C 24420001 */ addiu $v0, $v0, 1
|
|
/* 363380 E0060220 04A10005 */ bgez $a1, .LE0060238
|
|
/* 363384 E0060224 AC82002C */ sw $v0, 0x2c($a0)
|
|
/* 363388 E0060228 0C080128 */ jal func_E02004A0
|
|
/* 36338C E006022C 0260202D */ daddu $a0, $s3, $zero
|
|
/* 363390 E0060230 080180FA */ j .LE00603E8
|
|
/* 363394 E0060234 00000000 */ nop
|
|
.LE0060238:
|
|
/* 363398 E0060238 2842000A */ slti $v0, $v0, 0xa
|
|
/* 36339C E006023C 10400011 */ beqz $v0, .LE0060284
|
|
/* 3633A0 E0060240 00A0302D */ daddu $a2, $a1, $zero
|
|
/* 3633A4 E0060244 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 3633A8 E0060248 8C830024 */ lw $v1, 0x24($a0)
|
|
/* 3633AC E006024C 3C01E006 */ lui $at, %hi(D_E0060740)
|
|
/* 3633B0 E0060250 D4200740 */ ldc1 $f0, %lo(D_E0060740)($at)
|
|
/* 3633B4 E0060254 00431023 */ subu $v0, $v0, $v1
|
|
/* 3633B8 E0060258 44821000 */ mtc1 $v0, $f2
|
|
/* 3633BC E006025C 00000000 */ nop
|
|
/* 3633C0 E0060260 468010A1 */ cvt.d.w $f2, $f2
|
|
/* 3633C4 E0060264 46201082 */ mul.d $f2, $f2, $f0
|
|
/* 3633C8 E0060268 00000000 */ nop
|
|
/* 3633CC E006026C 44830000 */ mtc1 $v1, $f0
|
|
/* 3633D0 E0060270 00000000 */ nop
|
|
/* 3633D4 E0060274 46800021 */ cvt.d.w $f0, $f0
|
|
/* 3633D8 E0060278 46220000 */ add.d $f0, $f0, $f2
|
|
/* 3633DC E006027C 4620020D */ trunc.w.d $f8, $f0
|
|
/* 3633E0 E0060280 E4880024 */ swc1 $f8, 0x24($a0)
|
|
.LE0060284:
|
|
/* 3633E4 E0060284 28C2000A */ slti $v0, $a2, 0xa
|
|
/* 3633E8 E0060288 10400009 */ beqz $v0, .LE00602B0
|
|
/* 3633EC E006028C 00000000 */ nop
|
|
/* 3633F0 E0060290 3C01E006 */ lui $at, %hi(D_E0060748)
|
|
/* 3633F4 E0060294 D4220748 */ ldc1 $f2, %lo(D_E0060748)($at)
|
|
/* 3633F8 E0060298 C4800024 */ lwc1 $f0, 0x24($a0)
|
|
/* 3633FC E006029C 46800021 */ cvt.d.w $f0, $f0
|
|
/* 363400 E00602A0 46220002 */ mul.d $f0, $f0, $f2
|
|
/* 363404 E00602A4 00000000 */ nop
|
|
/* 363408 E00602A8 4620020D */ trunc.w.d $f8, $f0
|
|
/* 36340C E00602AC E4880024 */ swc1 $f8, 0x24($a0)
|
|
.LE00602B0:
|
|
/* 363410 E00602B0 8E620008 */ lw $v0, 8($s3)
|
|
/* 363414 E00602B4 24110001 */ addiu $s1, $zero, 1
|
|
/* 363418 E00602B8 0222102A */ slt $v0, $s1, $v0
|
|
/* 36341C E00602BC 1040004A */ beqz $v0, .LE00603E8
|
|
/* 363420 E00602C0 24840030 */ addiu $a0, $a0, 0x30
|
|
/* 363424 E00602C4 24900008 */ addiu $s0, $a0, 8
|
|
/* 363428 E00602C8 24B20014 */ addiu $s2, $a1, 0x14
|
|
/* 36342C E00602CC 3C01BD4C */ lui $at, 0xbd4c
|
|
/* 363430 E00602D0 3421CCCD */ ori $at, $at, 0xcccd
|
|
/* 363434 E00602D4 4481B000 */ mtc1 $at, $f22
|
|
/* 363438 E00602D8 3C014120 */ lui $at, 0x4120
|
|
/* 36343C E00602DC 4481A000 */ mtc1 $at, $f20
|
|
.LE00602E0:
|
|
/* 363440 E00602E0 C60C0010 */ lwc1 $f12, 0x10($s0)
|
|
/* 363444 E00602E4 0C080140 */ jal func_E0200500
|
|
/* 363448 E00602E8 460C6300 */ add.s $f12, $f12, $f12
|
|
/* 36344C E00602EC 3C01E006 */ lui $at, %hi(D_E0060750)
|
|
/* 363450 E00602F0 D4220750 */ ldc1 $f2, %lo(D_E0060750)($at)
|
|
/* 363454 E00602F4 46000021 */ cvt.d.s $f0, $f0
|
|
/* 363458 E00602F8 46220002 */ mul.d $f0, $f0, $f2
|
|
/* 36345C E00602FC 00000000 */ nop
|
|
/* 363460 E0060300 C6020008 */ lwc1 $f2, 8($s0)
|
|
/* 363464 E0060304 46200020 */ cvt.s.d $f0, $f0
|
|
/* 363468 E0060308 46001080 */ add.s $f2, $f2, $f0
|
|
/* 36346C E006030C 3C01E006 */ lui $at, %hi(D_E0060758)
|
|
/* 363470 E0060310 D4200758 */ ldc1 $f0, %lo(D_E0060758)($at)
|
|
/* 363474 E0060314 E6020008 */ swc1 $f2, 8($s0)
|
|
/* 363478 E0060318 460010A1 */ cvt.d.s $f2, $f2
|
|
/* 36347C E006031C 46201082 */ mul.d $f2, $f2, $f0
|
|
/* 363480 E0060320 00000000 */ nop
|
|
/* 363484 E0060324 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* 363488 E0060328 46160000 */ add.s $f0, $f0, $f22
|
|
/* 36348C E006032C E600000C */ swc1 $f0, 0xc($s0)
|
|
/* 363490 E0060330 46160000 */ add.s $f0, $f0, $f22
|
|
/* 363494 E0060334 24040032 */ addiu $a0, $zero, 0x32
|
|
/* 363498 E0060338 0240282D */ daddu $a1, $s2, $zero
|
|
/* 36349C E006033C E600000C */ swc1 $f0, 0xc($s0)
|
|
/* 3634A0 E0060340 462010A0 */ cvt.s.d $f2, $f2
|
|
/* 3634A4 E0060344 0C080011 */ jal func_E0200044
|
|
/* 3634A8 E0060348 E6020008 */ swc1 $f2, 8($s0)
|
|
/* 3634AC E006034C 2442FFE7 */ addiu $v0, $v0, -0x19
|
|
/* 3634B0 E0060350 C60C0014 */ lwc1 $f12, 0x14($s0)
|
|
/* 3634B4 E0060354 44820000 */ mtc1 $v0, $f0
|
|
/* 3634B8 E0060358 00000000 */ nop
|
|
/* 3634BC E006035C 46800020 */ cvt.s.w $f0, $f0
|
|
/* 3634C0 E0060360 46006300 */ add.s $f12, $f12, $f0
|
|
/* 3634C4 E0060364 0C080140 */ jal func_E0200500
|
|
/* 3634C8 E0060368 E60C0014 */ swc1 $f12, 0x14($s0)
|
|
/* 3634CC E006036C 46140002 */ mul.s $f0, $f0, $f20
|
|
/* 3634D0 E0060370 00000000 */ nop
|
|
/* 3634D4 E0060374 C6020014 */ lwc1 $f2, 0x14($s0)
|
|
/* 3634D8 E0060378 3C013F00 */ lui $at, 0x3f00
|
|
/* 3634DC E006037C 44816000 */ mtc1 $at, $f12
|
|
/* 3634E0 E0060380 00000000 */ nop
|
|
/* 3634E4 E0060384 460C1302 */ mul.s $f12, $f2, $f12
|
|
/* 3634E8 E0060388 00000000 */ nop
|
|
/* 3634EC E006038C C6020010 */ lwc1 $f2, 0x10($s0)
|
|
/* 3634F0 E0060390 46001080 */ add.s $f2, $f2, $f0
|
|
/* 3634F4 E0060394 0C080144 */ jal func_E0200510
|
|
/* 3634F8 E0060398 E6020010 */ swc1 $f2, 0x10($s0)
|
|
/* 3634FC E006039C 46140002 */ mul.s $f0, $f0, $f20
|
|
/* 363500 E00603A0 00000000 */ nop
|
|
/* 363504 E00603A4 C606FFFC */ lwc1 $f6, -4($s0)
|
|
/* 363508 E00603A8 C6020008 */ lwc1 $f2, 8($s0)
|
|
/* 36350C E00603AC C6040000 */ lwc1 $f4, ($s0)
|
|
/* 363510 E00603B0 46023180 */ add.s $f6, $f6, $f2
|
|
/* 363514 E00603B4 C602000C */ lwc1 $f2, 0xc($s0)
|
|
/* 363518 E00603B8 26310001 */ addiu $s1, $s1, 1
|
|
/* 36351C E00603BC 46022100 */ add.s $f4, $f4, $f2
|
|
/* 363520 E00603C0 C6020018 */ lwc1 $f2, 0x18($s0)
|
|
/* 363524 E00603C4 26520014 */ addiu $s2, $s2, 0x14
|
|
/* 363528 E00603C8 46001080 */ add.s $f2, $f2, $f0
|
|
/* 36352C E00603CC E606FFFC */ swc1 $f6, -4($s0)
|
|
/* 363530 E00603D0 E6040000 */ swc1 $f4, ($s0)
|
|
/* 363534 E00603D4 E6020018 */ swc1 $f2, 0x18($s0)
|
|
/* 363538 E00603D8 8E620008 */ lw $v0, 8($s3)
|
|
/* 36353C E00603DC 0222102A */ slt $v0, $s1, $v0
|
|
/* 363540 E00603E0 1440FFBF */ bnez $v0, .LE00602E0
|
|
/* 363544 E00603E4 26100030 */ addiu $s0, $s0, 0x30
|
|
.LE00603E8:
|
|
/* 363548 E00603E8 8FBF0020 */ lw $ra, 0x20($sp)
|
|
/* 36354C E00603EC 8FB3001C */ lw $s3, 0x1c($sp)
|
|
/* 363550 E00603F0 8FB20018 */ lw $s2, 0x18($sp)
|
|
/* 363554 E00603F4 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* 363558 E00603F8 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 36355C E00603FC D7B60030 */ ldc1 $f22, 0x30($sp)
|
|
/* 363560 E0060400 D7B40028 */ ldc1 $f20, 0x28($sp)
|
|
/* 363564 E0060404 03E00008 */ jr $ra
|
|
/* 363568 E0060408 27BD0038 */ addiu $sp, $sp, 0x38
|