papermario/ver/us/asm/nonmatchings/code_402640/func_E011618C.s
Ethan Roseman ab79244991
JP rom beginnings (#197)
* data, splat fixes

* fix .gitrepo?

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "fb8315b319"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "fb8315b319"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* audio updates (thanks Clover)

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "c56195a9c5"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "c56195a9c5"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* work on jp rom

* remove comment

* fix duplicate asm labels

* git subrepo pull (merge) tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "db51ae16c2"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "db51ae16c2"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* fix configure and delete grub

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "97e51bdf21"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "97e51bdf21"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* file split, moving things into os

* header
2021-03-04 18:00:56 +09:00

358 lines
18 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E011618C
/* 4027CC E011618C 27BDFF88 */ addiu $sp, $sp, -0x78
/* 4027D0 E0116190 AFB40030 */ sw $s4, 0x30($sp)
/* 4027D4 E0116194 0080A02D */ daddu $s4, $a0, $zero
/* 4027D8 E0116198 AFBF0040 */ sw $ra, 0x40($sp)
/* 4027DC E011619C AFB7003C */ sw $s7, 0x3c($sp)
/* 4027E0 E01161A0 AFB60038 */ sw $s6, 0x38($sp)
/* 4027E4 E01161A4 AFB50034 */ sw $s5, 0x34($sp)
/* 4027E8 E01161A8 AFB3002C */ sw $s3, 0x2c($sp)
/* 4027EC E01161AC AFB20028 */ sw $s2, 0x28($sp)
/* 4027F0 E01161B0 AFB10024 */ sw $s1, 0x24($sp)
/* 4027F4 E01161B4 AFB00020 */ sw $s0, 0x20($sp)
/* 4027F8 E01161B8 F7BE0070 */ sdc1 $f30, 0x70($sp)
/* 4027FC E01161BC F7BC0068 */ sdc1 $f28, 0x68($sp)
/* 402800 E01161C0 F7BA0060 */ sdc1 $f26, 0x60($sp)
/* 402804 E01161C4 F7B80058 */ sdc1 $f24, 0x58($sp)
/* 402808 E01161C8 F7B60050 */ sdc1 $f22, 0x50($sp)
/* 40280C E01161CC F7B40048 */ sdc1 $f20, 0x48($sp)
/* 402810 E01161D0 8E91000C */ lw $s1, 0xc($s4)
/* 402814 E01161D4 8E830000 */ lw $v1, ($s4)
/* 402818 E01161D8 C6260004 */ lwc1 $f6, 4($s1)
/* 40281C E01161DC E7A60010 */ swc1 $f6, 0x10($sp)
/* 402820 E01161E0 C6260008 */ lwc1 $f6, 8($s1)
/* 402824 E01161E4 E7A60014 */ swc1 $f6, 0x14($sp)
/* 402828 E01161E8 C626000C */ lwc1 $f6, 0xc($s1)
/* 40282C E01161EC 30620010 */ andi $v0, $v1, 0x10
/* 402830 E01161F0 10400006 */ beqz $v0, .LE011620C
/* 402834 E01161F4 E7A60018 */ swc1 $f6, 0x18($sp)
/* 402838 E01161F8 2402FFEF */ addiu $v0, $zero, -0x11
/* 40283C E01161FC 00621024 */ and $v0, $v1, $v0
/* 402840 E0116200 AE820000 */ sw $v0, ($s4)
/* 402844 E0116204 24020020 */ addiu $v0, $zero, 0x20
/* 402848 E0116208 AE220010 */ sw $v0, 0x10($s1)
.LE011620C:
/* 40284C E011620C 8E230010 */ lw $v1, 0x10($s1)
/* 402850 E0116210 286203E8 */ slti $v0, $v1, 0x3e8
/* 402854 E0116214 10400002 */ beqz $v0, .LE0116220
/* 402858 E0116218 2462FFFF */ addiu $v0, $v1, -1
/* 40285C E011621C AE220010 */ sw $v0, 0x10($s1)
.LE0116220:
/* 402860 E0116220 8E220014 */ lw $v0, 0x14($s1)
/* 402864 E0116224 8E230010 */ lw $v1, 0x10($s1)
/* 402868 E0116228 24440001 */ addiu $a0, $v0, 1
/* 40286C E011622C 04610005 */ bgez $v1, .LE0116244
/* 402870 E0116230 AE240014 */ sw $a0, 0x14($s1)
/* 402874 E0116234 0C080128 */ jal func_E02004A0
/* 402878 E0116238 0280202D */ daddu $a0, $s4, $zero
/* 40287C E011623C 08045997 */ j .LE011665C
/* 402880 E0116240 00000000 */ nop
.LE0116244:
/* 402884 E0116244 3C0142B4 */ lui $at, 0x42b4
/* 402888 E0116248 44810000 */ mtc1 $at, $f0
/* 40288C E011624C 24130001 */ addiu $s3, $zero, 1
/* 402890 E0116250 E6200020 */ swc1 $f0, 0x20($s1)
/* 402894 E0116254 26310030 */ addiu $s1, $s1, 0x30
/* 402898 E0116258 8E820008 */ lw $v0, 8($s4)
/* 40289C E011625C 0262102A */ slt $v0, $s3, $v0
/* 4028A0 E0116260 104000FE */ beqz $v0, .LE011665C
/* 4028A4 E0116264 46000786 */ mov.s $f30, $f0
/* 4028A8 E0116268 3C17E011 */ lui $s7, %hi(D_E0116CA4)
/* 4028AC E011626C 26F76CA4 */ addiu $s7, $s7, %lo(D_E0116CA4)
/* 4028B0 E0116270 3C16E011 */ lui $s6, %hi(D_E0116C8C)
/* 4028B4 E0116274 26D66C8C */ addiu $s6, $s6, %lo(D_E0116C8C)
/* 4028B8 E0116278 3C014080 */ lui $at, 0x4080
/* 4028BC E011627C 44811000 */ mtc1 $at, $f2
/* 4028C0 E0116280 44840000 */ mtc1 $a0, $f0
/* 4028C4 E0116284 00000000 */ nop
/* 4028C8 E0116288 46800020 */ cvt.s.w $f0, $f0
/* 4028CC E011628C 46020002 */ mul.s $f0, $f0, $f2
/* 4028D0 E0116290 00000000 */ nop
/* 4028D4 E0116294 3C158000 */ lui $s5, 0x8000
/* 4028D8 E0116298 26300014 */ addiu $s0, $s1, 0x14
/* 4028DC E011629C 0000902D */ daddu $s2, $zero, $zero
/* 4028E0 E01162A0 3C014F00 */ lui $at, 0x4f00
/* 4028E4 E01162A4 4481D000 */ mtc1 $at, $f26
/* 4028E8 E01162A8 46000721 */ cvt.d.s $f28, $f0
.LE01162AC:
/* 4028EC E01162AC 4493A000 */ mtc1 $s3, $f20
/* 4028F0 E01162B0 00000000 */ nop
/* 4028F4 E01162B4 4680A520 */ cvt.s.w $f20, $f20
/* 4028F8 E01162B8 3C01E011 */ lui $at, %hi(D_E0116D90)
/* 4028FC E01162BC D4206D90 */ ldc1 $f0, %lo(D_E0116D90)($at)
/* 402900 E01162C0 4600A521 */ cvt.d.s $f20, $f20
/* 402904 E01162C4 4620A502 */ mul.d $f20, $f20, $f0
/* 402908 E01162C8 00000000 */ nop
/* 40290C E01162CC 4634E500 */ add.d $f20, $f28, $f20
/* 402910 E01162D0 4620A520 */ cvt.s.d $f20, $f20
/* 402914 E01162D4 0C080140 */ jal func_E0200500
/* 402918 E01162D8 4600A306 */ mov.s $f12, $f20
/* 40291C E01162DC 4600F306 */ mov.s $f12, $f30
/* 402920 E01162E0 C6160018 */ lwc1 $f22, 0x18($s0)
/* 402924 E01162E4 0C080140 */ jal func_E0200500
/* 402928 E01162E8 46000606 */ mov.s $f24, $f0
/* 40292C E01162EC 4600B002 */ mul.s $f0, $f22, $f0
/* 402930 E01162F0 00000000 */ nop
/* 402934 E01162F4 46180002 */ mul.s $f0, $f0, $f24
/* 402938 E01162F8 00000000 */ nop
/* 40293C E01162FC C7A60010 */ lwc1 $f6, 0x10($sp)
/* 402940 E0116300 46003000 */ add.s $f0, $f6, $f0
/* 402944 E0116304 4600A306 */ mov.s $f12, $f20
/* 402948 E0116308 0C080144 */ jal func_E0200510
/* 40294C E011630C E600FFF0 */ swc1 $f0, -0x10($s0)
/* 402950 E0116310 4600B002 */ mul.s $f0, $f22, $f0
/* 402954 E0116314 00000000 */ nop
/* 402958 E0116318 C7A60014 */ lwc1 $f6, 0x14($sp)
/* 40295C E011631C 46003000 */ add.s $f0, $f6, $f0
/* 402960 E0116320 4600F306 */ mov.s $f12, $f30
/* 402964 E0116324 0C080144 */ jal func_E0200510
/* 402968 E0116328 E600FFF4 */ swc1 $f0, -0xc($s0)
/* 40296C E011632C 4600B582 */ mul.s $f22, $f22, $f0
/* 402970 E0116330 00000000 */ nop
/* 402974 E0116334 4618B582 */ mul.s $f22, $f22, $f24
/* 402978 E0116338 00000000 */ nop
/* 40297C E011633C C7A60018 */ lwc1 $f6, 0x18($sp)
/* 402980 E0116340 92020015 */ lbu $v0, 0x15($s0)
/* 402984 E0116344 46163580 */ add.s $f22, $f6, $f22
/* 402988 E0116348 2443FFFF */ addiu $v1, $v0, -1
/* 40298C E011634C 2C620005 */ sltiu $v0, $v1, 5
/* 402990 E0116350 104000B8 */ beqz $v0, LE0116634_402C74
/* 402994 E0116354 E616FFF8 */ swc1 $f22, -8($s0)
/* 402998 E0116358 00031080 */ sll $v0, $v1, 2
/* 40299C E011635C 3C01E011 */ lui $at, %hi(jtbl_E0116D98)
/* 4029A0 E0116360 00220821 */ addu $at, $at, $v0
/* 4029A4 E0116364 8C226D98 */ lw $v0, %lo(jtbl_E0116D98)($at)
/* 4029A8 E0116368 00400008 */ jr $v0
/* 4029AC E011636C 00000000 */ nop
glabel LE0116370_4029B0
/* 4029B0 E0116370 92020015 */ lbu $v0, 0x15($s0)
/* 4029B4 E0116374 AE000000 */ sw $zero, ($s0)
/* 4029B8 E0116378 24420001 */ addiu $v0, $v0, 1
/* 4029BC E011637C A2020015 */ sb $v0, 0x15($s0)
glabel LE0116380_4029C0
/* 4029C0 E0116380 8E040000 */ lw $a0, ($s0)
/* 4029C4 E0116384 28820029 */ slti $v0, $a0, 0x29
/* 4029C8 E0116388 10400004 */ beqz $v0, .LE011639C
/* 4029CC E011638C 00041040 */ sll $v0, $a0, 1
/* 4029D0 E0116390 00571021 */ addu $v0, $v0, $s7
/* 4029D4 E0116394 080458E8 */ j .LE01163A0
/* 4029D8 E0116398 84420000 */ lh $v0, ($v0)
.LE011639C:
/* 4029DC E011639C 86E20050 */ lh $v0, 0x50($s7)
.LE01163A0:
/* 4029E0 E01163A0 44820000 */ mtc1 $v0, $f0
/* 4029E4 E01163A4 00000000 */ nop
/* 4029E8 E01163A8 46800020 */ cvt.s.w $f0, $f0
/* 4029EC E01163AC 2882000D */ slti $v0, $a0, 0xd
/* 4029F0 E01163B0 10400006 */ beqz $v0, .LE01163CC
/* 4029F4 E01163B4 E600000C */ swc1 $f0, 0xc($s0)
/* 4029F8 E01163B8 3C02E011 */ lui $v0, %hi(D_E0116CF8)
/* 4029FC E01163BC 00441021 */ addu $v0, $v0, $a0
/* 402A00 E01163C0 90426CF8 */ lbu $v0, %lo(D_E0116CF8)($v0)
/* 402A04 E01163C4 080458F6 */ j .LE01163D8
/* 402A08 E01163C8 A2020010 */ sb $v0, 0x10($s0)
.LE01163CC:
/* 402A0C E01163CC 3C02E011 */ lui $v0, %hi(D_E0116D04)
/* 402A10 E01163D0 90426D04 */ lbu $v0, %lo(D_E0116D04)($v0)
/* 402A14 E01163D4 A2020010 */ sb $v0, 0x10($s0)
.LE01163D8:
/* 402A18 E01163D8 28820034 */ slti $v0, $a0, 0x34
/* 402A1C E01163DC 10400006 */ beqz $v0, .LE01163F8
/* 402A20 E01163E0 00000000 */ nop
/* 402A24 E01163E4 3C02E011 */ lui $v0, %hi(D_E0116D08)
/* 402A28 E01163E8 00441021 */ addu $v0, $v0, $a0
/* 402A2C E01163EC 90426D08 */ lbu $v0, %lo(D_E0116D08)($v0)
/* 402A30 E01163F0 08045901 */ j .LE0116404
/* 402A34 E01163F4 A2020011 */ sb $v0, 0x11($s0)
.LE01163F8:
/* 402A38 E01163F8 3C02E011 */ lui $v0, %hi(D_E0116D3B)
/* 402A3C E01163FC 90426D3B */ lbu $v0, %lo(D_E0116D3B)($v0)
/* 402A40 E0116400 A2020011 */ sb $v0, 0x11($s0)
.LE0116404:
/* 402A44 E0116404 28820030 */ slti $v0, $a0, 0x30
/* 402A48 E0116408 10400005 */ beqz $v0, .LE0116420
/* 402A4C E011640C 00000000 */ nop
/* 402A50 E0116410 3C02E011 */ lui $v0, %hi(D_E0116D3C)
/* 402A54 E0116414 00441021 */ addu $v0, $v0, $a0
/* 402A58 E0116418 0804590A */ j .LE0116428
/* 402A5C E011641C 90426D3C */ lbu $v0, %lo(D_E0116D3C)($v0)
.LE0116420:
/* 402A60 E0116420 3C02E011 */ lui $v0, %hi(D_E0116D6B)
/* 402A64 E0116424 90426D6B */ lbu $v0, %lo(D_E0116D6B)($v0)
.LE0116428:
/* 402A68 E0116428 44822000 */ mtc1 $v0, $f4
/* 402A6C E011642C 00000000 */ nop
/* 402A70 E0116430 46802120 */ cvt.s.w $f4, $f4
/* 402A74 E0116434 3C01E011 */ lui $at, %hi(D_E0116DB0)
/* 402A78 E0116438 D4226DB0 */ ldc1 $f2, %lo(D_E0116DB0)($at)
/* 402A7C E011643C 46002021 */ cvt.d.s $f0, $f4
/* 402A80 E0116440 46220002 */ mul.d $f0, $f0, $f2
/* 402A84 E0116444 00000000 */ nop
/* 402A88 E0116448 02561021 */ addu $v0, $s2, $s6
/* 402A8C E011644C 90420000 */ lbu $v0, ($v0)
/* 402A90 E0116450 46200120 */ cvt.s.d $f4, $f0
/* 402A94 E0116454 44820000 */ mtc1 $v0, $f0
/* 402A98 E0116458 00000000 */ nop
/* 402A9C E011645C 46800020 */ cvt.s.w $f0, $f0
/* 402AA0 E0116460 46002002 */ mul.s $f0, $f4, $f0
/* 402AA4 E0116464 00000000 */ nop
/* 402AA8 E0116468 4600D03E */ c.le.s $f26, $f0
/* 402AAC E011646C 00000000 */ nop
/* 402AB0 E0116470 45010005 */ bc1t .LE0116488
/* 402AB4 E0116474 26230026 */ addiu $v1, $s1, 0x26
/* 402AB8 E0116478 4600018D */ trunc.w.s $f6, $f0
/* 402ABC E011647C 44023000 */ mfc1 $v0, $f6
/* 402AC0 E0116480 08045928 */ j .LE01164A0
/* 402AC4 E0116484 A0620000 */ sb $v0, ($v1)
.LE0116488:
/* 402AC8 E0116488 461A0001 */ sub.s $f0, $f0, $f26
/* 402ACC E011648C 4600018D */ trunc.w.s $f6, $f0
/* 402AD0 E0116490 44023000 */ mfc1 $v0, $f6
/* 402AD4 E0116494 00000000 */ nop
/* 402AD8 E0116498 00551025 */ or $v0, $v0, $s5
/* 402ADC E011649C A0620000 */ sb $v0, ($v1)
.LE01164A0:
/* 402AE0 E01164A0 02561021 */ addu $v0, $s2, $s6
/* 402AE4 E01164A4 90420001 */ lbu $v0, 1($v0)
/* 402AE8 E01164A8 44820000 */ mtc1 $v0, $f0
/* 402AEC E01164AC 00000000 */ nop
/* 402AF0 E01164B0 46800020 */ cvt.s.w $f0, $f0
/* 402AF4 E01164B4 46002002 */ mul.s $f0, $f4, $f0
/* 402AF8 E01164B8 00000000 */ nop
/* 402AFC E01164BC 4600D03E */ c.le.s $f26, $f0
/* 402B00 E01164C0 00000000 */ nop
/* 402B04 E01164C4 45010005 */ bc1t .LE01164DC
/* 402B08 E01164C8 26230027 */ addiu $v1, $s1, 0x27
/* 402B0C E01164CC 4600018D */ trunc.w.s $f6, $f0
/* 402B10 E01164D0 44023000 */ mfc1 $v0, $f6
/* 402B14 E01164D4 0804593D */ j .LE01164F4
/* 402B18 E01164D8 A0620000 */ sb $v0, ($v1)
.LE01164DC:
/* 402B1C E01164DC 461A0001 */ sub.s $f0, $f0, $f26
/* 402B20 E01164E0 4600018D */ trunc.w.s $f6, $f0
/* 402B24 E01164E4 44023000 */ mfc1 $v0, $f6
/* 402B28 E01164E8 00000000 */ nop
/* 402B2C E01164EC 00551025 */ or $v0, $v0, $s5
/* 402B30 E01164F0 A0620000 */ sb $v0, ($v1)
.LE01164F4:
/* 402B34 E01164F4 02561021 */ addu $v0, $s2, $s6
/* 402B38 E01164F8 90420002 */ lbu $v0, 2($v0)
/* 402B3C E01164FC 44820000 */ mtc1 $v0, $f0
/* 402B40 E0116500 00000000 */ nop
/* 402B44 E0116504 46800020 */ cvt.s.w $f0, $f0
/* 402B48 E0116508 46002002 */ mul.s $f0, $f4, $f0
/* 402B4C E011650C 00000000 */ nop
/* 402B50 E0116510 4600D03E */ c.le.s $f26, $f0
/* 402B54 E0116514 00000000 */ nop
/* 402B58 E0116518 45010005 */ bc1t .LE0116530
/* 402B5C E011651C 26230028 */ addiu $v1, $s1, 0x28
/* 402B60 E0116520 4600018D */ trunc.w.s $f6, $f0
/* 402B64 E0116524 44023000 */ mfc1 $v0, $f6
/* 402B68 E0116528 08045952 */ j .LE0116548
/* 402B6C E011652C A0620000 */ sb $v0, ($v1)
.LE0116530:
/* 402B70 E0116530 461A0001 */ sub.s $f0, $f0, $f26
/* 402B74 E0116534 4600018D */ trunc.w.s $f6, $f0
/* 402B78 E0116538 44023000 */ mfc1 $v0, $f6
/* 402B7C E011653C 00000000 */ nop
/* 402B80 E0116540 00551025 */ or $v0, $v0, $s5
/* 402B84 E0116544 A0620000 */ sb $v0, ($v1)
.LE0116548:
/* 402B88 E0116548 28820018 */ slti $v0, $a0, 0x18
/* 402B8C E011654C 10400005 */ beqz $v0, .LE0116564
/* 402B90 E0116550 00000000 */ nop
/* 402B94 E0116554 3C02E011 */ lui $v0, %hi(D_E0116D6C)
/* 402B98 E0116558 00441021 */ addu $v0, $v0, $a0
/* 402B9C E011655C 0804595B */ j .LE011656C
/* 402BA0 E0116560 90426D6C */ lbu $v0, %lo(D_E0116D6C)($v0)
.LE0116564:
/* 402BA4 E0116564 3C02E011 */ lui $v0, %hi(D_E0116D83)
/* 402BA8 E0116568 90426D83 */ lbu $v0, %lo(D_E0116D83)($v0)
.LE011656C:
/* 402BAC E011656C 3C01E011 */ lui $at, %hi(D_E0116DB8)
/* 402BB0 E0116570 D4226DB8 */ ldc1 $f2, %lo(D_E0116DB8)($at)
/* 402BB4 E0116574 44820000 */ mtc1 $v0, $f0
/* 402BB8 E0116578 00000000 */ nop
/* 402BBC E011657C 46800020 */ cvt.s.w $f0, $f0
/* 402BC0 E0116580 46000021 */ cvt.d.s $f0, $f0
/* 402BC4 E0116584 46220002 */ mul.d $f0, $f0, $f2
/* 402BC8 E0116588 00000000 */ nop
/* 402BCC E011658C 46200020 */ cvt.s.d $f0, $f0
/* 402BD0 E0116590 0804598D */ j LE0116634_402C74
/* 402BD4 E0116594 E6000004 */ swc1 $f0, 4($s0)
glabel LE0116598_402BD8
/* 402BD8 E0116598 92020015 */ lbu $v0, 0x15($s0)
/* 402BDC E011659C AE000000 */ sw $zero, ($s0)
/* 402BE0 E01165A0 24420001 */ addiu $v0, $v0, 1
/* 402BE4 E01165A4 A2020015 */ sb $v0, 0x15($s0)
glabel LE01165A8_402BE8
/* 402BE8 E01165A8 8E040000 */ lw $a0, ($s0)
/* 402BEC E01165AC 28820012 */ slti $v0, $a0, 0x12
/* 402BF0 E01165B0 1040001C */ beqz $v0, .LE0116624
/* 402BF4 E01165B4 00041880 */ sll $v1, $a0, 2
/* 402BF8 E01165B8 00641821 */ addu $v1, $v1, $a0
/* 402BFC E01165BC 00031840 */ sll $v1, $v1, 1
/* 402C00 E01165C0 2402005A */ addiu $v0, $zero, 0x5a
/* 402C04 E01165C4 00431023 */ subu $v0, $v0, $v1
/* 402C08 E01165C8 44826000 */ mtc1 $v0, $f12
/* 402C0C E01165CC 00000000 */ nop
/* 402C10 E01165D0 46806320 */ cvt.s.w $f12, $f12
/* 402C14 E01165D4 0C080140 */ jal func_E0200500
/* 402C18 E01165D8 26520003 */ addiu $s2, $s2, 3
/* 402C1C E01165DC 3C013F80 */ lui $at, 0x3f80
/* 402C20 E01165E0 44811000 */ mtc1 $at, $f2
/* 402C24 E01165E4 00000000 */ nop
/* 402C28 E01165E8 46020000 */ add.s $f0, $f0, $f2
/* 402C2C E01165EC 3C014248 */ lui $at, 0x4248
/* 402C30 E01165F0 44811000 */ mtc1 $at, $f2
/* 402C34 E01165F4 00000000 */ nop
/* 402C38 E01165F8 46020002 */ mul.s $f0, $f0, $f2
/* 402C3C E01165FC 00000000 */ nop
/* 402C40 E0116600 3C013FE0 */ lui $at, 0x3fe0
/* 402C44 E0116604 44811800 */ mtc1 $at, $f3
/* 402C48 E0116608 44801000 */ mtc1 $zero, $f2
/* 402C4C E011660C 46000021 */ cvt.d.s $f0, $f0
/* 402C50 E0116610 46220002 */ mul.d $f0, $f0, $f2
/* 402C54 E0116614 00000000 */ nop
/* 402C58 E0116618 46200020 */ cvt.s.d $f0, $f0
/* 402C5C E011661C 0804598E */ j .LE0116638
/* 402C60 E0116620 E6000018 */ swc1 $f0, 0x18($s0)
.LE0116624:
/* 402C64 E0116624 92020015 */ lbu $v0, 0x15($s0)
/* 402C68 E0116628 AE000018 */ sw $zero, 0x18($s0)
/* 402C6C E011662C 24420001 */ addiu $v0, $v0, 1
/* 402C70 E0116630 A2020015 */ sb $v0, 0x15($s0)
glabel LE0116634_402C74
/* 402C74 E0116634 26520003 */ addiu $s2, $s2, 3
.LE0116638:
/* 402C78 E0116638 26730001 */ addiu $s3, $s3, 1
/* 402C7C E011663C 8E020000 */ lw $v0, ($s0)
/* 402C80 E0116640 26310030 */ addiu $s1, $s1, 0x30
/* 402C84 E0116644 24420001 */ addiu $v0, $v0, 1
/* 402C88 E0116648 AE020000 */ sw $v0, ($s0)
/* 402C8C E011664C 8E820008 */ lw $v0, 8($s4)
/* 402C90 E0116650 0262102A */ slt $v0, $s3, $v0
/* 402C94 E0116654 1440FF15 */ bnez $v0, .LE01162AC
/* 402C98 E0116658 26100030 */ addiu $s0, $s0, 0x30
.LE011665C:
/* 402C9C E011665C 8FBF0040 */ lw $ra, 0x40($sp)
/* 402CA0 E0116660 8FB7003C */ lw $s7, 0x3c($sp)
/* 402CA4 E0116664 8FB60038 */ lw $s6, 0x38($sp)
/* 402CA8 E0116668 8FB50034 */ lw $s5, 0x34($sp)
/* 402CAC E011666C 8FB40030 */ lw $s4, 0x30($sp)
/* 402CB0 E0116670 8FB3002C */ lw $s3, 0x2c($sp)
/* 402CB4 E0116674 8FB20028 */ lw $s2, 0x28($sp)
/* 402CB8 E0116678 8FB10024 */ lw $s1, 0x24($sp)
/* 402CBC E011667C 8FB00020 */ lw $s0, 0x20($sp)
/* 402CC0 E0116680 D7BE0070 */ ldc1 $f30, 0x70($sp)
/* 402CC4 E0116684 D7BC0068 */ ldc1 $f28, 0x68($sp)
/* 402CC8 E0116688 D7BA0060 */ ldc1 $f26, 0x60($sp)
/* 402CCC E011668C D7B80058 */ ldc1 $f24, 0x58($sp)
/* 402CD0 E0116690 D7B60050 */ ldc1 $f22, 0x50($sp)
/* 402CD4 E0116694 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 402CD8 E0116698 03E00008 */ jr $ra
/* 402CDC E011669C 27BD0078 */ addiu $sp, $sp, 0x78