papermario/ver/us/asm/nonmatchings/code_102C80/func_802E263C.s
Ethan Roseman a1f7a21114
Rodata migration + other goodz (#208)
* rodata migration

* a5dd0 rodata migration

* e79b0 rodata migration

* more rodata migration

* more migration

* goombario rodata

* SetNpcCollision32

* removing old stuff

* oops

* UnkBackgroundFunc

* removing unnecessary files

* UnkBackgroundFunc2

* UnkStarFuncs

* .

* misc star decomp and AddHP

* oops

* AddFP

* fix offset, update symbol_addrs

* .

* git subrepo pull tools/splat

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

* re-disasm

* fix effect disasm

* oops

* fix lullaby
2021-03-13 00:53:11 +09:00

387 lines
19 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802EB138
.double 360.0
glabel D_802EB140
.double 0.3
glabel D_802EB148
.double 1.2
glabel D_802EB150
.double -12.2
glabel D_802EB158
.double 6.283180236816406
.section .text
glabel func_802E263C
/* 103EBC 802E263C 27BDFF68 */ addiu $sp, $sp, -0x98
/* 103EC0 802E2640 F7B80078 */ sdc1 $f24, 0x78($sp)
/* 103EC4 802E2644 4480C000 */ mtc1 $zero, $f24
/* 103EC8 802E2648 F7BC0088 */ sdc1 $f28, 0x88($sp)
/* 103ECC 802E264C 3C01802F */ lui $at, %hi(D_802EB138)
/* 103ED0 802E2650 D43CB138 */ ldc1 $f28, %lo(D_802EB138)($at)
/* 103ED4 802E2654 AFB40050 */ sw $s4, 0x50($sp)
/* 103ED8 802E2658 0000A02D */ daddu $s4, $zero, $zero
/* 103EDC 802E265C F7BE0090 */ sdc1 $f30, 0x90($sp)
/* 103EE0 802E2660 3C014F00 */ lui $at, 0x4f00
/* 103EE4 802E2664 4481F000 */ mtc1 $at, $f30
/* 103EE8 802E2668 27A80020 */ addiu $t0, $sp, 0x20
/* 103EEC 802E266C AFBE0060 */ sw $fp, 0x60($sp)
/* 103EF0 802E2670 27BE0024 */ addiu $fp, $sp, 0x24
/* 103EF4 802E2674 AFB7005C */ sw $s7, 0x5c($sp)
/* 103EF8 802E2678 27B70028 */ addiu $s7, $sp, 0x28
/* 103EFC 802E267C AFB60058 */ sw $s6, 0x58($sp)
/* 103F00 802E2680 27B6002C */ addiu $s6, $sp, 0x2c
/* 103F04 802E2684 AFB50054 */ sw $s5, 0x54($sp)
/* 103F08 802E2688 27B50030 */ addiu $s5, $sp, 0x30
/* 103F0C 802E268C AFBF0064 */ sw $ra, 0x64($sp)
/* 103F10 802E2690 AFB3004C */ sw $s3, 0x4c($sp)
/* 103F14 802E2694 AFB20048 */ sw $s2, 0x48($sp)
/* 103F18 802E2698 AFB10044 */ sw $s1, 0x44($sp)
/* 103F1C 802E269C AFB00040 */ sw $s0, 0x40($sp)
/* 103F20 802E26A0 F7BA0080 */ sdc1 $f26, 0x80($sp)
/* 103F24 802E26A4 F7B60070 */ sdc1 $f22, 0x70($sp)
/* 103F28 802E26A8 F7B40068 */ sdc1 $f20, 0x68($sp)
/* 103F2C 802E26AC AFA40098 */ sw $a0, 0x98($sp)
/* 103F30 802E26B0 AFA80038 */ sw $t0, 0x38($sp)
/* 103F34 802E26B4 8C920040 */ lw $s2, 0x40($a0)
/* 103F38 802E26B8 4600C686 */ mov.s $f26, $f24
/* 103F3C 802E26BC 4600C586 */ mov.s $f22, $f24
/* 103F40 802E26C0 0240882D */ daddu $s1, $s2, $zero
/* 103F44 802E26C4 0240802D */ daddu $s0, $s2, $zero
/* 103F48 802E26C8 0240982D */ daddu $s3, $s2, $zero
.L802E26CC:
/* 103F4C 802E26CC 24020001 */ addiu $v0, $zero, 1
/* 103F50 802E26D0 82230040 */ lb $v1, 0x40($s1)
/* 103F54 802E26D4 92240040 */ lbu $a0, 0x40($s1)
/* 103F58 802E26D8 1062001D */ beq $v1, $v0, .L802E2750
/* 103F5C 802E26DC 28620002 */ slti $v0, $v1, 2
/* 103F60 802E26E0 50400005 */ beql $v0, $zero, .L802E26F8
/* 103F64 802E26E4 24020002 */ addiu $v0, $zero, 2
/* 103F68 802E26E8 10600009 */ beqz $v1, .L802E2710
/* 103F6C 802E26EC 00000000 */ nop
/* 103F70 802E26F0 080B89F7 */ j .L802E27DC
/* 103F74 802E26F4 00000000 */ nop
.L802E26F8:
/* 103F78 802E26F8 10620021 */ beq $v1, $v0, .L802E2780
/* 103F7C 802E26FC 24020003 */ addiu $v0, $zero, 3
/* 103F80 802E2700 1062002E */ beq $v1, $v0, .L802E27BC
/* 103F84 802E2704 00000000 */ nop
/* 103F88 802E2708 080B89F7 */ j .L802E27DC
/* 103F8C 802E270C 00000000 */ nop
.L802E2710:
/* 103F90 802E2710 96620000 */ lhu $v0, ($s3)
/* 103F94 802E2714 3C014019 */ lui $at, 0x4019
/* 103F98 802E2718 3421999A */ ori $at, $at, 0x999a
/* 103F9C 802E271C 4481B000 */ mtc1 $at, $f22
/* 103FA0 802E2720 30420001 */ andi $v0, $v0, 1
/* 103FA4 802E2724 10400003 */ beqz $v0, .L802E2734
/* 103FA8 802E2728 00000000 */ nop
/* 103FAC 802E272C 3C013FC0 */ lui $at, 0x3fc0
/* 103FB0 802E2730 4481B000 */ mtc1 $at, $f22
.L802E2734:
/* 103FB4 802E2734 82220059 */ lb $v0, 0x59($s1)
/* 103FB8 802E2738 3C0140C0 */ lui $at, 0x40c0
/* 103FBC 802E273C 4481D000 */ mtc1 $at, $f26
/* 103FC0 802E2740 4482C000 */ mtc1 $v0, $f24
/* 103FC4 802E2744 00000000 */ nop
/* 103FC8 802E2748 080B89F7 */ j .L802E27DC
/* 103FCC 802E274C 4680C620 */ cvt.s.w $f24, $f24
.L802E2750:
/* 103FD0 802E2750 3C013F99 */ lui $at, 0x3f99
/* 103FD4 802E2754 3421999A */ ori $at, $at, 0x999a
/* 103FD8 802E2758 4481B000 */ mtc1 $at, $f22
/* 103FDC 802E275C 92220059 */ lbu $v0, 0x59($s1)
/* 103FE0 802E2760 3C014040 */ lui $at, 0x4040
/* 103FE4 802E2764 4481D000 */ mtc1 $at, $f26
/* 103FE8 802E2768 00021600 */ sll $v0, $v0, 0x18
/* 103FEC 802E276C 00021683 */ sra $v0, $v0, 0x1a
/* 103FF0 802E2770 4482C000 */ mtc1 $v0, $f24
/* 103FF4 802E2774 00000000 */ nop
/* 103FF8 802E2778 080B89F7 */ j .L802E27DC
/* 103FFC 802E277C 4680C620 */ cvt.s.w $f24, $f24
.L802E2780:
/* 104000 802E2780 3C013F80 */ lui $at, 0x3f80
/* 104004 802E2784 4481B000 */ mtc1 $at, $f22
/* 104008 802E2788 92220059 */ lbu $v0, 0x59($s1)
/* 10400C 802E278C 3C014000 */ lui $at, 0x4000
/* 104010 802E2790 4481D000 */ mtc1 $at, $f26
/* 104014 802E2794 8643003C */ lh $v1, 0x3c($s2)
/* 104018 802E2798 00021600 */ sll $v0, $v0, 0x18
/* 10401C 802E279C 00021683 */ sra $v0, $v0, 0x1a
/* 104020 802E27A0 4482C000 */ mtc1 $v0, $f24
/* 104024 802E27A4 00000000 */ nop
/* 104028 802E27A8 4680C620 */ cvt.s.w $f24, $f24
/* 10402C 802E27AC 1460000B */ bnez $v1, .L802E27DC
/* 104030 802E27B0 24820001 */ addiu $v0, $a0, 1
/* 104034 802E27B4 080B89F7 */ j .L802E27DC
/* 104038 802E27B8 A2220040 */ sb $v0, 0x40($s1)
.L802E27BC:
/* 10403C 802E27BC C6000124 */ lwc1 $f0, 0x124($s0)
/* 104040 802E27C0 3C01802F */ lui $at, %hi(D_802EB140)
/* 104044 802E27C4 D422B140 */ ldc1 $f2, %lo(D_802EB140)($at)
/* 104048 802E27C8 46000021 */ cvt.d.s $f0, $f0
/* 10404C 802E27CC 46220001 */ sub.d $f0, $f0, $f2
/* 104050 802E27D0 46200020 */ cvt.s.d $f0, $f0
/* 104054 802E27D4 080B8ABF */ j .L802E2AFC
/* 104058 802E27D8 E6000124 */ swc1 $f0, 0x124($s0)
.L802E27DC:
/* 10405C 802E27DC C60001EC */ lwc1 $f0, 0x1ec($s0)
/* 104060 802E27E0 3C01802F */ lui $at, %hi(D_802EB148)
/* 104064 802E27E4 D422B148 */ ldc1 $f2, %lo(D_802EB148)($at)
/* 104068 802E27E8 46000021 */ cvt.d.s $f0, $f0
/* 10406C 802E27EC 46220001 */ sub.d $f0, $f0, $f2
/* 104070 802E27F0 3C01802F */ lui $at, %hi(D_802EB150)
/* 104074 802E27F4 D424B150 */ ldc1 $f4, %lo(D_802EB150)($at)
/* 104078 802E27F8 46200020 */ cvt.s.d $f0, $f0
/* 10407C 802E27FC 460000A1 */ cvt.d.s $f2, $f0
/* 104080 802E2800 4624103C */ c.lt.d $f2, $f4
/* 104084 802E2804 00000000 */ nop
/* 104088 802E2808 45000006 */ bc1f .L802E2824
/* 10408C 802E280C E60001EC */ swc1 $f0, 0x1ec($s0)
/* 104090 802E2810 3C01C143 */ lui $at, 0xc143
/* 104094 802E2814 34213333 */ ori $at, $at, 0x3333
/* 104098 802E2818 44810000 */ mtc1 $at, $f0
/* 10409C 802E281C 00000000 */ nop
/* 1040A0 802E2820 E60001EC */ swc1 $f0, 0x1ec($s0)
.L802E2824:
/* 1040A4 802E2824 C6000124 */ lwc1 $f0, 0x124($s0)
/* 1040A8 802E2828 C60201EC */ lwc1 $f2, 0x1ec($s0)
/* 1040AC 802E282C 46020000 */ add.s $f0, $f0, $f2
/* 1040B0 802E2830 E6000124 */ swc1 $f0, 0x124($s0)
/* 1040B4 802E2834 92220072 */ lbu $v0, 0x72($s1)
/* 1040B8 802E2838 4482A000 */ mtc1 $v0, $f20
/* 1040BC 802E283C 00000000 */ nop
/* 1040C0 802E2840 4680A521 */ cvt.d.w $f20, $f20
/* 1040C4 802E2844 463CA502 */ mul.d $f20, $f20, $f28
/* 1040C8 802E2848 00000000 */ nop
/* 1040CC 802E284C 3C013F70 */ lui $at, 0x3f70
/* 1040D0 802E2850 44814800 */ mtc1 $at, $f9
/* 1040D4 802E2854 44804000 */ mtc1 $zero, $f8
/* 1040D8 802E2858 00000000 */ nop
/* 1040DC 802E285C 4628A502 */ mul.d $f20, $f20, $f8
/* 1040E0 802E2860 00000000 */ nop
/* 1040E4 802E2864 3C0140C9 */ lui $at, 0x40c9
/* 1040E8 802E2868 34210FD0 */ ori $at, $at, 0xfd0
/* 1040EC 802E286C 44816000 */ mtc1 $at, $f12
/* 1040F0 802E2870 4620A520 */ cvt.s.d $f20, $f20
/* 1040F4 802E2874 460CA302 */ mul.s $f12, $f20, $f12
/* 1040F8 802E2878 00000000 */ nop
/* 1040FC 802E287C 03C0302D */ daddu $a2, $fp, $zero
/* 104100 802E2880 3C0143B4 */ lui $at, 0x43b4
/* 104104 802E2884 44810000 */ mtc1 $at, $f0
/* 104108 802E2888 8FA50038 */ lw $a1, 0x38($sp)
/* 10410C 802E288C 0C00A82D */ jal sin_cos_rad
/* 104110 802E2890 46006303 */ div.s $f12, $f12, $f0
/* 104114 802E2894 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 104118 802E2898 4600B002 */ mul.s $f0, $f22, $f0
/* 10411C 802E289C 00000000 */ nop
/* 104120 802E28A0 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 104124 802E28A4 4602B082 */ mul.s $f2, $f22, $f2
/* 104128 802E28A8 00000000 */ nop
/* 10412C 802E28AC C60400C0 */ lwc1 $f4, 0xc0($s0)
/* 104130 802E28B0 46002100 */ add.s $f4, $f4, $f0
/* 104134 802E28B4 C6000188 */ lwc1 $f0, 0x188($s0)
/* 104138 802E28B8 46020000 */ add.s $f0, $f0, $f2
/* 10413C 802E28BC 3C040004 */ lui $a0, 4
/* 104140 802E28C0 02E0282D */ daddu $a1, $s7, $zero
/* 104144 802E28C4 E6000188 */ swc1 $f0, 0x188($s0)
/* 104148 802E28C8 C6000124 */ lwc1 $f0, 0x124($s0)
/* 10414C 802E28CC C6020188 */ lwc1 $f2, 0x188($s0)
/* 104150 802E28D0 02C0302D */ daddu $a2, $s6, $zero
/* 104154 802E28D4 E60400C0 */ swc1 $f4, 0xc0($s0)
/* 104158 802E28D8 E7A40028 */ swc1 $f4, 0x28($sp)
/* 10415C 802E28DC E7A0002C */ swc1 $f0, 0x2c($sp)
/* 104160 802E28E0 E7A20030 */ swc1 $f2, 0x30($sp)
/* 104164 802E28E4 3C014100 */ lui $at, 0x4100
/* 104168 802E28E8 44814000 */ mtc1 $at, $f8
/* 10416C 802E28EC 02A0382D */ daddu $a3, $s5, $zero
/* 104170 802E28F0 E7B60010 */ swc1 $f22, 0x10($sp)
/* 104174 802E28F4 E7B40014 */ swc1 $f20, 0x14($sp)
/* 104178 802E28F8 E7A80018 */ swc1 $f8, 0x18($sp)
/* 10417C 802E28FC 0C0376B9 */ jal func_800DDAE4
/* 104180 802E2900 E7A8001C */ swc1 $f8, 0x1c($sp)
/* 104184 802E2904 1040002D */ beqz $v0, .L802E29BC
/* 104188 802E2908 03C0302D */ daddu $a2, $fp, $zero
/* 10418C 802E290C C7A00028 */ lwc1 $f0, 0x28($sp)
/* 104190 802E2910 C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 104194 802E2914 C7A40030 */ lwc1 $f4, 0x30($sp)
/* 104198 802E2918 E60000C0 */ swc1 $f0, 0xc0($s0)
/* 10419C 802E291C E6020124 */ swc1 $f2, 0x124($s0)
/* 1041A0 802E2920 E6040188 */ swc1 $f4, 0x188($s0)
/* 1041A4 802E2924 92220072 */ lbu $v0, 0x72($s1)
/* 1041A8 802E2928 24420080 */ addiu $v0, $v0, 0x80
/* 1041AC 802E292C A2220072 */ sb $v0, 0x72($s1)
/* 1041B0 802E2930 304200FF */ andi $v0, $v0, 0xff
/* 1041B4 802E2934 44826000 */ mtc1 $v0, $f12
/* 1041B8 802E2938 00000000 */ nop
/* 1041BC 802E293C 46806321 */ cvt.d.w $f12, $f12
/* 1041C0 802E2940 463C6302 */ mul.d $f12, $f12, $f28
/* 1041C4 802E2944 00000000 */ nop
/* 1041C8 802E2948 3C013F70 */ lui $at, 0x3f70
/* 1041CC 802E294C 44814800 */ mtc1 $at, $f9
/* 1041D0 802E2950 44804000 */ mtc1 $zero, $f8
/* 1041D4 802E2954 00000000 */ nop
/* 1041D8 802E2958 46286302 */ mul.d $f12, $f12, $f8
/* 1041DC 802E295C 00000000 */ nop
/* 1041E0 802E2960 3C01802F */ lui $at, %hi(D_802EB158)
/* 1041E4 802E2964 D420B158 */ ldc1 $f0, %lo(D_802EB158)($at)
/* 1041E8 802E2968 46206302 */ mul.d $f12, $f12, $f0
/* 1041EC 802E296C 00000000 */ nop
/* 1041F0 802E2970 8FA50038 */ lw $a1, 0x38($sp)
/* 1041F4 802E2974 463C6303 */ div.d $f12, $f12, $f28
/* 1041F8 802E2978 0C00A82D */ jal sin_cos_rad
/* 1041FC 802E297C 46206320 */ cvt.s.d $f12, $f12
/* 104200 802E2980 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 104204 802E2984 3C014100 */ lui $at, 0x4100
/* 104208 802E2988 4481B000 */ mtc1 $at, $f22
/* 10420C 802E298C 00000000 */ nop
/* 104210 802E2990 46160002 */ mul.s $f0, $f0, $f22
/* 104214 802E2994 00000000 */ nop
/* 104218 802E2998 C7A40024 */ lwc1 $f4, 0x24($sp)
/* 10421C 802E299C 46162102 */ mul.s $f4, $f4, $f22
/* 104220 802E29A0 00000000 */ nop
/* 104224 802E29A4 C60200C0 */ lwc1 $f2, 0xc0($s0)
/* 104228 802E29A8 46001080 */ add.s $f2, $f2, $f0
/* 10422C 802E29AC C6000188 */ lwc1 $f0, 0x188($s0)
/* 104230 802E29B0 46040000 */ add.s $f0, $f0, $f4
/* 104234 802E29B4 E60200C0 */ swc1 $f2, 0xc0($s0)
/* 104238 802E29B8 E6000188 */ swc1 $f0, 0x188($s0)
.L802E29BC:
/* 10423C 802E29BC 3C040004 */ lui $a0, 4
/* 104240 802E29C0 02E0282D */ daddu $a1, $s7, $zero
/* 104244 802E29C4 02C0302D */ daddu $a2, $s6, $zero
/* 104248 802E29C8 02A0382D */ daddu $a3, $s5, $zero
/* 10424C 802E29CC 27A20034 */ addiu $v0, $sp, 0x34
/* 104250 802E29D0 C60200C0 */ lwc1 $f2, 0xc0($s0)
/* 104254 802E29D4 C6040124 */ lwc1 $f4, 0x124($s0)
/* 104258 802E29D8 C60001EC */ lwc1 $f0, 0x1ec($s0)
/* 10425C 802E29DC C6060188 */ lwc1 $f6, 0x188($s0)
/* 104260 802E29E0 46000005 */ abs.s $f0, $f0
/* 104264 802E29E4 E7A20028 */ swc1 $f2, 0x28($sp)
/* 104268 802E29E8 E7A4002C */ swc1 $f4, 0x2c($sp)
/* 10426C 802E29EC E7A60030 */ swc1 $f6, 0x30($sp)
/* 104270 802E29F0 E7A00034 */ swc1 $f0, 0x34($sp)
/* 104274 802E29F4 0C0372DF */ jal func_800DCB7C
/* 104278 802E29F8 AFA20010 */ sw $v0, 0x10($sp)
/* 10427C 802E29FC 1440000B */ bnez $v0, .L802E2A2C
/* 104280 802E2A00 00000000 */ nop
/* 104284 802E2A04 C6400038 */ lwc1 $f0, 0x38($s2)
/* 104288 802E2A08 3C014348 */ lui $at, 0x4348
/* 10428C 802E2A0C 44811000 */ mtc1 $at, $f2
/* 104290 802E2A10 00000000 */ nop
/* 104294 802E2A14 46020001 */ sub.s $f0, $f0, $f2
/* 104298 802E2A18 C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 10429C 802E2A1C 4600103C */ c.lt.s $f2, $f0
/* 1042A0 802E2A20 00000000 */ nop
/* 1042A4 802E2A24 4500000F */ bc1f .L802E2A64
/* 1042A8 802E2A28 00000000 */ nop
.L802E2A2C:
/* 1042AC 802E2A2C 92220040 */ lbu $v0, 0x40($s1)
/* 1042B0 802E2A30 24420001 */ addiu $v0, $v0, 1
/* 1042B4 802E2A34 A2220040 */ sb $v0, 0x40($s1)
/* 1042B8 802E2A38 C60201EC */ lwc1 $f2, 0x1ec($s0)
/* 1042BC 802E2A3C 3C013F99 */ lui $at, 0x3f99
/* 1042C0 802E2A40 3421999A */ ori $at, $at, 0x999a
/* 1042C4 802E2A44 44810000 */ mtc1 $at, $f0
/* 1042C8 802E2A48 46001085 */ abs.s $f2, $f2
/* 1042CC 802E2A4C 46001082 */ mul.s $f2, $f2, $f0
/* 1042D0 802E2A50 00000000 */ nop
/* 1042D4 802E2A54 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* 1042D8 802E2A58 46020000 */ add.s $f0, $f0, $f2
/* 1042DC 802E2A5C E61A01EC */ swc1 $f26, 0x1ec($s0)
/* 1042E0 802E2A60 E6000124 */ swc1 $f0, 0x124($s0)
.L802E2A64:
/* 1042E4 802E2A64 9222008B */ lbu $v0, 0x8b($s1)
/* 1042E8 802E2A68 44820000 */ mtc1 $v0, $f0
/* 1042EC 802E2A6C 00000000 */ nop
/* 1042F0 802E2A70 46800020 */ cvt.s.w $f0, $f0
/* 1042F4 802E2A74 46180000 */ add.s $f0, $f0, $f24
/* 1042F8 802E2A78 4600F03E */ c.le.s $f30, $f0
/* 1042FC 802E2A7C 00000000 */ nop
/* 104300 802E2A80 45010005 */ bc1t .L802E2A98
/* 104304 802E2A84 2623008B */ addiu $v1, $s1, 0x8b
/* 104308 802E2A88 4600020D */ trunc.w.s $f8, $f0
/* 10430C 802E2A8C 44024000 */ mfc1 $v0, $f8
/* 104310 802E2A90 080B8AAC */ j .L802E2AB0
/* 104314 802E2A94 A0620000 */ sb $v0, ($v1)
.L802E2A98:
/* 104318 802E2A98 461E0001 */ sub.s $f0, $f0, $f30
/* 10431C 802E2A9C 4600020D */ trunc.w.s $f8, $f0
/* 104320 802E2AA0 44024000 */ mfc1 $v0, $f8
/* 104324 802E2AA4 3C088000 */ lui $t0, 0x8000
/* 104328 802E2AA8 00481025 */ or $v0, $v0, $t0
/* 10432C 802E2AAC A0620000 */ sb $v0, ($v1)
.L802E2AB0:
/* 104330 802E2AB0 922200A4 */ lbu $v0, 0xa4($s1)
/* 104334 802E2AB4 44820000 */ mtc1 $v0, $f0
/* 104338 802E2AB8 00000000 */ nop
/* 10433C 802E2ABC 46800020 */ cvt.s.w $f0, $f0
/* 104340 802E2AC0 46180001 */ sub.s $f0, $f0, $f24
/* 104344 802E2AC4 4600F03E */ c.le.s $f30, $f0
/* 104348 802E2AC8 00000000 */ nop
/* 10434C 802E2ACC 45010005 */ bc1t .L802E2AE4
/* 104350 802E2AD0 262300A4 */ addiu $v1, $s1, 0xa4
/* 104354 802E2AD4 4600020D */ trunc.w.s $f8, $f0
/* 104358 802E2AD8 44024000 */ mfc1 $v0, $f8
/* 10435C 802E2ADC 080B8ABF */ j .L802E2AFC
/* 104360 802E2AE0 A0620000 */ sb $v0, ($v1)
.L802E2AE4:
/* 104364 802E2AE4 461E0001 */ sub.s $f0, $f0, $f30
/* 104368 802E2AE8 4600020D */ trunc.w.s $f8, $f0
/* 10436C 802E2AEC 44024000 */ mfc1 $v0, $f8
/* 104370 802E2AF0 3C088000 */ lui $t0, 0x8000
/* 104374 802E2AF4 00481025 */ or $v0, $v0, $t0
/* 104378 802E2AF8 A0620000 */ sb $v0, ($v1)
.L802E2AFC:
/* 10437C 802E2AFC 26310001 */ addiu $s1, $s1, 1
/* 104380 802E2B00 26100004 */ addiu $s0, $s0, 4
/* 104384 802E2B04 26940001 */ addiu $s4, $s4, 1
/* 104388 802E2B08 2A820018 */ slti $v0, $s4, 0x18
/* 10438C 802E2B0C 1440FEEF */ bnez $v0, .L802E26CC
/* 104390 802E2B10 26730002 */ addiu $s3, $s3, 2
/* 104394 802E2B14 9642003E */ lhu $v0, 0x3e($s2)
/* 104398 802E2B18 24420001 */ addiu $v0, $v0, 1
/* 10439C 802E2B1C A642003E */ sh $v0, 0x3e($s2)
/* 1043A0 802E2B20 00021400 */ sll $v0, $v0, 0x10
/* 1043A4 802E2B24 00021403 */ sra $v0, $v0, 0x10
/* 1043A8 802E2B28 2842000A */ slti $v0, $v0, 0xa
/* 1043AC 802E2B2C 1440000B */ bnez $v0, .L802E2B5C
/* 1043B0 802E2B30 2403000A */ addiu $v1, $zero, 0xa
/* 1043B4 802E2B34 9642003C */ lhu $v0, 0x3c($s2)
/* 1043B8 802E2B38 A643003E */ sh $v1, 0x3e($s2)
/* 1043BC 802E2B3C 2442FFF8 */ addiu $v0, $v0, -8
/* 1043C0 802E2B40 A642003C */ sh $v0, 0x3c($s2)
/* 1043C4 802E2B44 00021400 */ sll $v0, $v0, 0x10
/* 1043C8 802E2B48 1C400004 */ bgtz $v0, .L802E2B5C
/* 1043CC 802E2B4C 00000000 */ nop
/* 1043D0 802E2B50 A640003C */ sh $zero, 0x3c($s2)
/* 1043D4 802E2B54 0C043F5A */ jal exec_entity_updatecmd
/* 1043D8 802E2B58 8FA40098 */ lw $a0, 0x98($sp)
.L802E2B5C:
/* 1043DC 802E2B5C 8FBF0064 */ lw $ra, 0x64($sp)
/* 1043E0 802E2B60 8FBE0060 */ lw $fp, 0x60($sp)
/* 1043E4 802E2B64 8FB7005C */ lw $s7, 0x5c($sp)
/* 1043E8 802E2B68 8FB60058 */ lw $s6, 0x58($sp)
/* 1043EC 802E2B6C 8FB50054 */ lw $s5, 0x54($sp)
/* 1043F0 802E2B70 8FB40050 */ lw $s4, 0x50($sp)
/* 1043F4 802E2B74 8FB3004C */ lw $s3, 0x4c($sp)
/* 1043F8 802E2B78 8FB20048 */ lw $s2, 0x48($sp)
/* 1043FC 802E2B7C 8FB10044 */ lw $s1, 0x44($sp)
/* 104400 802E2B80 8FB00040 */ lw $s0, 0x40($sp)
/* 104404 802E2B84 D7BE0090 */ ldc1 $f30, 0x90($sp)
/* 104408 802E2B88 D7BC0088 */ ldc1 $f28, 0x88($sp)
/* 10440C 802E2B8C D7BA0080 */ ldc1 $f26, 0x80($sp)
/* 104410 802E2B90 D7B80078 */ ldc1 $f24, 0x78($sp)
/* 104414 802E2B94 D7B60070 */ ldc1 $f22, 0x70($sp)
/* 104418 802E2B98 D7B40068 */ ldc1 $f20, 0x68($sp)
/* 10441C 802E2B9C 03E00008 */ jr $ra
/* 104420 802E2BA0 27BD0098 */ addiu $sp, $sp, 0x98