Files
SpaghettiKart/asm/non_matchings/code_8003DC40/func_8003FBAC.s
T
CoderStig 8ab4557b39 Split asm using autodecompiler (#49)
* Split asm using autodecompiler

* Placed libultra bss and linked more C
2021-11-05 05:17:09 -06:00

307 lines
15 KiB
ArmAsm

glabel func_8003FBAC
/* 0407AC 8003FBAC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0407B0 8003FBB0 AFBF0024 */ sw $ra, 0x24($sp)
/* 0407B4 8003FBB4 AFB10020 */ sw $s1, 0x20($sp)
/* 0407B8 8003FBB8 AFB0001C */ sw $s0, 0x1c($sp)
/* 0407BC 8003FBBC AFA70034 */ sw $a3, 0x34($sp)
/* 0407C0 8003FBC0 C4840134 */ lwc1 $f4, 0x134($a0)
/* 0407C4 8003FBC4 44801000 */ mtc1 $zero, $f2
/* 0407C8 8003FBC8 00808025 */ move $s0, $a0
/* 0407CC 8003FBCC 46002187 */ neg.s $f6, $f4
/* 0407D0 8003FBD0 00A08825 */ move $s1, $a1
/* 0407D4 8003FBD4 E4A60000 */ swc1 $f6, ($a1)
/* 0407D8 8003FBD8 C4880138 */ lwc1 $f8, 0x138($a0)
/* 0407DC 8003FBDC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 0407E0 8003FBE0 46004287 */ neg.s $f10, $f8
/* 0407E4 8003FBE4 E4AA0004 */ swc1 $f10, 4($a1)
/* 0407E8 8003FBE8 C490013C */ lwc1 $f16, 0x13c($a0)
/* 0407EC 8003FBEC 46008487 */ neg.s $f18, $f16
/* 0407F0 8003FBF0 E4B20008 */ swc1 $f18, 8($a1)
/* 0407F4 8003FBF4 C4800138 */ lwc1 $f0, 0x138($a0)
/* 0407F8 8003FBF8 46001032 */ c.eq.s $f2, $f0
/* 0407FC 8003FBFC 00000000 */ nop
/* 040800 8003FC00 45020044 */ bc1fl .L8003FD14
/* 040804 8003FC04 44815800 */ mtc1 $at, $f11
/* 040808 8003FC08 C4A40000 */ lwc1 $f4, ($a1)
/* 04080C 8003FC0C C4860120 */ lwc1 $f6, 0x120($a0)
/* 040810 8003FC10 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 040814 8003FC14 44816000 */ mtc1 $at, $f12
/* 040818 8003FC18 46062202 */ mul.s $f8, $f4, $f6
/* 04081C 8003FC1C 8FA30038 */ lw $v1, 0x38($sp)
/* 040820 8003FC20 8FA2003C */ lw $v0, 0x3c($sp)
/* 040824 8003FC24 8FA80040 */ lw $t0, 0x40($sp)
/* 040828 8003FC28 C4700000 */ lwc1 $f16, ($v1)
/* 04082C 8003FC2C 3C01800F */ lui $at, %hi(D_800EE000)
/* 040830 8003FC30 3C073F00 */ lui $a3, 0x3f00
/* 040834 8003FC34 460C4282 */ mul.s $f10, $f8, $f12
/* 040838 8003FC38 460A8480 */ add.s $f18, $f16, $f10
/* 04083C 8003FC3C E4720000 */ swc1 $f18, ($v1)
/* 040840 8003FC40 C4860120 */ lwc1 $f6, 0x120($a0)
/* 040844 8003FC44 C4A40004 */ lwc1 $f4, 4($a1)
/* 040848 8003FC48 D42AE000 */ ldc1 $f10, %lo(D_800EE000)($at)
/* 04084C 8003FC4C 3C014190 */ li $at, 0x41900000 # 18.000000
/* 040850 8003FC50 46062202 */ mul.s $f8, $f4, $f6
/* 040854 8003FC54 C4440000 */ lwc1 $f4, ($v0)
/* 040858 8003FC58 460021A1 */ cvt.d.s $f6, $f4
/* 04085C 8003FC5C 46004421 */ cvt.d.s $f16, $f8
/* 040860 8003FC60 462A8482 */ mul.d $f18, $f16, $f10
/* 040864 8003FC64 46323200 */ add.d $f8, $f6, $f18
/* 040868 8003FC68 46204420 */ cvt.s.d $f16, $f8
/* 04086C 8003FC6C E4500000 */ swc1 $f16, ($v0)
/* 040870 8003FC70 C4840120 */ lwc1 $f4, 0x120($a0)
/* 040874 8003FC74 C4AA0008 */ lwc1 $f10, 8($a1)
/* 040878 8003FC78 C5080000 */ lwc1 $f8, ($t0)
/* 04087C 8003FC7C 46045182 */ mul.s $f6, $f10, $f4
/* 040880 8003FC80 00000000 */ nop
/* 040884 8003FC84 460C3482 */ mul.s $f18, $f6, $f12
/* 040888 8003FC88 46124400 */ add.s $f16, $f8, $f18
/* 04088C 8003FC8C E5100000 */ swc1 $f16, ($t0)
/* 040890 8003FC90 848E00C4 */ lh $t6, 0xc4($a0)
/* 040894 8003FC94 8FB80034 */ lw $t8, 0x34($sp)
/* 040898 8003FC98 05C10015 */ bgez $t6, .L8003FCF0
/* 04089C 8003FC9C 00000000 */ nop
/* 0408A0 8003FCA0 C48A0094 */ lwc1 $f10, 0x94($a0)
/* 0408A4 8003FCA4 44812000 */ mtc1 $at, $f4
/* 0408A8 8003FCA8 3C014358 */ li $at, 0x43580000 # 216.000000
/* 0408AC 8003FCAC 44814000 */ mtc1 $at, $f8
/* 0408B0 8003FCB0 46045183 */ div.s $f6, $f10, $f4
/* 0408B4 8003FCB4 3C014120 */ li $at, 0x41200000 # 10.000000
/* 0408B8 8003FCB8 44818000 */ mtc1 $at, $f16
/* 0408BC 8003FCBC 8FAF0034 */ lw $t7, 0x34($sp)
/* 0408C0 8003FCC0 46083482 */ mul.s $f18, $f6, $f8
/* 0408C4 8003FCC4 4610903C */ c.lt.s $f18, $f16
/* 0408C8 8003FCC8 00000000 */ nop
/* 0408CC 8003FCCC 45000008 */ bc1f .L8003FCF0
/* 0408D0 8003FCD0 00A02025 */ move $a0, $a1
/* 0408D4 8003FCD4 8DE50000 */ lw $a1, ($t7)
/* 0408D8 8003FCD8 E7A20010 */ swc1 $f2, 0x10($sp)
/* 0408DC 8003FCDC 0C00A97D */ jal func_8002A5F4
/* 0408E0 8003FCE0 3C073FC0 */ lui $a3, 0x3fc0
/* 0408E4 8003FCE4 44801000 */ mtc1 $zero, $f2
/* 0408E8 8003FCE8 10000007 */ b .L8003FD08
/* 0408EC 8003FCEC 00000000 */ nop
.L8003FCF0:
/* 0408F0 8003FCF0 8F050000 */ lw $a1, ($t8)
/* 0408F4 8003FCF4 E7A20010 */ swc1 $f2, 0x10($sp)
/* 0408F8 8003FCF8 0C00A97D */ jal func_8002A5F4
/* 0408FC 8003FCFC 02202025 */ move $a0, $s1
/* 040900 8003FD00 44801000 */ mtc1 $zero, $f2
/* 040904 8003FD04 00000000 */ nop
.L8003FD08:
/* 040908 8003FD08 10000080 */ b .L8003FF0C
/* 04090C 8003FD0C 8E0200BC */ lw $v0, 0xbc($s0)
/* 040910 8003FD10 44815800 */ mtc1 $at, $f11
.L8003FD14:
/* 040914 8003FD14 44805000 */ mtc1 $zero, $f10
/* 040918 8003FD18 46000121 */ cvt.d.s $f4, $f0
/* 04091C 8003FD1C 462A203E */ c.le.d $f4, $f10
/* 040920 8003FD20 00000000 */ nop
/* 040924 8003FD24 45020039 */ bc1fl .L8003FE0C
/* 040928 8003FD28 C62A0000 */ lwc1 $f10, ($s1)
/* 04092C 8003FD2C C6260000 */ lwc1 $f6, ($s1)
/* 040930 8003FD30 C6080120 */ lwc1 $f8, 0x120($s0)
/* 040934 8003FD34 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 040938 8003FD38 44816000 */ mtc1 $at, $f12
/* 04093C 8003FD3C 46083482 */ mul.s $f18, $f6, $f8
/* 040940 8003FD40 8FB90038 */ lw $t9, 0x38($sp)
/* 040944 8003FD44 8FA2003C */ lw $v0, 0x3c($sp)
/* 040948 8003FD48 3C01800F */ lui $at, %hi(D_800EE008)
/* 04094C 8003FD4C C72A0000 */ lwc1 $f10, ($t9)
/* 040950 8003FD50 44076000 */ mfc1 $a3, $f12
/* 040954 8003FD54 02202025 */ move $a0, $s1
/* 040958 8003FD58 460C9402 */ mul.s $f16, $f18, $f12
/* 04095C 8003FD5C 46105100 */ add.s $f4, $f10, $f16
/* 040960 8003FD60 E7240000 */ swc1 $f4, ($t9)
/* 040964 8003FD64 C6080120 */ lwc1 $f8, 0x120($s0)
/* 040968 8003FD68 C6260004 */ lwc1 $f6, 4($s1)
/* 04096C 8003FD6C D430E008 */ ldc1 $f16, %lo(D_800EE008)($at)
/* 040970 8003FD70 46083482 */ mul.s $f18, $f6, $f8
/* 040974 8003FD74 C4460000 */ lwc1 $f6, ($v0)
/* 040978 8003FD78 46003221 */ cvt.d.s $f8, $f6
/* 04097C 8003FD7C 460092A1 */ cvt.d.s $f10, $f18
/* 040980 8003FD80 46305102 */ mul.d $f4, $f10, $f16
/* 040984 8003FD84 46244480 */ add.d $f18, $f8, $f4
/* 040988 8003FD88 462092A0 */ cvt.s.d $f10, $f18
/* 04098C 8003FD8C E44A0000 */ swc1 $f10, ($v0)
/* 040990 8003FD90 C6060120 */ lwc1 $f6, 0x120($s0)
/* 040994 8003FD94 C6300008 */ lwc1 $f16, 8($s1)
/* 040998 8003FD98 8FA90040 */ lw $t1, 0x40($sp)
/* 04099C 8003FD9C 46068202 */ mul.s $f8, $f16, $f6
/* 0409A0 8003FDA0 C5320000 */ lwc1 $f18, ($t1)
/* 0409A4 8003FDA4 460C4102 */ mul.s $f4, $f8, $f12
/* 0409A8 8003FDA8 46049280 */ add.s $f10, $f18, $f4
/* 0409AC 8003FDAC E52A0000 */ swc1 $f10, ($t1)
/* 0409B0 8003FDB0 8FAA0034 */ lw $t2, 0x34($sp)
/* 0409B4 8003FDB4 8D450000 */ lw $a1, ($t2)
/* 0409B8 8003FDB8 AFA60030 */ sw $a2, 0x30($sp)
/* 0409BC 8003FDBC 0C00A97D */ jal func_8002A5F4
/* 0409C0 8003FDC0 E7A20010 */ swc1 $f2, 0x10($sp)
/* 0409C4 8003FDC4 8E0200BC */ lw $v0, 0xbc($s0)
/* 0409C8 8003FDC8 44801000 */ mtc1 $zero, $f2
/* 0409CC 8003FDCC 8FA60030 */ lw $a2, 0x30($sp)
/* 0409D0 8003FDD0 00025BC0 */ sll $t3, $v0, 0xf
/* 0409D4 8003FDD4 0560004D */ bltz $t3, .L8003FF0C
/* 0409D8 8003FDD8 304C0008 */ andi $t4, $v0, 8
/* 0409DC 8003FDDC 5580004C */ bnel $t4, $zero, .L8003FF10
/* 0409E0 8003FDE0 2401FFEF */ li $at, -17
/* 0409E4 8003FDE4 C4D00004 */ lwc1 $f16, 4($a2)
/* 0409E8 8003FDE8 3C01800F */ lui $at, %hi(D_800EE010)
/* 0409EC 8003FDEC D428E010 */ ldc1 $f8, %lo(D_800EE010)($at)
/* 0409F0 8003FDF0 460081A1 */ cvt.d.s $f6, $f16
/* 0409F4 8003FDF4 46283482 */ mul.d $f18, $f6, $f8
/* 0409F8 8003FDF8 46209120 */ cvt.s.d $f4, $f18
/* 0409FC 8003FDFC E4C40004 */ swc1 $f4, 4($a2)
/* 040A00 8003FE00 10000042 */ b .L8003FF0C
/* 040A04 8003FE04 8E0200BC */ lw $v0, 0xbc($s0)
/* 040A08 8003FE08 C62A0000 */ lwc1 $f10, ($s1)
.L8003FE0C:
/* 040A0C 8003FE0C C6100120 */ lwc1 $f16, 0x120($s0)
/* 040A10 8003FE10 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 040A14 8003FE14 44816000 */ mtc1 $at, $f12
/* 040A18 8003FE18 46105182 */ mul.s $f6, $f10, $f16
/* 040A1C 8003FE1C 8FAD0038 */ lw $t5, 0x38($sp)
/* 040A20 8003FE20 3C01800F */ lui $at, %hi(D_800EE018)
/* 040A24 8003FE24 C5B20000 */ lwc1 $f18, ($t5)
/* 040A28 8003FE28 460C3202 */ mul.s $f8, $f6, $f12
/* 040A2C 8003FE2C 46089100 */ add.s $f4, $f18, $f8
/* 040A30 8003FE30 E5A40000 */ swc1 $f4, ($t5)
/* 040A34 8003FE34 C6100120 */ lwc1 $f16, 0x120($s0)
/* 040A38 8003FE38 C62A0004 */ lwc1 $f10, 4($s1)
/* 040A3C 8003FE3C 46105002 */ mul.s $f0, $f10, $f16
/* 040A40 8003FE40 4602003C */ c.lt.s $f0, $f2
/* 040A44 8003FE44 00000000 */ nop
/* 040A48 8003FE48 4500000B */ bc1f .L8003FE78
/* 040A4C 8003FE4C 00000000 */ nop
/* 040A50 8003FE50 D432E018 */ ldc1 $f18, %lo(D_800EE018)($at)
/* 040A54 8003FE54 460001A1 */ cvt.d.s $f6, $f0
/* 040A58 8003FE58 8FA2003C */ lw $v0, 0x3c($sp)
/* 040A5C 8003FE5C 46323202 */ mul.d $f8, $f6, $f18
/* 040A60 8003FE60 C4440000 */ lwc1 $f4, ($v0)
/* 040A64 8003FE64 460022A1 */ cvt.d.s $f10, $f4
/* 040A68 8003FE68 46285400 */ add.d $f16, $f10, $f8
/* 040A6C 8003FE6C 462081A0 */ cvt.s.d $f6, $f16
/* 040A70 8003FE70 10000006 */ b .L8003FE8C
/* 040A74 8003FE74 E4460000 */ swc1 $f6, ($v0)
.L8003FE78:
/* 040A78 8003FE78 46020102 */ mul.s $f4, $f0, $f2
/* 040A7C 8003FE7C 8FA2003C */ lw $v0, 0x3c($sp)
/* 040A80 8003FE80 C4520000 */ lwc1 $f18, ($v0)
/* 040A84 8003FE84 46049280 */ add.s $f10, $f18, $f4
/* 040A88 8003FE88 E44A0000 */ swc1 $f10, ($v0)
.L8003FE8C:
/* 040A8C 8003FE8C C6280008 */ lwc1 $f8, 8($s1)
/* 040A90 8003FE90 C6100120 */ lwc1 $f16, 0x120($s0)
/* 040A94 8003FE94 8FAE0040 */ lw $t6, 0x40($sp)
/* 040A98 8003FE98 3C073F99 */ lui $a3, (0x3F99999A >> 16) # lui $a3, 0x3f99
/* 040A9C 8003FE9C 46104182 */ mul.s $f6, $f8, $f16
/* 040AA0 8003FEA0 C5C40000 */ lwc1 $f4, ($t6)
/* 040AA4 8003FEA4 34E7999A */ ori $a3, (0x3F99999A & 0xFFFF) # ori $a3, $a3, 0x999a
/* 040AA8 8003FEA8 02202025 */ move $a0, $s1
/* 040AAC 8003FEAC 460C3482 */ mul.s $f18, $f6, $f12
/* 040AB0 8003FEB0 46122280 */ add.s $f10, $f4, $f18
/* 040AB4 8003FEB4 E5CA0000 */ swc1 $f10, ($t6)
/* 040AB8 8003FEB8 8FAF0034 */ lw $t7, 0x34($sp)
/* 040ABC 8003FEBC 8DE50000 */ lw $a1, ($t7)
/* 040AC0 8003FEC0 AFA60030 */ sw $a2, 0x30($sp)
/* 040AC4 8003FEC4 0C00A97D */ jal func_8002A5F4
/* 040AC8 8003FEC8 E7A20010 */ swc1 $f2, 0x10($sp)
/* 040ACC 8003FECC 8E0200BC */ lw $v0, 0xbc($s0)
/* 040AD0 8003FED0 44801000 */ mtc1 $zero, $f2
/* 040AD4 8003FED4 8FA60030 */ lw $a2, 0x30($sp)
/* 040AD8 8003FED8 0002C3C0 */ sll $t8, $v0, 0xf
/* 040ADC 8003FEDC 0700000B */ bltz $t8, .L8003FF0C
/* 040AE0 8003FEE0 30590008 */ andi $t9, $v0, 8
/* 040AE4 8003FEE4 5720000A */ bnel $t9, $zero, .L8003FF10
/* 040AE8 8003FEE8 2401FFEF */ li $at, -17
/* 040AEC 8003FEEC C4C80004 */ lwc1 $f8, 4($a2)
/* 040AF0 8003FEF0 3C01800F */ lui $at, %hi(D_800EE020)
/* 040AF4 8003FEF4 D426E020 */ ldc1 $f6, %lo(D_800EE020)($at)
/* 040AF8 8003FEF8 46004421 */ cvt.d.s $f16, $f8
/* 040AFC 8003FEFC 46268102 */ mul.d $f4, $f16, $f6
/* 040B00 8003FF00 462024A0 */ cvt.s.d $f18, $f4
/* 040B04 8003FF04 E4D20004 */ swc1 $f18, 4($a2)
/* 040B08 8003FF08 8E0200BC */ lw $v0, 0xbc($s0)
.L8003FF0C:
/* 040B0C 8003FF0C 2401FFEF */ li $at, -17
.L8003FF10:
/* 040B10 8003FF10 00414824 */ and $t1, $v0, $at
/* 040B14 8003FF14 AE0900BC */ sw $t1, 0xbc($s0)
/* 040B18 8003FF18 C62A0000 */ lwc1 $f10, ($s1)
/* 040B1C 8003FF1C C6000120 */ lwc1 $f0, 0x120($s0)
/* 040B20 8003FF20 C6280008 */ lwc1 $f8, 8($s1)
/* 040B24 8003FF24 46005302 */ mul.s $f12, $f10, $f0
/* 040B28 8003FF28 460C103E */ c.le.s $f2, $f12
/* 040B2C 8003FF2C 46004382 */ mul.s $f14, $f8, $f0
/* 040B30 8003FF30 45020006 */ bc1fl .L8003FF4C
/* 040B34 8003FF34 460C103E */ c.le.s $f2, $f12
/* 040B38 8003FF38 460E103E */ c.le.s $f2, $f14
/* 040B3C 8003FF3C 00000000 */ nop
/* 040B40 8003FF40 45030009 */ bc1tl .L8003FF68
/* 040B44 8003FF44 3C014000 */ lui $at, 0x4000
/* 040B48 8003FF48 460C103E */ c.le.s $f2, $f12
.L8003FF4C:
/* 040B4C 8003FF4C 00000000 */ nop
/* 040B50 8003FF50 45020013 */ bc1fl .L8003FFA0
/* 040B54 8003FF54 4602603C */ c.lt.s $f12, $f2
/* 040B58 8003FF58 4602703C */ c.lt.s $f14, $f2
/* 040B5C 8003FF5C 00000000 */ nop
/* 040B60 8003FF60 4500000E */ bc1f .L8003FF9C
/* 040B64 8003FF64 3C014000 */ li $at, 0x40000000 # 2.000000
.L8003FF68:
/* 040B68 8003FF68 44813000 */ mtc1 $at, $f6
/* 040B6C 8003FF6C C6100070 */ lwc1 $f16, 0x70($s0)
/* 040B70 8003FF70 8FAA0038 */ lw $t2, 0x38($sp)
/* 040B74 8003FF74 46068003 */ div.s $f0, $f16, $f6
/* 040B78 8003FF78 C5440000 */ lwc1 $f4, ($t2)
/* 040B7C 8003FF7C 460C2481 */ sub.s $f18, $f4, $f12
/* 040B80 8003FF80 46009281 */ sub.s $f10, $f18, $f0
/* 040B84 8003FF84 E60A0218 */ swc1 $f10, 0x218($s0)
/* 040B88 8003FF88 8FAB0040 */ lw $t3, 0x40($sp)
/* 040B8C 8003FF8C C5680000 */ lwc1 $f8, ($t3)
/* 040B90 8003FF90 460E4401 */ sub.s $f16, $f8, $f14
/* 040B94 8003FF94 46008181 */ sub.s $f6, $f16, $f0
/* 040B98 8003FF98 E606021C */ swc1 $f6, 0x21c($s0)
.L8003FF9C:
/* 040B9C 8003FF9C 4602603C */ c.lt.s $f12, $f2
.L8003FFA0:
/* 040BA0 8003FFA0 00000000 */ nop
/* 040BA4 8003FFA4 45020006 */ bc1fl .L8003FFC0
/* 040BA8 8003FFA8 4602603C */ c.lt.s $f12, $f2
/* 040BAC 8003FFAC 460E103E */ c.le.s $f2, $f14
/* 040BB0 8003FFB0 00000000 */ nop
/* 040BB4 8003FFB4 45030009 */ bc1tl .L8003FFDC
/* 040BB8 8003FFB8 3C014000 */ lui $at, 0x4000
/* 040BBC 8003FFBC 4602603C */ c.lt.s $f12, $f2
.L8003FFC0:
/* 040BC0 8003FFC0 00000000 */ nop
/* 040BC4 8003FFC4 45020013 */ bc1fl .L80040014
/* 040BC8 8003FFC8 8FBF0024 */ lw $ra, 0x24($sp)
/* 040BCC 8003FFCC 4602703C */ c.lt.s $f14, $f2
/* 040BD0 8003FFD0 00000000 */ nop
/* 040BD4 8003FFD4 4500000E */ bc1f .L80040010
/* 040BD8 8003FFD8 3C014000 */ li $at, 0x40000000 # 2.000000
.L8003FFDC:
/* 040BDC 8003FFDC 44819000 */ mtc1 $at, $f18
/* 040BE0 8003FFE0 C6040070 */ lwc1 $f4, 0x70($s0)
/* 040BE4 8003FFE4 8FAC0038 */ lw $t4, 0x38($sp)
/* 040BE8 8003FFE8 46122003 */ div.s $f0, $f4, $f18
/* 040BEC 8003FFEC C58A0000 */ lwc1 $f10, ($t4)
/* 040BF0 8003FFF0 460C5200 */ add.s $f8, $f10, $f12
/* 040BF4 8003FFF4 46004400 */ add.s $f16, $f8, $f0
/* 040BF8 8003FFF8 E6100218 */ swc1 $f16, 0x218($s0)
/* 040BFC 8003FFFC 8FAD0040 */ lw $t5, 0x40($sp)
/* 040C00 80040000 C5A60000 */ lwc1 $f6, ($t5)
/* 040C04 80040004 460E3100 */ add.s $f4, $f6, $f14
/* 040C08 80040008 46002480 */ add.s $f18, $f4, $f0
/* 040C0C 8004000C E612021C */ swc1 $f18, 0x21c($s0)
.L80040010:
/* 040C10 80040010 8FBF0024 */ lw $ra, 0x24($sp)
.L80040014:
/* 040C14 80040014 8FB0001C */ lw $s0, 0x1c($sp)
/* 040C18 80040018 8FB10020 */ lw $s1, 0x20($sp)
/* 040C1C 8004001C 03E00008 */ jr $ra
/* 040C20 80040020 27BD0028 */ addiu $sp, $sp, 0x28
/* 040C24 80040024 00000000 */ nop
/* 040C28 80040028 00000000 */ nop