papermario/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s
2020-08-12 22:37:16 -04:00

551 lines
26 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_801489B8
/* 0DF0B8 801489B8 27BDFF90 */ addiu $sp, $sp, -0x70
/* 0DF0BC 801489BC F7B60048 */ sdc1 $f22, 0x48($sp)
/* 0DF0C0 801489C0 C7B60088 */ lwc1 $f22, 0x88($sp)
/* 0DF0C4 801489C4 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 0DF0C8 801489C8 C7B8008C */ lwc1 $f24, 0x8c($sp)
/* 0DF0CC 801489CC F7B40040 */ sdc1 $f20, 0x40($sp)
/* 0DF0D0 801489D0 C7B40090 */ lwc1 $f20, 0x90($sp)
/* 0DF0D4 801489D4 AFB30024 */ sw $s3, 0x24($sp)
/* 0DF0D8 801489D8 8FB30094 */ lw $s3, 0x94($sp)
/* 0DF0DC 801489DC AFB20020 */ sw $s2, 0x20($sp)
/* 0DF0E0 801489E0 8FB20098 */ lw $s2, 0x98($sp)
/* 0DF0E4 801489E4 AFB40028 */ sw $s4, 0x28($sp)
/* 0DF0E8 801489E8 8FB4009C */ lw $s4, 0x9c($sp)
/* 0DF0EC 801489EC AFB60030 */ sw $s6, 0x30($sp)
/* 0DF0F0 801489F0 8FB600A0 */ lw $s6, 0xa0($sp)
/* 0DF0F4 801489F4 AFB5002C */ sw $s5, 0x2c($sp)
/* 0DF0F8 801489F8 8FB500A4 */ lw $s5, 0xa4($sp)
/* 0DF0FC 801489FC AFB00018 */ sw $s0, 0x18($sp)
/* 0DF100 80148A00 8FB000AC */ lw $s0, 0xac($sp)
/* 0DF104 80148A04 AFB1001C */ sw $s1, 0x1c($sp)
/* 0DF108 80148A08 0080882D */ daddu $s1, $a0, $zero
/* 0DF10C 80148A0C F7BC0060 */ sdc1 $f28, 0x60($sp)
/* 0DF110 80148A10 4480E000 */ mtc1 $zero, $f28
/* 0DF114 80148A14 3C038007 */ lui $v1, 0x8007
/* 0DF118 80148A18 8C637410 */ lw $v1, 0x7410($v1)
/* 0DF11C 80148A1C 3C04800B */ lui $a0, 0x800b
/* 0DF120 80148A20 24841D80 */ addiu $a0, $a0, 0x1d80
/* 0DF124 80148A24 AFBF003C */ sw $ra, 0x3c($sp)
/* 0DF128 80148A28 4616B002 */ mul.s $f0, $f22, $f22
/* 0DF12C 80148A2C 00000000 */ nop
/* 0DF130 80148A30 AFBE0038 */ sw $fp, 0x38($sp)
/* 0DF134 80148A34 AFB70034 */ sw $s7, 0x34($sp)
/* 0DF138 80148A38 F7BE0068 */ sdc1 $f30, 0x68($sp)
/* 0DF13C 80148A3C F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 0DF140 80148A40 4618C082 */ mul.s $f2, $f24, $f24
/* 0DF144 80148A44 00000000 */ nop
/* 0DF148 80148A48 AFA50074 */ sw $a1, 0x74($sp)
/* 0DF14C 80148A4C AFA60078 */ sw $a2, 0x78($sp)
/* 0DF150 80148A50 AFA7007C */ sw $a3, 0x7c($sp)
/* 0DF154 80148A54 00031080 */ sll $v0, $v1, 2
/* 0DF158 80148A58 4614A102 */ mul.s $f4, $f20, $f20
/* 0DF15C 80148A5C 00000000 */ nop
/* 0DF160 80148A60 00431021 */ addu $v0, $v0, $v1
/* 0DF164 80148A64 00021080 */ sll $v0, $v0, 2
/* 0DF168 80148A68 00431023 */ subu $v0, $v0, $v1
/* 0DF16C 80148A6C 000218C0 */ sll $v1, $v0, 3
/* 0DF170 80148A70 46020000 */ add.s $f0, $f0, $f2
/* 0DF174 80148A74 00431021 */ addu $v0, $v0, $v1
/* 0DF178 80148A78 000210C0 */ sll $v0, $v0, 3
/* 0DF17C 80148A7C 46040300 */ add.s $f12, $f0, $f4
/* 0DF180 80148A80 3C013FF0 */ lui $at, 0x3ff0
/* 0DF184 80148A84 44811800 */ mtc1 $at, $f3
/* 0DF188 80148A88 44801000 */ mtc1 $zero, $f2
/* 0DF18C 80148A8C 46006021 */ cvt.d.s $f0, $f12
/* 0DF190 80148A90 4622003C */ c.lt.d $f0, $f2
/* 0DF194 80148A94 00000000 */ nop
/* 0DF198 80148A98 45000008 */ bc1f .L80148ABC
/* 0DF19C 80148A9C 0044F021 */ addu $fp, $v0, $a0
/* 0DF1A0 80148AA0 44900000 */ mtc1 $s0, $f0
/* 0DF1A4 80148AA4 00000000 */ nop
/* 0DF1A8 80148AA8 46800020 */ cvt.s.w $f0, $f0
/* 0DF1AC 80148AAC 460C0002 */ mul.s $f0, $f0, $f12
/* 0DF1B0 80148AB0 00000000 */ nop
/* 0DF1B4 80148AB4 4600028D */ trunc.w.s $f10, $f0
/* 0DF1B8 80148AB8 44105000 */ mfc1 $s0, $f10
.L80148ABC:
/* 0DF1BC 80148ABC 461C6032 */ c.eq.s $f12, $f28
/* 0DF1C0 80148AC0 00000000 */ nop
/* 0DF1C4 80148AC4 4501000D */ bc1t .L80148AFC
/* 0DF1C8 80148AC8 00000000 */ nop
/* 0DF1CC 80148ACC 46006084 */ sqrt.s $f2, $f12
/* 0DF1D0 80148AD0 46021032 */ c.eq.s $f2, $f2
/* 0DF1D4 80148AD4 00000000 */ nop
/* 0DF1D8 80148AD8 45010004 */ bc1t .L80148AEC
/* 0DF1DC 80148ADC 00000000 */ nop
/* 0DF1E0 80148AE0 0C0187BC */ jal sqrtf
/* 0DF1E4 80148AE4 00000000 */ nop
/* 0DF1E8 80148AE8 46000086 */ mov.s $f2, $f0
.L80148AEC:
/* 0DF1EC 80148AEC 3C013F80 */ lui $at, 0x3f80
/* 0DF1F0 80148AF0 44810000 */ mtc1 $at, $f0
/* 0DF1F4 80148AF4 00000000 */ nop
/* 0DF1F8 80148AF8 46020303 */ div.s $f12, $f0, $f2
.L80148AFC:
/* 0DF1FC 80148AFC 460CB582 */ mul.s $f22, $f22, $f12
/* 0DF200 80148B00 00000000 */ nop
/* 0DF204 80148B04 460CC602 */ mul.s $f24, $f24, $f12
/* 0DF208 80148B08 00000000 */ nop
/* 0DF20C 80148B0C 460CA502 */ mul.s $f20, $f20, $f12
/* 0DF210 80148B10 00000000 */ nop
/* 0DF214 80148B14 C6260008 */ lwc1 $f6, 8($s1)
/* 0DF218 80148B18 C7C200DC */ lwc1 $f2, 0xdc($fp)
/* 0DF21C 80148B1C 46003107 */ neg.s $f4, $f6
/* 0DF220 80148B20 46022082 */ mul.s $f2, $f4, $f2
/* 0DF224 80148B24 00000000 */ nop
/* 0DF228 80148B28 C6280028 */ lwc1 $f8, 0x28($s1)
/* 0DF22C 80148B2C C7C000FC */ lwc1 $f0, 0xfc($fp)
/* 0DF230 80148B30 46004002 */ mul.s $f0, $f8, $f0
/* 0DF234 80148B34 00000000 */ nop
/* 0DF238 80148B38 46001080 */ add.s $f2, $f2, $f0
/* 0DF23C 80148B3C 44800000 */ mtc1 $zero, $f0
/* 0DF240 80148B40 3C01BF80 */ lui $at, 0xbf80
/* 0DF244 80148B44 4481F000 */ mtc1 $at, $f30
/* 0DF248 80148B48 4600103C */ c.lt.s $f2, $f0
/* 0DF24C 80148B4C 00000000 */ nop
/* 0DF250 80148B50 45000004 */ bc1f .L80148B64
/* 0DF254 80148B54 00000000 */ nop
/* 0DF258 80148B58 3C013F80 */ lui $at, 0x3f80
/* 0DF25C 80148B5C 4481F000 */ mtc1 $at, $f30
/* 0DF260 80148B60 00000000 */ nop
.L80148B64:
/* 0DF264 80148B64 4600F03C */ c.lt.s $f30, $f0
/* 0DF268 80148B68 00000000 */ nop
/* 0DF26C 80148B6C 45000004 */ bc1f .L80148B80
/* 0DF270 80148B70 46003086 */ mov.s $f2, $f6
/* 0DF274 80148B74 C6200018 */ lwc1 $f0, 0x18($s1)
/* 0DF278 80148B78 080522E2 */ j .L80148B88
/* 0DF27C 80148B7C 46004207 */ neg.s $f8, $f8
.L80148B80:
/* 0DF280 80148B80 46002086 */ mov.s $f2, $f4
/* 0DF284 80148B84 C6200018 */ lwc1 $f0, 0x18($s1)
.L80148B88:
/* 0DF288 80148B88 46161102 */ mul.s $f4, $f2, $f22
/* 0DF28C 80148B8C 00000000 */ nop
/* 0DF290 80148B90 46180002 */ mul.s $f0, $f0, $f24
/* 0DF294 80148B94 00000000 */ nop
/* 0DF298 80148B98 46144202 */ mul.s $f8, $f8, $f20
/* 0DF29C 80148B9C 00000000 */ nop
/* 0DF2A0 80148BA0 C7C200FC */ lwc1 $f2, 0xfc($fp)
/* 0DF2A4 80148BA4 46001087 */ neg.s $f2, $f2
/* 0DF2A8 80148BA8 4602B082 */ mul.s $f2, $f22, $f2
/* 0DF2AC 80148BAC 00000000 */ nop
/* 0DF2B0 80148BB0 C7C600DC */ lwc1 $f6, 0xdc($fp)
/* 0DF2B4 80148BB4 4606A182 */ mul.s $f6, $f20, $f6
/* 0DF2B8 80148BB8 00000000 */ nop
/* 0DF2BC 80148BBC 46002100 */ add.s $f4, $f4, $f0
/* 0DF2C0 80148BC0 46082100 */ add.s $f4, $f4, $f8
/* 0DF2C4 80148BC4 44800000 */ mtc1 $zero, $f0
/* 0DF2C8 80148BC8 00000000 */ nop
/* 0DF2CC 80148BCC 4604003C */ c.lt.s $f0, $f4
/* 0DF2D0 80148BD0 00000000 */ nop
/* 0DF2D4 80148BD4 45000007 */ bc1f .L80148BF4
/* 0DF2D8 80148BD8 46061180 */ add.s $f6, $f2, $f6
/* 0DF2DC 80148BDC 44900000 */ mtc1 $s0, $f0
/* 0DF2E0 80148BE0 00000000 */ nop
/* 0DF2E4 80148BE4 46800020 */ cvt.s.w $f0, $f0
/* 0DF2E8 80148BE8 46060682 */ mul.s $f26, $f0, $f6
/* 0DF2EC 80148BEC 08052302 */ j .L80148C08
/* 0DF2F0 80148BF0 00000000 */ nop
.L80148BF4:
/* 0DF2F4 80148BF4 44901000 */ mtc1 $s0, $f2
/* 0DF2F8 80148BF8 00000000 */ nop
/* 0DF2FC 80148BFC 468010A0 */ cvt.s.w $f2, $f2
/* 0DF300 80148C00 46061682 */ mul.s $f26, $f2, $f6
/* 0DF304 80148C04 00000000 */ nop
.L80148C08:
/* 0DF308 80148C08 4616B002 */ mul.s $f0, $f22, $f22
/* 0DF30C 80148C0C 00000000 */ nop
/* 0DF310 80148C10 4614A082 */ mul.s $f2, $f20, $f20
/* 0DF314 80148C14 00000000 */ nop
/* 0DF318 80148C18 46020500 */ add.s $f20, $f0, $f2
/* 0DF31C 80148C1C 44800000 */ mtc1 $zero, $f0
/* 0DF320 80148C20 00000000 */ nop
/* 0DF324 80148C24 4600A032 */ c.eq.s $f20, $f0
/* 0DF328 80148C28 00000000 */ nop
/* 0DF32C 80148C2C 45010009 */ bc1t .L80148C54
/* 0DF330 80148C30 00000000 */ nop
/* 0DF334 80148C34 4600A004 */ sqrt.s $f0, $f20
/* 0DF338 80148C38 46000032 */ c.eq.s $f0, $f0
/* 0DF33C 80148C3C 00000000 */ nop
/* 0DF340 80148C40 45030004 */ bc1tl .L80148C54
/* 0DF344 80148C44 46000506 */ mov.s $f20, $f0
/* 0DF348 80148C48 0C0187BC */ jal sqrtf
/* 0DF34C 80148C4C 4600A306 */ mov.s $f12, $f20
/* 0DF350 80148C50 46000506 */ mov.s $f20, $f0
.L80148C54:
/* 0DF354 80148C54 C6200004 */ lwc1 $f0, 4($s1)
/* 0DF358 80148C58 46000007 */ neg.s $f0, $f0
/* 0DF35C 80148C5C 46000002 */ mul.s $f0, $f0, $f0
/* 0DF360 80148C60 00000000 */ nop
/* 0DF364 80148C64 C6220024 */ lwc1 $f2, 0x24($s1)
/* 0DF368 80148C68 46021082 */ mul.s $f2, $f2, $f2
/* 0DF36C 80148C6C 00000000 */ nop
/* 0DF370 80148C70 46020300 */ add.s $f12, $f0, $f2
/* 0DF374 80148C74 44800000 */ mtc1 $zero, $f0
/* 0DF378 80148C78 C6360014 */ lwc1 $f22, 0x14($s1)
/* 0DF37C 80148C7C 46006032 */ c.eq.s $f12, $f0
/* 0DF380 80148C80 00000000 */ nop
/* 0DF384 80148C84 45010009 */ bc1t .L80148CAC
/* 0DF388 80148C88 00000000 */ nop
/* 0DF38C 80148C8C 46006004 */ sqrt.s $f0, $f12
/* 0DF390 80148C90 46000032 */ c.eq.s $f0, $f0
/* 0DF394 80148C94 00000000 */ nop
/* 0DF398 80148C98 45030004 */ bc1tl .L80148CAC
/* 0DF39C 80148C9C 46000306 */ mov.s $f12, $f0
/* 0DF3A0 80148CA0 0C0187BC */ jal sqrtf
/* 0DF3A4 80148CA4 00000000 */ nop
/* 0DF3A8 80148CA8 46000306 */ mov.s $f12, $f0
.L80148CAC:
/* 0DF3AC 80148CAC 460CA002 */ mul.s $f0, $f20, $f12
/* 0DF3B0 80148CB0 00000000 */ nop
/* 0DF3B4 80148CB4 4616C082 */ mul.s $f2, $f24, $f22
/* 0DF3B8 80148CB8 00000000 */ nop
/* 0DF3BC 80148CBC 46020000 */ add.s $f0, $f0, $f2
/* 0DF3C0 80148CC0 2A620100 */ slti $v0, $s3, 0x100
/* 0DF3C4 80148CC4 44901000 */ mtc1 $s0, $f2
/* 0DF3C8 80148CC8 00000000 */ nop
/* 0DF3CC 80148CCC 468010A0 */ cvt.s.w $f2, $f2
/* 0DF3D0 80148CD0 46000007 */ neg.s $f0, $f0
/* 0DF3D4 80148CD4 46020702 */ mul.s $f28, $f0, $f2
/* 0DF3D8 80148CD8 00000000 */ nop
/* 0DF3DC 80148CDC 50400001 */ beql $v0, $zero, .L80148CE4
/* 0DF3E0 80148CE0 241300FF */ addiu $s3, $zero, 0xff
.L80148CE4:
/* 0DF3E4 80148CE4 2A420100 */ slti $v0, $s2, 0x100
/* 0DF3E8 80148CE8 50400001 */ beql $v0, $zero, .L80148CF0
/* 0DF3EC 80148CEC 241200FF */ addiu $s2, $zero, 0xff
.L80148CF0:
/* 0DF3F0 80148CF0 2A820100 */ slti $v0, $s4, 0x100
/* 0DF3F4 80148CF4 50400001 */ beql $v0, $zero, .L80148CFC
/* 0DF3F8 80148CF8 241400FF */ addiu $s4, $zero, 0xff
.L80148CFC:
/* 0DF3FC 80148CFC 2AC20100 */ slti $v0, $s6, 0x100
/* 0DF400 80148D00 50400001 */ beql $v0, $zero, .L80148D08
/* 0DF404 80148D04 241600FF */ addiu $s6, $zero, 0xff
.L80148D08:
/* 0DF408 80148D08 2AA20100 */ slti $v0, $s5, 0x100
/* 0DF40C 80148D0C 50400001 */ beql $v0, $zero, .L80148D14
/* 0DF410 80148D10 241500FF */ addiu $s5, $zero, 0xff
.L80148D14:
/* 0DF414 80148D14 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 0DF418 80148D18 29E20100 */ slti $v0, $t7, 0x100
/* 0DF41C 80148D1C 14400003 */ bnez $v0, .L80148D2C
/* 0DF420 80148D20 3C07FC21 */ lui $a3, 0xfc21
/* 0DF424 80148D24 240F00FF */ addiu $t7, $zero, 0xff
/* 0DF428 80148D28 AFAF00A8 */ sw $t7, 0xa8($sp)
.L80148D2C:
/* 0DF42C 80148D2C 34E7FE07 */ ori $a3, $a3, 0xfe07
/* 0DF430 80148D30 3C06F167 */ lui $a2, 0xf167
/* 0DF434 80148D34 34C6F27F */ ori $a2, $a2, 0xf27f
/* 0DF438 80148D38 3C0DFF10 */ lui $t5, 0xff10
/* 0DF43C 80148D3C 35AD013F */ ori $t5, $t5, 0x13f
/* 0DF440 80148D40 3C080004 */ lui $t0, 4
/* 0DF444 80148D44 35080004 */ ori $t0, $t0, 4
/* 0DF448 80148D48 3C0FE300 */ lui $t7, 0xe300
/* 0DF44C 80148D4C 35EF0A11 */ ori $t7, $t7, 0xa11
/* 0DF450 80148D50 AFAF0010 */ sw $t7, 0x10($sp)
/* 0DF454 80148D54 3C0FE200 */ lui $t7, 0xe200
/* 0DF458 80148D58 35EF001C */ ori $t7, $t7, 0x1c
/* 0DF45C 80148D5C 3C090F0A */ lui $t1, 0xf0a
/* 0DF460 80148D60 35294000 */ ori $t1, $t1, 0x4000
/* 0DF464 80148D64 3C0BFC34 */ lui $t3, 0xfc34
/* 0DF468 80148D68 356B7E68 */ ori $t3, $t3, 0x7e68
/* 0DF46C 80148D6C 3C0A55FE */ lui $t2, 0x55fe
/* 0DF470 80148D70 354AFD7E */ ori $t2, $t2, 0xfd7e
/* 0DF474 80148D74 3C0CE404 */ lui $t4, 0xe404
/* 0DF478 80148D78 358C0004 */ ori $t4, $t4, 4
/* 0DF47C 80148D7C 3C0E1000 */ lui $t6, 0x1000
/* 0DF480 80148D80 3C17800A */ lui $s7, 0x800a
/* 0DF484 80148D84 26F7A66C */ addiu $s7, $s7, -0x5994
/* 0DF488 80148D88 35CE0400 */ ori $t6, $t6, 0x400
/* 0DF48C 80148D8C 3C05FA00 */ lui $a1, 0xfa00
/* 0DF490 80148D90 00131E00 */ sll $v1, $s3, 0x18
/* 0DF494 80148D94 324200FF */ andi $v0, $s2, 0xff
/* 0DF498 80148D98 00021400 */ sll $v0, $v0, 0x10
/* 0DF49C 80148D9C 00621825 */ or $v1, $v1, $v0
/* 0DF4A0 80148DA0 328200FF */ andi $v0, $s4, 0xff
/* 0DF4A4 80148DA4 00021200 */ sll $v0, $v0, 8
/* 0DF4A8 80148DA8 00621825 */ or $v1, $v1, $v0
/* 0DF4AC 80148DAC 3C138016 */ lui $s3, 0x8016
/* 0DF4B0 80148DB0 26739880 */ addiu $s3, $s3, -0x6780
/* 0DF4B4 80148DB4 3C12ED00 */ lui $s2, 0xed00
/* 0DF4B8 80148DB8 AFAF0014 */ sw $t7, 0x14($sp)
/* 0DF4BC 80148DBC 8EF00000 */ lw $s0, ($s7)
/* 0DF4C0 80148DC0 3C14FB00 */ lui $s4, 0xfb00
/* 0DF4C4 80148DC4 0200202D */ daddu $a0, $s0, $zero
/* 0DF4C8 80148DC8 26100008 */ addiu $s0, $s0, 8
/* 0DF4CC 80148DCC AEF00000 */ sw $s0, ($s7)
/* 0DF4D0 80148DD0 AC850000 */ sw $a1, ($a0)
/* 0DF4D4 80148DD4 8FAF0084 */ lw $t7, 0x84($sp)
/* 0DF4D8 80148DD8 3C11E700 */ lui $s1, 0xe700
/* 0DF4DC 80148DDC 31E200FF */ andi $v0, $t7, 0xff
/* 0DF4E0 80148DE0 00621825 */ or $v1, $v1, $v0
/* 0DF4E4 80148DE4 26020008 */ addiu $v0, $s0, 8
/* 0DF4E8 80148DE8 AC830004 */ sw $v1, 4($a0)
/* 0DF4EC 80148DEC AEE20000 */ sw $v0, ($s7)
/* 0DF4F0 80148DF0 26020010 */ addiu $v0, $s0, 0x10
/* 0DF4F4 80148DF4 AE070000 */ sw $a3, ($s0)
/* 0DF4F8 80148DF8 AE060004 */ sw $a2, 4($s0)
/* 0DF4FC 80148DFC AEE20000 */ sw $v0, ($s7)
/* 0DF500 80148E00 26020018 */ addiu $v0, $s0, 0x18
/* 0DF504 80148E04 AE0D0008 */ sw $t5, 8($s0)
/* 0DF508 80148E08 AE13000C */ sw $s3, 0xc($s0)
/* 0DF50C 80148E0C AEE20000 */ sw $v0, ($s7)
/* 0DF510 80148E10 26020020 */ addiu $v0, $s0, 0x20
/* 0DF514 80148E14 AE120010 */ sw $s2, 0x10($s0)
/* 0DF518 80148E18 AE080014 */ sw $t0, 0x14($s0)
/* 0DF51C 80148E1C AEE20000 */ sw $v0, ($s7)
/* 0DF520 80148E20 8FAF0010 */ lw $t7, 0x10($sp)
/* 0DF524 80148E24 24020CF0 */ addiu $v0, $zero, 0xcf0
/* 0DF528 80148E28 AE02001C */ sw $v0, 0x1c($s0)
/* 0DF52C 80148E2C 26020028 */ addiu $v0, $s0, 0x28
/* 0DF530 80148E30 AE0F0018 */ sw $t7, 0x18($s0)
/* 0DF534 80148E34 AEE20000 */ sw $v0, ($s7)
/* 0DF538 80148E38 8FAF0014 */ lw $t7, 0x14($sp)
/* 0DF53C 80148E3C 26020030 */ addiu $v0, $s0, 0x30
/* 0DF540 80148E40 AE090024 */ sw $t1, 0x24($s0)
/* 0DF544 80148E44 AE0F0020 */ sw $t7, 0x20($s0)
/* 0DF548 80148E48 AEE20000 */ sw $v0, ($s7)
/* 0DF54C 80148E4C 26020038 */ addiu $v0, $s0, 0x38
/* 0DF550 80148E50 AE03002C */ sw $v1, 0x2c($s0)
/* 0DF554 80148E54 00161E00 */ sll $v1, $s6, 0x18
/* 0DF558 80148E58 AE050028 */ sw $a1, 0x28($s0)
/* 0DF55C 80148E5C AEE20000 */ sw $v0, ($s7)
/* 0DF560 80148E60 32A200FF */ andi $v0, $s5, 0xff
/* 0DF564 80148E64 00021400 */ sll $v0, $v0, 0x10
/* 0DF568 80148E68 AE140030 */ sw $s4, 0x30($s0)
/* 0DF56C 80148E6C 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 0DF570 80148E70 00621825 */ or $v1, $v1, $v0
/* 0DF574 80148E74 31E200FF */ andi $v0, $t7, 0xff
/* 0DF578 80148E78 00021200 */ sll $v0, $v0, 8
/* 0DF57C 80148E7C 00621825 */ or $v1, $v1, $v0
/* 0DF580 80148E80 26020040 */ addiu $v0, $s0, 0x40
/* 0DF584 80148E84 AE030034 */ sw $v1, 0x34($s0)
/* 0DF588 80148E88 AEE20000 */ sw $v0, ($s7)
/* 0DF58C 80148E8C 26020048 */ addiu $v0, $s0, 0x48
/* 0DF590 80148E90 AE0B0038 */ sw $t3, 0x38($s0)
/* 0DF594 80148E94 AE0A003C */ sw $t2, 0x3c($s0)
/* 0DF598 80148E98 AEE20000 */ sw $v0, ($s7)
/* 0DF59C 80148E9C 3C020200 */ lui $v0, 0x200
/* 0DF5A0 80148EA0 AE020044 */ sw $v0, 0x44($s0)
/* 0DF5A4 80148EA4 26020050 */ addiu $v0, $s0, 0x50
/* 0DF5A8 80148EA8 AE0C0040 */ sw $t4, 0x40($s0)
/* 0DF5AC 80148EAC AEE20000 */ sw $v0, ($s7)
/* 0DF5B0 80148EB0 3C02E100 */ lui $v0, 0xe100
/* 0DF5B4 80148EB4 AE020048 */ sw $v0, 0x48($s0)
/* 0DF5B8 80148EB8 26020058 */ addiu $v0, $s0, 0x58
/* 0DF5BC 80148EBC AE00004C */ sw $zero, 0x4c($s0)
/* 0DF5C0 80148EC0 AEE20000 */ sw $v0, ($s7)
/* 0DF5C4 80148EC4 3C02F100 */ lui $v0, 0xf100
/* 0DF5C8 80148EC8 AE020050 */ sw $v0, 0x50($s0)
/* 0DF5CC 80148ECC 26020060 */ addiu $v0, $s0, 0x60
/* 0DF5D0 80148ED0 AE0E0054 */ sw $t6, 0x54($s0)
/* 0DF5D4 80148ED4 AEE20000 */ sw $v0, ($s7)
/* 0DF5D8 80148ED8 3C04800A */ lui $a0, 0x800a
/* 0DF5DC 80148EDC 8C84A64C */ lw $a0, -0x59b4($a0)
/* 0DF5E0 80148EE0 26020068 */ addiu $v0, $s0, 0x68
/* 0DF5E4 80148EE4 AE110058 */ sw $s1, 0x58($s0)
/* 0DF5E8 80148EE8 AE00005C */ sw $zero, 0x5c($s0)
/* 0DF5EC 80148EEC AEE20000 */ sw $v0, ($s7)
/* 0DF5F0 80148EF0 0C0187A4 */ jal osVirtualToPhysical
/* 0DF5F4 80148EF4 AE0D0060 */ sw $t5, 0x60($s0)
/* 0DF5F8 80148EF8 3C06F500 */ lui $a2, 0xf500
/* 0DF5FC 80148EFC 34C60110 */ ori $a2, $a2, 0x110
/* 0DF600 80148F00 3C070703 */ lui $a3, 0x703
/* 0DF604 80148F04 34E7C000 */ ori $a3, $a3, 0xc000
/* 0DF608 80148F08 3C080018 */ lui $t0, 0x18
/* 0DF60C 80148F0C 8EEA0000 */ lw $t2, ($s7)
/* 0DF610 80148F10 3C014080 */ lui $at, 0x4080
/* 0DF614 80148F14 44812000 */ mtc1 $at, $f4
/* 0DF618 80148F18 3508AC30 */ ori $t0, $t0, 0xac30
/* 0DF61C 80148F1C AE020064 */ sw $v0, 0x64($s0)
/* 0DF620 80148F20 0140282D */ daddu $a1, $t2, $zero
/* 0DF624 80148F24 254A0008 */ addiu $t2, $t2, 8
/* 0DF628 80148F28 25420008 */ addiu $v0, $t2, 8
/* 0DF62C 80148F2C AEEA0000 */ sw $t2, ($s7)
/* 0DF630 80148F30 AEE20000 */ sw $v0, ($s7)
/* 0DF634 80148F34 25420010 */ addiu $v0, $t2, 0x10
/* 0DF638 80148F38 AEE20000 */ sw $v0, ($s7)
/* 0DF63C 80148F3C 25420018 */ addiu $v0, $t2, 0x18
/* 0DF640 80148F40 AEE20000 */ sw $v0, ($s7)
/* 0DF644 80148F44 87C2000E */ lh $v0, 0xe($fp)
/* 0DF648 80148F48 87C30010 */ lh $v1, 0x10($fp)
/* 0DF64C 80148F4C 44821000 */ mtc1 $v0, $f2
/* 0DF650 80148F50 00000000 */ nop
/* 0DF654 80148F54 468010A0 */ cvt.s.w $f2, $f2
/* 0DF658 80148F58 46041082 */ mul.s $f2, $f2, $f4
/* 0DF65C 80148F5C 00000000 */ nop
/* 0DF660 80148F60 25420020 */ addiu $v0, $t2, 0x20
/* 0DF664 80148F64 44830000 */ mtc1 $v1, $f0
/* 0DF668 80148F68 00000000 */ nop
/* 0DF66C 80148F6C 46800020 */ cvt.s.w $f0, $f0
/* 0DF670 80148F70 AEE20000 */ sw $v0, ($s7)
/* 0DF674 80148F74 25420028 */ addiu $v0, $t2, 0x28
/* 0DF678 80148F78 46040002 */ mul.s $f0, $f0, $f4
/* 0DF67C 80148F7C 00000000 */ nop
/* 0DF680 80148F80 AEE20000 */ sw $v0, ($s7)
/* 0DF684 80148F84 4600128D */ trunc.w.s $f10, $f2
/* 0DF688 80148F88 44035000 */ mfc1 $v1, $f10
/* 0DF68C 80148F8C 00000000 */ nop
/* 0DF690 80148F90 30630FFF */ andi $v1, $v1, 0xfff
/* 0DF694 80148F94 00031B00 */ sll $v1, $v1, 0xc
/* 0DF698 80148F98 4600028D */ trunc.w.s $f10, $f0
/* 0DF69C 80148F9C 44025000 */ mfc1 $v0, $f10
/* 0DF6A0 80148FA0 00000000 */ nop
/* 0DF6A4 80148FA4 30420FFF */ andi $v0, $v0, 0xfff
/* 0DF6A8 80148FA8 00521025 */ or $v0, $v0, $s2
/* 0DF6AC 80148FAC 00621825 */ or $v1, $v1, $v0
/* 0DF6B0 80148FB0 ACA30000 */ sw $v1, ($a1)
/* 0DF6B4 80148FB4 87C3000E */ lh $v1, 0xe($fp)
/* 0DF6B8 80148FB8 87C4000A */ lh $a0, 0xa($fp)
/* 0DF6BC 80148FBC 25420030 */ addiu $v0, $t2, 0x30
/* 0DF6C0 80148FC0 AEE20000 */ sw $v0, ($s7)
/* 0DF6C4 80148FC4 87C20010 */ lh $v0, 0x10($fp)
/* 0DF6C8 80148FC8 00641821 */ addu $v1, $v1, $a0
/* 0DF6CC 80148FCC 44831000 */ mtc1 $v1, $f2
/* 0DF6D0 80148FD0 00000000 */ nop
/* 0DF6D4 80148FD4 468010A0 */ cvt.s.w $f2, $f2
/* 0DF6D8 80148FD8 25440038 */ addiu $a0, $t2, 0x38
/* 0DF6DC 80148FDC 87C3000C */ lh $v1, 0xc($fp)
/* 0DF6E0 80148FE0 46041082 */ mul.s $f2, $f2, $f4
/* 0DF6E4 80148FE4 00000000 */ nop
/* 0DF6E8 80148FE8 AEE40000 */ sw $a0, ($s7)
/* 0DF6EC 80148FEC 00431021 */ addu $v0, $v0, $v1
/* 0DF6F0 80148FF0 44820000 */ mtc1 $v0, $f0
/* 0DF6F4 80148FF4 00000000 */ nop
/* 0DF6F8 80148FF8 46800020 */ cvt.s.w $f0, $f0
/* 0DF6FC 80148FFC 25420040 */ addiu $v0, $t2, 0x40
/* 0DF700 80149000 46040002 */ mul.s $f0, $f0, $f4
/* 0DF704 80149004 00000000 */ nop
/* 0DF708 80149008 AEE20000 */ sw $v0, ($s7)
/* 0DF70C 8014900C 4600128D */ trunc.w.s $f10, $f2
/* 0DF710 80149010 44025000 */ mfc1 $v0, $f10
/* 0DF714 80149014 00000000 */ nop
/* 0DF718 80149018 30420FFF */ andi $v0, $v0, 0xfff
/* 0DF71C 8014901C 00021300 */ sll $v0, $v0, 0xc
/* 0DF720 80149020 4600028D */ trunc.w.s $f10, $f0
/* 0DF724 80149024 44035000 */ mfc1 $v1, $f10
/* 0DF728 80149028 00000000 */ nop
/* 0DF72C 8014902C 30630FFF */ andi $v1, $v1, 0xfff
/* 0DF730 80149030 00431025 */ or $v0, $v0, $v1
/* 0DF734 80149034 ACA20004 */ sw $v0, 4($a1)
/* 0DF738 80149038 3C02FD10 */ lui $v0, 0xfd10
/* 0DF73C 8014903C AD420000 */ sw $v0, ($t2)
/* 0DF740 80149040 3C02E800 */ lui $v0, 0xe800
/* 0DF744 80149044 AD420008 */ sw $v0, 8($t2)
/* 0DF748 80149048 3C020700 */ lui $v0, 0x700
/* 0DF74C 8014904C AD420014 */ sw $v0, 0x14($t2)
/* 0DF750 80149050 3C02E600 */ lui $v0, 0xe600
/* 0DF754 80149054 AD420018 */ sw $v0, 0x18($t2)
/* 0DF758 80149058 3C02F000 */ lui $v0, 0xf000
/* 0DF75C 8014905C AD530004 */ sw $s3, 4($t2)
/* 0DF760 80149060 AD40000C */ sw $zero, 0xc($t2)
/* 0DF764 80149064 AD460010 */ sw $a2, 0x10($t2)
/* 0DF768 80149068 AD40001C */ sw $zero, 0x1c($t2)
/* 0DF76C 8014906C AD420020 */ sw $v0, 0x20($t2)
/* 0DF770 80149070 AD470024 */ sw $a3, 0x24($t2)
/* 0DF774 80149074 AD510028 */ sw $s1, 0x28($t2)
/* 0DF778 80149078 AD40002C */ sw $zero, 0x2c($t2)
/* 0DF77C 8014907C 8FAF0010 */ lw $t7, 0x10($sp)
/* 0DF780 80149080 3C096464 */ lui $t1, 0x6464
/* 0DF784 80149084 AD4F0030 */ sw $t7, 0x30($t2)
/* 0DF788 80149088 AD480034 */ sw $t0, 0x34($t2)
/* 0DF78C 8014908C 8FAF0014 */ lw $t7, 0x14($sp)
/* 0DF790 80149090 352964FF */ ori $t1, $t1, 0x64ff
/* 0DF794 80149094 AD4F0038 */ sw $t7, 0x38($t2)
/* 0DF798 80149098 8FA200B0 */ lw $v0, 0xb0($sp)
/* 0DF79C 8014909C 3C030C08 */ lui $v1, 0xc08
/* 0DF7A0 801490A0 00431025 */ or $v0, $v0, $v1
/* 0DF7A4 801490A4 AD42003C */ sw $v0, 0x3c($t2)
/* 0DF7A8 801490A8 25420048 */ addiu $v0, $t2, 0x48
/* 0DF7AC 801490AC AEE20000 */ sw $v0, ($s7)
/* 0DF7B0 801490B0 AD540040 */ sw $s4, 0x40($t2)
/* 0DF7B4 801490B4 AD490044 */ sw $t1, 0x44($t2)
/* 0DF7B8 801490B8 8FAF0084 */ lw $t7, 0x84($sp)
/* 0DF7BC 801490BC 240200FF */ addiu $v0, $zero, 0xff
/* 0DF7C0 801490C0 15E20005 */ bne $t7, $v0, .L801490D8
/* 0DF7C4 801490C4 3C04FC11 */ lui $a0, 0xfc11
/* 0DF7C8 801490C8 34847E80 */ ori $a0, $a0, 0x7e80
/* 0DF7CC 801490CC 3C03F5FF */ lui $v1, 0xf5ff
/* 0DF7D0 801490D0 08052439 */ j .L801490E4
/* 0DF7D4 801490D4 3463F438 */ ori $v1, $v1, 0xf438
.L801490D8:
/* 0DF7D8 801490D8 34843480 */ ori $a0, $a0, 0x3480
/* 0DF7DC 801490DC 3C03F5FF */ lui $v1, 0xf5ff
/* 0DF7E0 801490E0 3463FE38 */ ori $v1, $v1, 0xfe38
.L801490E4:
/* 0DF7E4 801490E4 25420050 */ addiu $v0, $t2, 0x50
/* 0DF7E8 801490E8 AEE20000 */ sw $v0, ($s7)
/* 0DF7EC 801490EC AD440048 */ sw $a0, 0x48($t2)
/* 0DF7F0 801490F0 AD43004C */ sw $v1, 0x4c($t2)
/* 0DF7F4 801490F4 3C03800A */ lui $v1, 0x800a
/* 0DF7F8 801490F8 2463A66C */ addiu $v1, $v1, -0x5994
/* 0DF7FC 801490FC 8C620000 */ lw $v0, ($v1)
/* 0DF800 80149100 461ED002 */ mul.s $f0, $f26, $f30
/* 0DF804 80149104 00000000 */ nop
/* 0DF808 80149108 0040382D */ daddu $a3, $v0, $zero
/* 0DF80C 8014910C 24420008 */ addiu $v0, $v0, 8
/* 0DF810 80149110 AC620000 */ sw $v0, ($v1)
/* 0DF814 80149114 8FAF0074 */ lw $t7, 0x74($sp)
/* 0DF818 80149118 3C04F200 */ lui $a0, 0xf200
/* 0DF81C 8014911C 25E30100 */ addiu $v1, $t7, 0x100
/* 0DF820 80149120 00031880 */ sll $v1, $v1, 2
/* 0DF824 80149124 4600028D */ trunc.w.s $f10, $f0
/* 0DF828 80149128 44055000 */ mfc1 $a1, $f10
/* 0DF82C 8014912C 00000000 */ nop
/* 0DF830 80149130 00651821 */ addu $v1, $v1, $a1
/* 0DF834 80149134 30630FFF */ andi $v1, $v1, 0xfff
/* 0DF838 80149138 8FAF0078 */ lw $t7, 0x78($sp)
/* 0DF83C 8014913C 00031B00 */ sll $v1, $v1, 0xc
/* 0DF840 80149140 25E20100 */ addiu $v0, $t7, 0x100
/* 0DF844 80149144 00021080 */ sll $v0, $v0, 2
/* 0DF848 80149148 4600E28D */ trunc.w.s $f10, $f28
/* 0DF84C 8014914C 44065000 */ mfc1 $a2, $f10
/* 0DF850 80149150 00000000 */ nop
/* 0DF854 80149154 00461021 */ addu $v0, $v0, $a2
/* 0DF858 80149158 30420FFF */ andi $v0, $v0, 0xfff
/* 0DF85C 8014915C 00441025 */ or $v0, $v0, $a0
/* 0DF860 80149160 00621825 */ or $v1, $v1, $v0
/* 0DF864 80149164 ACE30000 */ sw $v1, ($a3)
/* 0DF868 80149168 8FAF007C */ lw $t7, 0x7c($sp)
/* 0DF86C 8014916C 8FA20080 */ lw $v0, 0x80($sp)
/* 0DF870 80149170 25E300FF */ addiu $v1, $t7, 0xff
/* 0DF874 80149174 00031880 */ sll $v1, $v1, 2
/* 0DF878 80149178 00651821 */ addu $v1, $v1, $a1
/* 0DF87C 8014917C 30630FFF */ andi $v1, $v1, 0xfff
/* 0DF880 80149180 00031B00 */ sll $v1, $v1, 0xc
/* 0DF884 80149184 244200FF */ addiu $v0, $v0, 0xff
/* 0DF888 80149188 00021080 */ sll $v0, $v0, 2
/* 0DF88C 8014918C 00461021 */ addu $v0, $v0, $a2
/* 0DF890 80149190 30420FFF */ andi $v0, $v0, 0xfff
/* 0DF894 80149194 00621825 */ or $v1, $v1, $v0
/* 0DF898 80149198 ACE30004 */ sw $v1, 4($a3)
/* 0DF89C 8014919C 8FBF003C */ lw $ra, 0x3c($sp)
/* 0DF8A0 801491A0 8FBE0038 */ lw $fp, 0x38($sp)
/* 0DF8A4 801491A4 8FB70034 */ lw $s7, 0x34($sp)
/* 0DF8A8 801491A8 8FB60030 */ lw $s6, 0x30($sp)
/* 0DF8AC 801491AC 8FB5002C */ lw $s5, 0x2c($sp)
/* 0DF8B0 801491B0 8FB40028 */ lw $s4, 0x28($sp)
/* 0DF8B4 801491B4 8FB30024 */ lw $s3, 0x24($sp)
/* 0DF8B8 801491B8 8FB20020 */ lw $s2, 0x20($sp)
/* 0DF8BC 801491BC 8FB1001C */ lw $s1, 0x1c($sp)
/* 0DF8C0 801491C0 8FB00018 */ lw $s0, 0x18($sp)
/* 0DF8C4 801491C4 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* 0DF8C8 801491C8 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* 0DF8CC 801491CC D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 0DF8D0 801491D0 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 0DF8D4 801491D4 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 0DF8D8 801491D8 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 0DF8DC 801491DC 03E00008 */ jr $ra
/* 0DF8E0 801491E0 27BD0070 */ addiu $sp, $sp, 0x70