papermario/asm/nonmatchings/code_EE70C0/func_80240CC0_EE7270.s
2021-01-13 00:42:27 +09:00

419 lines
21 KiB
ArmAsm
Generated

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240CC0_EE7270
/* EE7270 80240CC0 27BDFF80 */ addiu $sp, $sp, -0x80
/* EE7274 80240CC4 AFB3004C */ sw $s3, 0x4c($sp)
/* EE7278 80240CC8 0080982D */ daddu $s3, $a0, $zero
/* EE727C 80240CCC AFBF0058 */ sw $ra, 0x58($sp)
/* EE7280 80240CD0 AFB50054 */ sw $s5, 0x54($sp)
/* EE7284 80240CD4 AFB40050 */ sw $s4, 0x50($sp)
/* EE7288 80240CD8 AFB20048 */ sw $s2, 0x48($sp)
/* EE728C 80240CDC AFB10044 */ sw $s1, 0x44($sp)
/* EE7290 80240CE0 AFB00040 */ sw $s0, 0x40($sp)
/* EE7294 80240CE4 F7BA0078 */ sdc1 $f26, 0x78($sp)
/* EE7298 80240CE8 F7B80070 */ sdc1 $f24, 0x70($sp)
/* EE729C 80240CEC F7B60068 */ sdc1 $f22, 0x68($sp)
/* EE72A0 80240CF0 F7B40060 */ sdc1 $f20, 0x60($sp)
/* EE72A4 80240CF4 8E710148 */ lw $s1, 0x148($s3)
/* EE72A8 80240CF8 00A0902D */ daddu $s2, $a1, $zero
/* EE72AC 80240CFC 86240008 */ lh $a0, 8($s1)
/* EE72B0 80240D00 0C00F92F */ jal func_8003E4BC
/* EE72B4 80240D04 00C0A82D */ daddu $s5, $a2, $zero
/* EE72B8 80240D08 0040802D */ daddu $s0, $v0, $zero
/* EE72BC 80240D0C 0000A02D */ daddu $s4, $zero, $zero
/* EE72C0 80240D10 C624007C */ lwc1 $f4, 0x7c($s1)
/* EE72C4 80240D14 46802120 */ cvt.s.w $f4, $f4
/* EE72C8 80240D18 C6220088 */ lwc1 $f2, 0x88($s1)
/* EE72CC 80240D1C 468010A0 */ cvt.s.w $f2, $f2
/* EE72D0 80240D20 460010A1 */ cvt.d.s $f2, $f2
/* EE72D4 80240D24 46002121 */ cvt.d.s $f4, $f4
/* EE72D8 80240D28 C600003C */ lwc1 $f0, 0x3c($s0)
/* EE72DC 80240D2C 3C014059 */ lui $at, 0x4059
/* EE72E0 80240D30 44813800 */ mtc1 $at, $f7
/* EE72E4 80240D34 44803000 */ mtc1 $zero, $f6
/* EE72E8 80240D38 46000021 */ cvt.d.s $f0, $f0
/* EE72EC 80240D3C 46260002 */ mul.d $f0, $f0, $f6
/* EE72F0 80240D40 00000000 */ nop
/* EE72F4 80240D44 24020001 */ addiu $v0, $zero, 1
/* EE72F8 80240D48 8E24006C */ lw $a0, 0x6c($s1)
/* EE72FC 80240D4C 46261083 */ div.d $f2, $f2, $f6
/* EE7300 80240D50 462010A0 */ cvt.s.d $f2, $f2
/* EE7304 80240D54 46262103 */ div.d $f4, $f4, $f6
/* EE7308 80240D58 46202520 */ cvt.s.d $f20, $f4
/* EE730C 80240D5C 30830011 */ andi $v1, $a0, 0x11
/* EE7310 80240D60 4620020D */ trunc.w.d $f8, $f0
/* EE7314 80240D64 E628007C */ swc1 $f8, 0x7c($s1)
/* EE7318 80240D68 C6200078 */ lwc1 $f0, 0x78($s1)
/* EE731C 80240D6C 46800020 */ cvt.s.w $f0, $f0
/* EE7320 80240D70 46000021 */ cvt.d.s $f0, $f0
/* EE7324 80240D74 46260003 */ div.d $f0, $f0, $f6
/* EE7328 80240D78 462006A0 */ cvt.s.d $f26, $f0
/* EE732C 80240D7C C6200070 */ lwc1 $f0, 0x70($s1)
/* EE7330 80240D80 46800020 */ cvt.s.w $f0, $f0
/* EE7334 80240D84 46000021 */ cvt.d.s $f0, $f0
/* EE7338 80240D88 46260003 */ div.d $f0, $f0, $f6
/* EE733C 80240D8C 462005A0 */ cvt.s.d $f22, $f0
/* EE7340 80240D90 14620025 */ bne $v1, $v0, .L80240E28
/* EE7344 80240D94 4602D600 */ add.s $f24, $f26, $f2
/* EE7348 80240D98 8E020000 */ lw $v0, ($s0)
/* EE734C 80240D9C 30420008 */ andi $v0, $v0, 8
/* EE7350 80240DA0 10400009 */ beqz $v0, .L80240DC8
/* EE7354 80240DA4 27A50028 */ addiu $a1, $sp, 0x28
/* EE7358 80240DA8 C600003C */ lwc1 $f0, 0x3c($s0)
/* EE735C 80240DAC 4600C001 */ sub.s $f0, $f24, $f0
/* EE7360 80240DB0 4600B03C */ c.lt.s $f22, $f0
/* EE7364 80240DB4 00000000 */ nop
/* EE7368 80240DB8 4500001B */ bc1f .L80240E28
/* EE736C 80240DBC 34820010 */ ori $v0, $a0, 0x10
/* EE7370 80240DC0 0809038A */ j .L80240E28
/* EE7374 80240DC4 AE22006C */ sw $v0, 0x6c($s1)
.L80240DC8:
/* EE7378 80240DC8 27A6002C */ addiu $a2, $sp, 0x2c
/* EE737C 80240DCC C6000038 */ lwc1 $f0, 0x38($s0)
/* EE7380 80240DD0 C602003C */ lwc1 $f2, 0x3c($s0)
/* EE7384 80240DD4 C6040040 */ lwc1 $f4, 0x40($s0)
/* EE7388 80240DD8 3C01447A */ lui $at, 0x447a
/* EE738C 80240DDC 44813000 */ mtc1 $at, $f6
/* EE7390 80240DE0 27A20034 */ addiu $v0, $sp, 0x34
/* EE7394 80240DE4 E7A00028 */ swc1 $f0, 0x28($sp)
/* EE7398 80240DE8 E7A2002C */ swc1 $f2, 0x2c($sp)
/* EE739C 80240DEC E7A40030 */ swc1 $f4, 0x30($sp)
/* EE73A0 80240DF0 E7A60034 */ swc1 $f6, 0x34($sp)
/* EE73A4 80240DF4 AFA20010 */ sw $v0, 0x10($sp)
/* EE73A8 80240DF8 8E040080 */ lw $a0, 0x80($s0)
/* EE73AC 80240DFC 0C03908F */ jal func_800E423C
/* EE73B0 80240E00 27A70030 */ addiu $a3, $sp, 0x30
/* EE73B4 80240E04 C7A00034 */ lwc1 $f0, 0x34($sp)
/* EE73B8 80240E08 4600D001 */ sub.s $f0, $f26, $f0
/* EE73BC 80240E0C 4600B03C */ c.lt.s $f22, $f0
/* EE73C0 80240E10 00000000 */ nop
/* EE73C4 80240E14 45000004 */ bc1f .L80240E28
/* EE73C8 80240E18 00000000 */ nop
/* EE73CC 80240E1C 8E22006C */ lw $v0, 0x6c($s1)
/* EE73D0 80240E20 34420010 */ ori $v0, $v0, 0x10
/* EE73D4 80240E24 AE22006C */ sw $v0, 0x6c($s1)
.L80240E28:
/* EE73D8 80240E28 8E22006C */ lw $v0, 0x6c($s1)
/* EE73DC 80240E2C 24030011 */ addiu $v1, $zero, 0x11
/* EE73E0 80240E30 30420011 */ andi $v0, $v0, 0x11
/* EE73E4 80240E34 14430039 */ bne $v0, $v1, .L80240F1C
/* EE73E8 80240E38 00000000 */ nop
/* EE73EC 80240E3C 8E020000 */ lw $v0, ($s0)
/* EE73F0 80240E40 30420008 */ andi $v0, $v0, 8
/* EE73F4 80240E44 1040000A */ beqz $v0, .L80240E70
/* EE73F8 80240E48 4600C106 */ mov.s $f4, $f24
/* EE73FC 80240E4C 4614C081 */ sub.s $f2, $f24, $f20
/* EE7400 80240E50 3C018024 */ lui $at, %hi(D_80245388)
/* EE7404 80240E54 D4205388 */ ldc1 $f0, %lo(D_80245388)($at)
/* EE7408 80240E58 460010A1 */ cvt.d.s $f2, $f2
/* EE740C 80240E5C 46201082 */ mul.d $f2, $f2, $f0
/* EE7410 80240E60 00000000 */ nop
/* EE7414 80240E64 4600A021 */ cvt.d.s $f0, $f20
/* EE7418 80240E68 080903B5 */ j .L80240ED4
/* EE741C 80240E6C 46220000 */ add.d $f0, $f0, $f2
.L80240E70:
/* EE7420 80240E70 27A50028 */ addiu $a1, $sp, 0x28
/* EE7424 80240E74 27A6002C */ addiu $a2, $sp, 0x2c
/* EE7428 80240E78 C6000038 */ lwc1 $f0, 0x38($s0)
/* EE742C 80240E7C C6020040 */ lwc1 $f2, 0x40($s0)
/* EE7430 80240E80 3C01447A */ lui $at, 0x447a
/* EE7434 80240E84 44812000 */ mtc1 $at, $f4
/* EE7438 80240E88 27A20034 */ addiu $v0, $sp, 0x34
/* EE743C 80240E8C E7B4002C */ swc1 $f20, 0x2c($sp)
/* EE7440 80240E90 E7A00028 */ swc1 $f0, 0x28($sp)
/* EE7444 80240E94 E7A20030 */ swc1 $f2, 0x30($sp)
/* EE7448 80240E98 E7A40034 */ swc1 $f4, 0x34($sp)
/* EE744C 80240E9C AFA20010 */ sw $v0, 0x10($sp)
/* EE7450 80240EA0 8E040080 */ lw $a0, 0x80($s0)
/* EE7454 80240EA4 0C03908F */ jal func_800E423C
/* EE7458 80240EA8 27A70030 */ addiu $a3, $sp, 0x30
/* EE745C 80240EAC C7A4002C */ lwc1 $f4, 0x2c($sp)
/* EE7460 80240EB0 461A2100 */ add.s $f4, $f4, $f26
/* EE7464 80240EB4 46142081 */ sub.s $f2, $f4, $f20
/* EE7468 80240EB8 3C018024 */ lui $at, %hi(D_80245390)
/* EE746C 80240EBC D4205390 */ ldc1 $f0, %lo(D_80245390)($at)
/* EE7470 80240EC0 460010A1 */ cvt.d.s $f2, $f2
/* EE7474 80240EC4 46201082 */ mul.d $f2, $f2, $f0
/* EE7478 80240EC8 00000000 */ nop
/* EE747C 80240ECC 4600A021 */ cvt.d.s $f0, $f20
/* EE7480 80240ED0 46220000 */ add.d $f0, $f0, $f2
.L80240ED4:
/* EE7484 80240ED4 46200020 */ cvt.s.d $f0, $f0
/* EE7488 80240ED8 E600003C */ swc1 $f0, 0x3c($s0)
/* EE748C 80240EDC C600003C */ lwc1 $f0, 0x3c($s0)
/* EE7490 80240EE0 46002001 */ sub.s $f0, $f4, $f0
/* EE7494 80240EE4 3C013FF0 */ lui $at, 0x3ff0
/* EE7498 80240EE8 44811800 */ mtc1 $at, $f3
/* EE749C 80240EEC 44801000 */ mtc1 $zero, $f2
/* EE74A0 80240EF0 46000005 */ abs.s $f0, $f0
/* EE74A4 80240EF4 46000021 */ cvt.d.s $f0, $f0
/* EE74A8 80240EF8 4622003C */ c.lt.d $f0, $f2
/* EE74AC 80240EFC 00000000 */ nop
/* EE74B0 80240F00 45000036 */ bc1f .L80240FDC
/* EE74B4 80240F04 2403FFEF */ addiu $v1, $zero, -0x11
/* EE74B8 80240F08 E604003C */ swc1 $f4, 0x3c($s0)
/* EE74BC 80240F0C 8E22006C */ lw $v0, 0x6c($s1)
/* EE74C0 80240F10 00431024 */ and $v0, $v0, $v1
/* EE74C4 80240F14 080903F7 */ j .L80240FDC
/* EE74C8 80240F18 AE22006C */ sw $v0, 0x6c($s1)
.L80240F1C:
/* EE74CC 80240F1C 8E220070 */ lw $v0, 0x70($s1)
/* EE74D0 80240F20 1840002E */ blez $v0, .L80240FDC
/* EE74D4 80240F24 00000000 */ nop
/* EE74D8 80240F28 C62C0074 */ lwc1 $f12, 0x74($s1)
/* EE74DC 80240F2C 0C00AD77 */ jal func_8002B5DC
/* EE74E0 80240F30 46806320 */ cvt.s.w $f12, $f12
/* EE74E4 80240F34 8E020000 */ lw $v0, ($s0)
/* EE74E8 80240F38 30420008 */ andi $v0, $v0, 8
/* EE74EC 80240F3C 10400003 */ beqz $v0, .L80240F4C
/* EE74F0 80240F40 46000506 */ mov.s $f20, $f0
/* EE74F4 80240F44 080903E3 */ j .L80240F8C
/* EE74F8 80240F48 0000102D */ daddu $v0, $zero, $zero
.L80240F4C:
/* EE74FC 80240F4C 27A50028 */ addiu $a1, $sp, 0x28
/* EE7500 80240F50 27A6002C */ addiu $a2, $sp, 0x2c
/* EE7504 80240F54 C6000038 */ lwc1 $f0, 0x38($s0)
/* EE7508 80240F58 C602003C */ lwc1 $f2, 0x3c($s0)
/* EE750C 80240F5C C6040040 */ lwc1 $f4, 0x40($s0)
/* EE7510 80240F60 3C01447A */ lui $at, 0x447a
/* EE7514 80240F64 44813000 */ mtc1 $at, $f6
/* EE7518 80240F68 27A20034 */ addiu $v0, $sp, 0x34
/* EE751C 80240F6C E7A00028 */ swc1 $f0, 0x28($sp)
/* EE7520 80240F70 E7A2002C */ swc1 $f2, 0x2c($sp)
/* EE7524 80240F74 E7A40030 */ swc1 $f4, 0x30($sp)
/* EE7528 80240F78 E7A60034 */ swc1 $f6, 0x34($sp)
/* EE752C 80240F7C AFA20010 */ sw $v0, 0x10($sp)
/* EE7530 80240F80 8E040080 */ lw $a0, 0x80($s0)
/* EE7534 80240F84 0C03908F */ jal func_800E423C
/* EE7538 80240F88 27A70030 */ addiu $a3, $sp, 0x30
.L80240F8C:
/* EE753C 80240F8C 10400007 */ beqz $v0, .L80240FAC
/* EE7540 80240F90 00000000 */ nop
/* EE7544 80240F94 4616A082 */ mul.s $f2, $f20, $f22
/* EE7548 80240F98 00000000 */ nop
/* EE754C 80240F9C C7A0002C */ lwc1 $f0, 0x2c($sp)
/* EE7550 80240FA0 461A0000 */ add.s $f0, $f0, $f26
/* EE7554 80240FA4 080903EE */ j .L80240FB8
/* EE7558 80240FA8 46020000 */ add.s $f0, $f0, $f2
.L80240FAC:
/* EE755C 80240FAC 4616A002 */ mul.s $f0, $f20, $f22
/* EE7560 80240FB0 00000000 */ nop
/* EE7564 80240FB4 4600C000 */ add.s $f0, $f24, $f0
.L80240FB8:
/* EE7568 80240FB8 E600003C */ swc1 $f0, 0x3c($s0)
/* EE756C 80240FBC 8E220074 */ lw $v0, 0x74($s1)
/* EE7570 80240FC0 2442000A */ addiu $v0, $v0, 0xa
/* EE7574 80240FC4 44826000 */ mtc1 $v0, $f12
/* EE7578 80240FC8 00000000 */ nop
/* EE757C 80240FCC 0C00AB85 */ jal func_8002AE14
/* EE7580 80240FD0 46806320 */ cvt.s.w $f12, $f12
/* EE7584 80240FD4 4600020D */ trunc.w.s $f8, $f0
/* EE7588 80240FD8 E6280074 */ swc1 $f8, 0x74($s1)
.L80240FDC:
/* EE758C 80240FDC 8E220090 */ lw $v0, 0x90($s1)
/* EE7590 80240FE0 1C40004A */ bgtz $v0, .L8024110C
/* EE7594 80240FE4 2442FFFF */ addiu $v0, $v0, -1
/* EE7598 80240FE8 8E430014 */ lw $v1, 0x14($s2)
/* EE759C 80240FEC 04600048 */ bltz $v1, .L80241110
/* EE75A0 80240FF0 00000000 */ nop
/* EE75A4 80240FF4 8E620074 */ lw $v0, 0x74($s3)
/* EE75A8 80240FF8 1C400042 */ bgtz $v0, .L80241104
/* EE75AC 80240FFC 2442FFFF */ addiu $v0, $v0, -1
/* EE75B0 80241000 AE630074 */ sw $v1, 0x74($s3)
/* EE75B4 80241004 860200A8 */ lh $v0, 0xa8($s0)
/* EE75B8 80241008 C602003C */ lwc1 $f2, 0x3c($s0)
/* EE75BC 8024100C 44820000 */ mtc1 $v0, $f0
/* EE75C0 80241010 00000000 */ nop
/* EE75C4 80241014 46800020 */ cvt.s.w $f0, $f0
/* EE75C8 80241018 46001080 */ add.s $f2, $f2, $f0
/* EE75CC 8024101C 3C014024 */ lui $at, 0x4024
/* EE75D0 80241020 44810800 */ mtc1 $at, $f1
/* EE75D4 80241024 44800000 */ mtc1 $zero, $f0
/* EE75D8 80241028 3C028010 */ lui $v0, %hi(D_800FFC90)
/* EE75DC 8024102C 8C42FC90 */ lw $v0, %lo(D_800FFC90)($v0)
/* EE75E0 80241030 460010A1 */ cvt.d.s $f2, $f2
/* EE75E4 80241034 46201080 */ add.d $f2, $f2, $f0
/* EE75E8 80241038 C440002C */ lwc1 $f0, 0x2c($v0)
/* EE75EC 8024103C 46000021 */ cvt.d.s $f0, $f0
/* EE75F0 80241040 4622003C */ c.lt.d $f0, $f2
/* EE75F4 80241044 00000000 */ nop
/* EE75F8 80241048 4500002C */ bc1f .L802410FC
/* EE75FC 8024104C 02A0202D */ daddu $a0, $s5, $zero
/* EE7600 80241050 AFA00010 */ sw $zero, 0x10($sp)
/* EE7604 80241054 8E46000C */ lw $a2, 0xc($s2)
/* EE7608 80241058 8E470010 */ lw $a3, 0x10($s2)
/* EE760C 8024105C 0C013469 */ jal func_8004D1A4
/* EE7610 80241060 0220282D */ daddu $a1, $s1, $zero
/* EE7614 80241064 10400025 */ beqz $v0, .L802410FC
/* EE7618 80241068 0000202D */ daddu $a0, $zero, $zero
/* EE761C 8024106C 0200282D */ daddu $a1, $s0, $zero
/* EE7620 80241070 0000302D */ daddu $a2, $zero, $zero
/* EE7624 80241074 2412000C */ addiu $s2, $zero, 0xc
/* EE7628 80241078 860300A8 */ lh $v1, 0xa8($s0)
/* EE762C 8024107C 3C013F80 */ lui $at, 0x3f80
/* EE7630 80241080 44810000 */ mtc1 $at, $f0
/* EE7634 80241084 3C014000 */ lui $at, 0x4000
/* EE7638 80241088 44811000 */ mtc1 $at, $f2
/* EE763C 8024108C 3C01C1A0 */ lui $at, 0xc1a0
/* EE7640 80241090 44812000 */ mtc1 $at, $f4
/* EE7644 80241094 44834000 */ mtc1 $v1, $f8
/* EE7648 80241098 00000000 */ nop
/* EE764C 8024109C 46804220 */ cvt.s.w $f8, $f8
/* EE7650 802410A0 44074000 */ mfc1 $a3, $f8
/* EE7654 802410A4 27A20038 */ addiu $v0, $sp, 0x38
/* EE7658 802410A8 AFB2001C */ sw $s2, 0x1c($sp)
/* EE765C 802410AC AFA20020 */ sw $v0, 0x20($sp)
/* EE7660 802410B0 E7A00010 */ swc1 $f0, 0x10($sp)
/* EE7664 802410B4 E7A20014 */ swc1 $f2, 0x14($sp)
/* EE7668 802410B8 0C01D444 */ jal func_80075110
/* EE766C 802410BC E7A40018 */ swc1 $f4, 0x18($sp)
/* EE7670 802410C0 0200202D */ daddu $a0, $s0, $zero
/* EE7674 802410C4 240502F4 */ addiu $a1, $zero, 0x2f4
/* EE7678 802410C8 C480003C */ lwc1 $f0, 0x3c($a0)
/* EE767C 802410CC 3C060020 */ lui $a2, 0x20
/* EE7680 802410D0 0C013600 */ jal func_8004D800
/* EE7684 802410D4 E4800064 */ swc1 $f0, 0x64($a0)
/* EE7688 802410D8 8E220018 */ lw $v0, 0x18($s1)
/* EE768C 802410DC 9442002A */ lhu $v0, 0x2a($v0)
/* EE7690 802410E0 30420001 */ andi $v0, $v0, 1
/* EE7694 802410E4 10400003 */ beqz $v0, .L802410F4
/* EE7698 802410E8 2402000A */ addiu $v0, $zero, 0xa
/* EE769C 802410EC 080904AD */ j .L802412B4
/* EE76A0 802410F0 AE620070 */ sw $v0, 0x70($s3)
.L802410F4:
/* EE76A4 802410F4 080904AD */ j .L802412B4
/* EE76A8 802410F8 AE720070 */ sw $s2, 0x70($s3)
.L802410FC:
/* EE76AC 802410FC 8E620074 */ lw $v0, 0x74($s3)
/* EE76B0 80241100 2442FFFF */ addiu $v0, $v0, -1
.L80241104:
/* EE76B4 80241104 08090444 */ j .L80241110
/* EE76B8 80241108 AE620074 */ sw $v0, 0x74($s3)
.L8024110C:
/* EE76BC 8024110C AE220090 */ sw $v0, 0x90($s1)
.L80241110:
/* EE76C0 80241110 8E2300D0 */ lw $v1, 0xd0($s1)
/* EE76C4 80241114 C6000040 */ lwc1 $f0, 0x40($s0)
/* EE76C8 80241118 C4620000 */ lwc1 $f2, ($v1)
/* EE76CC 8024111C 468010A0 */ cvt.s.w $f2, $f2
/* EE76D0 80241120 C4640008 */ lwc1 $f4, 8($v1)
/* EE76D4 80241124 46802120 */ cvt.s.w $f4, $f4
/* EE76D8 80241128 E7A00010 */ swc1 $f0, 0x10($sp)
/* EE76DC 8024112C 8E2200D0 */ lw $v0, 0xd0($s1)
/* EE76E0 80241130 44051000 */ mfc1 $a1, $f2
/* EE76E4 80241134 C440000C */ lwc1 $f0, 0xc($v0)
/* EE76E8 80241138 46800020 */ cvt.s.w $f0, $f0
/* EE76EC 8024113C E7A00014 */ swc1 $f0, 0x14($sp)
/* EE76F0 80241140 8E2200D0 */ lw $v0, 0xd0($s1)
/* EE76F4 80241144 44062000 */ mfc1 $a2, $f4
/* EE76F8 80241148 C4400010 */ lwc1 $f0, 0x10($v0)
/* EE76FC 8024114C 46800020 */ cvt.s.w $f0, $f0
/* EE7700 80241150 E7A00018 */ swc1 $f0, 0x18($sp)
/* EE7704 80241154 8C640018 */ lw $a0, 0x18($v1)
/* EE7708 80241158 0C013431 */ jal func_8004D0C4
/* EE770C 8024115C 8E070038 */ lw $a3, 0x38($s0)
/* EE7710 80241160 1040001A */ beqz $v0, .L802411CC
/* EE7714 80241164 00000000 */ nop
/* EE7718 80241168 8E060038 */ lw $a2, 0x38($s0)
/* EE771C 8024116C 8E2200D0 */ lw $v0, 0xd0($s1)
/* EE7720 80241170 8E070040 */ lw $a3, 0x40($s0)
/* EE7724 80241174 C44C0000 */ lwc1 $f12, ($v0)
/* EE7728 80241178 46806320 */ cvt.s.w $f12, $f12
/* EE772C 8024117C C44E0008 */ lwc1 $f14, 8($v0)
/* EE7730 80241180 0C00AC71 */ jal func_8002B1C4
/* EE7734 80241184 468073A0 */ cvt.s.w $f14, $f14
/* EE7738 80241188 C6020018 */ lwc1 $f2, 0x18($s0)
/* EE773C 8024118C 4600103C */ c.lt.s $f2, $f0
/* EE7740 80241190 00000000 */ nop
/* EE7744 80241194 4500000D */ bc1f .L802411CC
/* EE7748 80241198 E7A00034 */ swc1 $f0, 0x34($sp)
/* EE774C 8024119C C60C0038 */ lwc1 $f12, 0x38($s0)
/* EE7750 802411A0 8E2200D0 */ lw $v0, 0xd0($s1)
/* EE7754 802411A4 C60E0040 */ lwc1 $f14, 0x40($s0)
/* EE7758 802411A8 C4480000 */ lwc1 $f8, ($v0)
/* EE775C 802411AC 46804220 */ cvt.s.w $f8, $f8
/* EE7760 802411B0 44064000 */ mfc1 $a2, $f8
/* EE7764 802411B4 C4480008 */ lwc1 $f8, 8($v0)
/* EE7768 802411B8 46804220 */ cvt.s.w $f8, $f8
/* EE776C 802411BC 44074000 */ mfc1 $a3, $f8
/* EE7770 802411C0 0C00ABDC */ jal fio_validate_header_checksums
/* EE7774 802411C4 24140001 */ addiu $s4, $zero, 1
/* EE7778 802411C8 E600000C */ swc1 $f0, 0xc($s0)
.L802411CC:
/* EE777C 802411CC 8E2200D0 */ lw $v0, 0xd0($s1)
/* EE7780 802411D0 8C43000C */ lw $v1, 0xc($v0)
/* EE7784 802411D4 8C420010 */ lw $v0, 0x10($v0)
/* EE7788 802411D8 00621825 */ or $v1, $v1, $v0
/* EE778C 802411DC 00741825 */ or $v1, $v1, $s4
/* EE7790 802411E0 10600008 */ beqz $v1, .L80241204
/* EE7794 802411E4 00000000 */ nop
/* EE7798 802411E8 8602008C */ lh $v0, 0x8c($s0)
/* EE779C 802411EC 14400031 */ bnez $v0, .L802412B4
/* EE77A0 802411F0 00000000 */ nop
/* EE77A4 802411F4 8E050018 */ lw $a1, 0x18($s0)
/* EE77A8 802411F8 8E06000C */ lw $a2, 0xc($s0)
/* EE77AC 802411FC 0C00F909 */ jal func_8003E424
/* EE77B0 80241200 0200202D */ daddu $a0, $s0, $zero
.L80241204:
/* EE77B4 80241204 C600003C */ lwc1 $f0, 0x3c($s0)
/* EE77B8 80241208 3C014059 */ lui $at, 0x4059
/* EE77BC 8024120C 44811800 */ mtc1 $at, $f3
/* EE77C0 80241210 44801000 */ mtc1 $zero, $f2
/* EE77C4 80241214 46000021 */ cvt.d.s $f0, $f0
/* EE77C8 80241218 46220002 */ mul.d $f0, $f0, $f2
/* EE77CC 8024121C 00000000 */ nop
/* EE77D0 80241220 4620020D */ trunc.w.d $f8, $f0
/* EE77D4 80241224 E628007C */ swc1 $f8, 0x7c($s1)
/* EE77D8 80241228 8E420004 */ lw $v0, 4($s2)
/* EE77DC 8024122C 18400021 */ blez $v0, .L802412B4
/* EE77E0 80241230 00000000 */ nop
/* EE77E4 80241234 8602008E */ lh $v0, 0x8e($s0)
/* EE77E8 80241238 9603008E */ lhu $v1, 0x8e($s0)
/* EE77EC 8024123C 18400005 */ blez $v0, .L80241254
/* EE77F0 80241240 2462FFFF */ addiu $v0, $v1, -1
/* EE77F4 80241244 A602008E */ sh $v0, 0x8e($s0)
/* EE77F8 80241248 00021400 */ sll $v0, $v0, 0x10
/* EE77FC 8024124C 1C400019 */ bgtz $v0, .L802412B4
/* EE7800 80241250 00000000 */ nop
.L80241254:
/* EE7804 80241254 240403E8 */ addiu $a0, $zero, 0x3e8
/* EE7808 80241258 24020002 */ addiu $v0, $zero, 2
/* EE780C 8024125C 0C00AB3B */ jal func_8002ACEC
/* EE7810 80241260 AE620070 */ sw $v0, 0x70($s3)
/* EE7814 80241264 3C035555 */ lui $v1, 0x5555
/* EE7818 80241268 34635556 */ ori $v1, $v1, 0x5556
/* EE781C 8024126C 00430018 */ mult $v0, $v1
/* EE7820 80241270 000227C3 */ sra $a0, $v0, 0x1f
/* EE7824 80241274 00004010 */ mfhi $t0
/* EE7828 80241278 01042023 */ subu $a0, $t0, $a0
/* EE782C 8024127C 00041840 */ sll $v1, $a0, 1
/* EE7830 80241280 00641821 */ addu $v1, $v1, $a0
/* EE7834 80241284 00431023 */ subu $v0, $v0, $v1
/* EE7838 80241288 24430002 */ addiu $v1, $v0, 2
/* EE783C 8024128C AE630074 */ sw $v1, 0x74($s3)
/* EE7840 80241290 8E42002C */ lw $v0, 0x2c($s2)
/* EE7844 80241294 58400007 */ blezl $v0, .L802412B4
/* EE7848 80241298 AE600070 */ sw $zero, 0x70($s3)
/* EE784C 8024129C 8E420008 */ lw $v0, 8($s2)
/* EE7850 802412A0 18400003 */ blez $v0, .L802412B0
/* EE7854 802412A4 28620003 */ slti $v0, $v1, 3
/* EE7858 802412A8 10400002 */ beqz $v0, .L802412B4
/* EE785C 802412AC 00000000 */ nop
.L802412B0:
/* EE7860 802412B0 AE600070 */ sw $zero, 0x70($s3)
.L802412B4:
/* EE7864 802412B4 8FBF0058 */ lw $ra, 0x58($sp)
/* EE7868 802412B8 8FB50054 */ lw $s5, 0x54($sp)
/* EE786C 802412BC 8FB40050 */ lw $s4, 0x50($sp)
/* EE7870 802412C0 8FB3004C */ lw $s3, 0x4c($sp)
/* EE7874 802412C4 8FB20048 */ lw $s2, 0x48($sp)
/* EE7878 802412C8 8FB10044 */ lw $s1, 0x44($sp)
/* EE787C 802412CC 8FB00040 */ lw $s0, 0x40($sp)
/* EE7880 802412D0 D7BA0078 */ ldc1 $f26, 0x78($sp)
/* EE7884 802412D4 D7B80070 */ ldc1 $f24, 0x70($sp)
/* EE7888 802412D8 D7B60068 */ ldc1 $f22, 0x68($sp)
/* EE788C 802412DC D7B40060 */ ldc1 $f20, 0x60($sp)
/* EE7890 802412E0 03E00008 */ jr $ra
/* EE7894 802412E4 27BD0080 */ addiu $sp, $sp, 0x80