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

849 lines
40 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E246C
/* 103CEC 802E246C 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 103CF0 802E2470 AFB500A4 */ sw $s5, 0xa4($sp)
/* 103CF4 802E2474 0080A82D */ daddu $s5, $a0, $zero
/* 103CF8 802E2478 AFB600A8 */ sw $s6, 0xa8($sp)
/* 103CFC 802E247C 00C0B02D */ daddu $s6, $a2, $zero
/* 103D00 802E2480 27A40050 */ addiu $a0, $sp, 0x50
/* 103D04 802E2484 30A5FFFF */ andi $a1, $a1, 0xffff
/* 103D08 802E2488 AFBF00B0 */ sw $ra, 0xb0($sp)
/* 103D0C 802E248C AFB700AC */ sw $s7, 0xac($sp)
/* 103D10 802E2490 AFB400A0 */ sw $s4, 0xa0($sp)
/* 103D14 802E2494 AFB3009C */ sw $s3, 0x9c($sp)
/* 103D18 802E2498 AFB20098 */ sw $s2, 0x98($sp)
/* 103D1C 802E249C AFB10094 */ sw $s1, 0x94($sp)
/* 103D20 802E24A0 AFB00090 */ sw $s0, 0x90($sp)
/* 103D24 802E24A4 F7B400B8 */ sdc1 $f20, 0xb8($sp)
/* 103D28 802E24A8 8EA20044 */ lw $v0, 0x44($s5)
/* 103D2C 802E24AC 8EB00040 */ lw $s0, 0x40($s5)
/* 103D30 802E24B0 00451021 */ addu $v0, $v0, $a1
/* 103D34 802E24B4 AE020034 */ sw $v0, 0x34($s0)
/* 103D38 802E24B8 3C02802E */ lui $v0, 0x802e
/* 103D3C 802E24BC 24422BA4 */ addiu $v0, $v0, 0x2ba4
/* 103D40 802E24C0 AEA2003C */ sw $v0, 0x3c($s5)
/* 103D44 802E24C4 240200FF */ addiu $v0, $zero, 0xff
/* 103D48 802E24C8 A2A2000B */ sb $v0, 0xb($s5)
/* 103D4C 802E24CC C6000038 */ lwc1 $f0, 0x38($s0)
/* 103D50 802E24D0 8EA50048 */ lw $a1, 0x48($s5)
/* 103D54 802E24D4 8EA70050 */ lw $a3, 0x50($s5)
/* 103D58 802E24D8 44060000 */ mfc1 $a2, $f0
/* 103D5C 802E24DC 24170002 */ addiu $s7, $zero, 2
/* 103D60 802E24E0 0C019E40 */ jal guTranslateF
/* 103D64 802E24E4 AEA6004C */ sw $a2, 0x4c($s5)
/* 103D68 802E24E8 0C044AC8 */ jal func_80112B20
/* 103D6C 802E24EC 02A0202D */ daddu $a0, $s5, $zero
/* 103D70 802E24F0 50400001 */ beql $v0, $zero, .L802E24F8
/* 103D74 802E24F4 24170001 */ addiu $s7, $zero, 1
.L802E24F8:
/* 103D78 802E24F8 0000A02D */ daddu $s4, $zero, $zero
/* 103D7C 802E24FC 0200902D */ daddu $s2, $s0, $zero
/* 103D80 802E2500 0240882D */ daddu $s1, $s2, $zero
/* 103D84 802E2504 0240982D */ daddu $s3, $s2, $zero
/* 103D88 802E2508 240200FF */ addiu $v0, $zero, 0xff
/* 103D8C 802E250C A640003E */ sh $zero, 0x3e($s2)
/* 103D90 802E2510 A642003C */ sh $v0, 0x3c($s2)
.L802E2514:
/* 103D94 802E2514 32C2FFFF */ andi $v0, $s6, 0xffff
/* 103D98 802E2518 26D60040 */ addiu $s6, $s6, 0x40
/* 103D9C 802E251C 8EA50044 */ lw $a1, 0x44($s5)
/* 103DA0 802E2520 27A40010 */ addiu $a0, $sp, 0x10
/* 103DA4 802E2524 0C019D60 */ jal guMtxL2F
/* 103DA8 802E2528 00A22821 */ addu $a1, $a1, $v0
/* 103DAC 802E252C 27A40050 */ addiu $a0, $sp, 0x50
/* 103DB0 802E2530 27A50010 */ addiu $a1, $sp, 0x10
/* 103DB4 802E2534 0C019D80 */ jal guMtxCatF
/* 103DB8 802E2538 00A0302D */ daddu $a2, $a1, $zero
/* 103DBC 802E253C C7A00040 */ lwc1 $f0, 0x40($sp)
/* 103DC0 802E2540 E64000C0 */ swc1 $f0, 0xc0($s2)
/* 103DC4 802E2544 C7A00044 */ lwc1 $f0, 0x44($sp)
/* 103DC8 802E2548 E6400124 */ swc1 $f0, 0x124($s2)
/* 103DCC 802E254C C7A00048 */ lwc1 $f0, 0x48($sp)
/* 103DD0 802E2550 240400FF */ addiu $a0, $zero, 0xff
/* 103DD4 802E2554 0C00A67F */ jal rand_int
/* 103DD8 802E2558 E6400188 */ swc1 $f0, 0x188($s2)
/* 103DDC 802E255C 00021023 */ negu $v0, $v0
/* 103DE0 802E2560 A2220072 */ sb $v0, 0x72($s1)
/* 103DE4 802E2564 24020001 */ addiu $v0, $zero, 1
/* 103DE8 802E2568 16E20008 */ bne $s7, $v0, .L802E258C
/* 103DEC 802E256C 24100028 */ addiu $s0, $zero, 0x28
/* 103DF0 802E2570 24100014 */ addiu $s0, $zero, 0x14
/* 103DF4 802E2574 96620000 */ lhu $v0, ($s3)
/* 103DF8 802E2578 3C0140CC */ lui $at, 0x40cc
/* 103DFC 802E257C 3421CCCD */ ori $at, $at, 0xcccd
/* 103E00 802E2580 4481A000 */ mtc1 $at, $f20
/* 103E04 802E2584 080B8968 */ j .L802E25A0
/* 103E08 802E2588 34420001 */ ori $v0, $v0, 1
.L802E258C:
/* 103E0C 802E258C 96620000 */ lhu $v0, ($s3)
/* 103E10 802E2590 3C014109 */ lui $at, 0x4109
/* 103E14 802E2594 3421999A */ ori $at, $at, 0x999a
/* 103E18 802E2598 4481A000 */ mtc1 $at, $f20
/* 103E1C 802E259C 34420002 */ ori $v0, $v0, 2
.L802E25A0:
/* 103E20 802E25A0 A6620000 */ sh $v0, ($s3)
/* 103E24 802E25A4 0C00A67F */ jal rand_int
/* 103E28 802E25A8 2404000A */ addiu $a0, $zero, 0xa
/* 103E2C 802E25AC 02028021 */ addu $s0, $s0, $v0
/* 103E30 802E25B0 32820001 */ andi $v0, $s4, 1
/* 103E34 802E25B4 14400003 */ bnez $v0, .L802E25C4
/* 103E38 802E25B8 A2300059 */ sb $s0, 0x59($s1)
/* 103E3C 802E25BC 00101023 */ negu $v0, $s0
/* 103E40 802E25C0 A2220059 */ sb $v0, 0x59($s1)
.L802E25C4:
/* 103E44 802E25C4 0C00A64D */ jal func_80029934
/* 103E48 802E25C8 26730002 */ addiu $s3, $s3, 2
/* 103E4C 802E25CC 3C01802F */ lui $at, 0x802f
/* 103E50 802E25D0 D422B130 */ ldc1 $f2, -0x4ed0($at)
/* 103E54 802E25D4 46000021 */ cvt.d.s $f0, $f0
/* 103E58 802E25D8 46220002 */ mul.d $f0, $f0, $f2
/* 103E5C 802E25DC 00000000 */ nop
/* 103E60 802E25E0 46200020 */ cvt.s.d $f0, $f0
/* 103E64 802E25E4 4600A000 */ add.s $f0, $f20, $f0
/* 103E68 802E25E8 26940001 */ addiu $s4, $s4, 1
/* 103E6C 802E25EC 2A820018 */ slti $v0, $s4, 0x18
/* 103E70 802E25F0 E64001EC */ swc1 $f0, 0x1ec($s2)
/* 103E74 802E25F4 26520004 */ addiu $s2, $s2, 4
/* 103E78 802E25F8 A2200040 */ sb $zero, 0x40($s1)
/* 103E7C 802E25FC A220008B */ sb $zero, 0x8b($s1)
/* 103E80 802E2600 A22000A4 */ sb $zero, 0xa4($s1)
/* 103E84 802E2604 1440FFC3 */ bnez $v0, .L802E2514
/* 103E88 802E2608 26310001 */ addiu $s1, $s1, 1
/* 103E8C 802E260C 8FBF00B0 */ lw $ra, 0xb0($sp)
/* 103E90 802E2610 8FB700AC */ lw $s7, 0xac($sp)
/* 103E94 802E2614 8FB600A8 */ lw $s6, 0xa8($sp)
/* 103E98 802E2618 8FB500A4 */ lw $s5, 0xa4($sp)
/* 103E9C 802E261C 8FB400A0 */ lw $s4, 0xa0($sp)
/* 103EA0 802E2620 8FB3009C */ lw $s3, 0x9c($sp)
/* 103EA4 802E2624 8FB20098 */ lw $s2, 0x98($sp)
/* 103EA8 802E2628 8FB10094 */ lw $s1, 0x94($sp)
/* 103EAC 802E262C 8FB00090 */ lw $s0, 0x90($sp)
/* 103EB0 802E2630 D7B400B8 */ ldc1 $f20, 0xb8($sp)
/* 103EB4 802E2634 03E00008 */ jr $ra
/* 103EB8 802E2638 27BD00C0 */ addiu $sp, $sp, 0xc0
/* 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, 0x802f
/* 103ED0 802E2650 D43CB138 */ ldc1 $f28, -0x4ec8($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, 0x802f
/* 104044 802E27C4 D422B140 */ ldc1 $f2, -0x4ec0($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, 0x802f
/* 104064 802E27E4 D422B148 */ ldc1 $f2, -0x4eb8($at)
/* 104068 802E27E8 46000021 */ cvt.d.s $f0, $f0
/* 10406C 802E27EC 46220001 */ sub.d $f0, $f0, $f2
/* 104070 802E27F0 3C01802F */ lui $at, 0x802f
/* 104074 802E27F4 D424B150 */ ldc1 $f4, -0x4eb0($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, 0x802f
/* 1041E4 802E2964 D420B158 */ ldc1 $f0, -0x4ea8($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 func_8010FD68
/* 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
/* 104424 802E2BA4 27BDFE80 */ addiu $sp, $sp, -0x180
/* 104428 802E2BA8 AFB20130 */ sw $s2, 0x130($sp)
/* 10442C 802E2BAC 3C12800A */ lui $s2, 0x800a
/* 104430 802E2BB0 8E52A66C */ lw $s2, -0x5994($s2)
/* 104434 802E2BB4 F7BA0168 */ sdc1 $f26, 0x168($sp)
/* 104438 802E2BB8 3C0143B4 */ lui $at, 0x43b4
/* 10443C 802E2BBC 4481D000 */ mtc1 $at, $f26
/* 104440 802E2BC0 AFB70144 */ sw $s7, 0x144($sp)
/* 104444 802E2BC4 0000B82D */ daddu $s7, $zero, $zero
/* 104448 802E2BC8 F7B80160 */ sdc1 $f24, 0x160($sp)
/* 10444C 802E2BCC 3C013B80 */ lui $at, 0x3b80
/* 104450 802E2BD0 4481C000 */ mtc1 $at, $f24
/* 104454 802E2BD4 27A80098 */ addiu $t0, $sp, 0x98
/* 104458 802E2BD8 AFB60140 */ sw $s6, 0x140($sp)
/* 10445C 802E2BDC 27B600D8 */ addiu $s6, $sp, 0xd8
/* 104460 802E2BE0 AFB5013C */ sw $s5, 0x13c($sp)
/* 104464 802E2BE4 27B50058 */ addiu $s5, $sp, 0x58
/* 104468 802E2BE8 AFA80120 */ sw $t0, 0x120($sp)
/* 10446C 802E2BEC 3C080001 */ lui $t0, 1
/* 104470 802E2BF0 F7B60158 */ sdc1 $f22, 0x158($sp)
/* 104474 802E2BF4 3C013F80 */ lui $at, 0x3f80
/* 104478 802E2BF8 4481B000 */ mtc1 $at, $f22
/* 10447C 802E2BFC 35081630 */ ori $t0, $t0, 0x1630
/* 104480 802E2C00 AFBF014C */ sw $ra, 0x14c($sp)
/* 104484 802E2C04 AFBE0148 */ sw $fp, 0x148($sp)
/* 104488 802E2C08 AFB40138 */ sw $s4, 0x138($sp)
/* 10448C 802E2C0C AFB30134 */ sw $s3, 0x134($sp)
/* 104490 802E2C10 AFB1012C */ sw $s1, 0x12c($sp)
/* 104494 802E2C14 AFB00128 */ sw $s0, 0x128($sp)
/* 104498 802E2C18 F7BE0178 */ sdc1 $f30, 0x178($sp)
/* 10449C 802E2C1C F7BC0170 */ sdc1 $f28, 0x170($sp)
/* 1044A0 802E2C20 F7B40150 */ sdc1 $f20, 0x150($sp)
/* 1044A4 802E2C24 0C04417A */ jal get_entity_by_index
/* 1044A8 802E2C28 AFA80124 */ sw $t0, 0x124($sp)
/* 1044AC 802E2C2C AFA2011C */ sw $v0, 0x11c($sp)
/* 1044B0 802E2C30 8C540040 */ lw $s4, 0x40($v0)
/* 1044B4 802E2C34 4480A000 */ mtc1 $zero, $f20
/* 1044B8 802E2C38 C4400048 */ lwc1 $f0, 0x48($v0)
/* 1044BC 802E2C3C 0280982D */ daddu $s3, $s4, $zero
/* 1044C0 802E2C40 2651FFFC */ addiu $s1, $s2, -4
/* 1044C4 802E2C44 46000007 */ neg.s $f0, $f0
/* 1044C8 802E2C48 E7A00118 */ swc1 $f0, 0x118($sp)
/* 1044CC 802E2C4C C440004C */ lwc1 $f0, 0x4c($v0)
/* 1044D0 802E2C50 C4420050 */ lwc1 $f2, 0x50($v0)
/* 1044D4 802E2C54 8E9E0034 */ lw $fp, 0x34($s4)
/* 1044D8 802E2C58 46000787 */ neg.s $f30, $f0
/* 1044DC 802E2C5C 46001707 */ neg.s $f28, $f2
.L802E2C60:
/* 1044E0 802E2C60 8683003C */ lh $v1, 0x3c($s4)
/* 1044E4 802E2C64 240200FF */ addiu $v0, $zero, 0xff
/* 1044E8 802E2C68 1462000F */ bne $v1, $v0, .L802E2CA8
/* 1044EC 802E2C6C 26310008 */ addiu $s1, $s1, 8
/* 1044F0 802E2C70 3C03E200 */ lui $v1, 0xe200
/* 1044F4 802E2C74 3463001C */ ori $v1, $v1, 0x1c
/* 1044F8 802E2C78 3C020055 */ lui $v0, 0x55
/* 1044FC 802E2C7C 34422078 */ ori $v0, $v0, 0x2078
/* 104500 802E2C80 AE23FFFC */ sw $v1, -4($s1)
/* 104504 802E2C84 AE220000 */ sw $v0, ($s1)
/* 104508 802E2C88 26310008 */ addiu $s1, $s1, 8
/* 10450C 802E2C8C 26520010 */ addiu $s2, $s2, 0x10
/* 104510 802E2C90 3C03FC12 */ lui $v1, 0xfc12
/* 104514 802E2C94 34631824 */ ori $v1, $v1, 0x1824
/* 104518 802E2C98 3C02FF33 */ lui $v0, 0xff33
/* 10451C 802E2C9C 3442FFFF */ ori $v0, $v0, 0xffff
/* 104520 802E2CA0 080B8B35 */ j .L802E2CD4
/* 104524 802E2CA4 AE23FFFC */ sw $v1, -4($s1)
.L802E2CA8:
/* 104528 802E2CA8 3C03FCFF */ lui $v1, 0xfcff
/* 10452C 802E2CAC 3463C3FF */ ori $v1, $v1, 0xc3ff
/* 104530 802E2CB0 3C02FF30 */ lui $v0, 0xff30
/* 104534 802E2CB4 3442FE7F */ ori $v0, $v0, 0xfe7f
/* 104538 802E2CB8 AE23FFFC */ sw $v1, -4($s1)
/* 10453C 802E2CBC AE220000 */ sw $v0, ($s1)
/* 104540 802E2CC0 26310008 */ addiu $s1, $s1, 8
/* 104544 802E2CC4 3C02FA00 */ lui $v0, 0xfa00
/* 104548 802E2CC8 AE22FFFC */ sw $v0, -4($s1)
/* 10454C 802E2CCC 9282003D */ lbu $v0, 0x3d($s4)
/* 104550 802E2CD0 26520010 */ addiu $s2, $s2, 0x10
.L802E2CD4:
/* 104554 802E2CD4 AE220000 */ sw $v0, ($s1)
/* 104558 802E2CD8 8FA50118 */ lw $a1, 0x118($sp)
/* 10455C 802E2CDC 4406F000 */ mfc1 $a2, $f30
/* 104560 802E2CE0 4407E000 */ mfc1 $a3, $f28
/* 104564 802E2CE4 0C019E40 */ jal guTranslateF
/* 104568 802E2CE8 27A40018 */ addiu $a0, $sp, 0x18
/* 10456C 802E2CEC 02978021 */ addu $s0, $s4, $s7
/* 104570 802E2CF0 9202008B */ lbu $v0, 0x8b($s0)
/* 104574 802E2CF4 44820000 */ mtc1 $v0, $f0
/* 104578 802E2CF8 00000000 */ nop
/* 10457C 802E2CFC 46800020 */ cvt.s.w $f0, $f0
/* 104580 802E2D00 461A0002 */ mul.s $f0, $f0, $f26
/* 104584 802E2D04 00000000 */ nop
/* 104588 802E2D08 46180002 */ mul.s $f0, $f0, $f24
/* 10458C 802E2D0C 00000000 */ nop
/* 104590 802E2D10 4406B000 */ mfc1 $a2, $f22
/* 104594 802E2D14 4407A000 */ mfc1 $a3, $f20
/* 104598 802E2D18 8FA40120 */ lw $a0, 0x120($sp)
/* 10459C 802E2D1C 44050000 */ mfc1 $a1, $f0
/* 1045A0 802E2D20 0C019EC8 */ jal guRotateF
/* 1045A4 802E2D24 E7B40010 */ swc1 $f20, 0x10($sp)
/* 1045A8 802E2D28 920200A4 */ lbu $v0, 0xa4($s0)
/* 1045AC 802E2D2C 44820000 */ mtc1 $v0, $f0
/* 1045B0 802E2D30 00000000 */ nop
/* 1045B4 802E2D34 46800020 */ cvt.s.w $f0, $f0
/* 1045B8 802E2D38 461A0002 */ mul.s $f0, $f0, $f26
/* 1045BC 802E2D3C 00000000 */ nop
/* 1045C0 802E2D40 26310008 */ addiu $s1, $s1, 8
/* 1045C4 802E2D44 46180002 */ mul.s $f0, $f0, $f24
/* 1045C8 802E2D48 00000000 */ nop
/* 1045CC 802E2D4C 26520018 */ addiu $s2, $s2, 0x18
/* 1045D0 802E2D50 26F70001 */ addiu $s7, $s7, 1
/* 1045D4 802E2D54 4406A000 */ mfc1 $a2, $f20
/* 1045D8 802E2D58 4407B000 */ mfc1 $a3, $f22
/* 1045DC 802E2D5C 44050000 */ mfc1 $a1, $f0
/* 1045E0 802E2D60 02C0202D */ daddu $a0, $s6, $zero
/* 1045E4 802E2D64 0C019EC8 */ jal guRotateF
/* 1045E8 802E2D68 E7B40010 */ swc1 $f20, 0x10($sp)
/* 1045EC 802E2D6C 02C0282D */ daddu $a1, $s6, $zero
/* 1045F0 802E2D70 8FA40120 */ lw $a0, 0x120($sp)
/* 1045F4 802E2D74 0C019D80 */ jal guMtxCatF
/* 1045F8 802E2D78 02C0302D */ daddu $a2, $s6, $zero
/* 1045FC 802E2D7C 02C0202D */ daddu $a0, $s6, $zero
/* 104600 802E2D80 27A50018 */ addiu $a1, $sp, 0x18
/* 104604 802E2D84 0C019D80 */ jal guMtxCatF
/* 104608 802E2D88 00A0302D */ daddu $a2, $a1, $zero
/* 10460C 802E2D8C 02A0202D */ daddu $a0, $s5, $zero
/* 104610 802E2D90 8E6500C0 */ lw $a1, 0xc0($s3)
/* 104614 802E2D94 8E660124 */ lw $a2, 0x124($s3)
/* 104618 802E2D98 8E670188 */ lw $a3, 0x188($s3)
/* 10461C 802E2D9C 0C019E40 */ jal guTranslateF
/* 104620 802E2DA0 26730004 */ addiu $s3, $s3, 4
/* 104624 802E2DA4 27A40018 */ addiu $a0, $sp, 0x18
/* 104628 802E2DA8 02A0282D */ daddu $a1, $s5, $zero
/* 10462C 802E2DAC 0C019D80 */ jal guMtxCatF
/* 104630 802E2DB0 02A0302D */ daddu $a2, $s5, $zero
/* 104634 802E2DB4 02A0202D */ daddu $a0, $s5, $zero
/* 104638 802E2DB8 3C058007 */ lui $a1, 0x8007
/* 10463C 802E2DBC 94A541F0 */ lhu $a1, 0x41f0($a1)
/* 104640 802E2DC0 3C02800A */ lui $v0, 0x800a
/* 104644 802E2DC4 8C42A674 */ lw $v0, -0x598c($v0)
/* 104648 802E2DC8 8FA80124 */ lw $t0, 0x124($sp)
/* 10464C 802E2DCC 00052980 */ sll $a1, $a1, 6
/* 104650 802E2DD0 00A82821 */ addu $a1, $a1, $t0
/* 104654 802E2DD4 0C019D40 */ jal guMtxF2L
/* 104658 802E2DD8 00452821 */ addu $a1, $v0, $a1
/* 10465C 802E2DDC 3C05D838 */ lui $a1, 0xd838
/* 104660 802E2DE0 34A50002 */ ori $a1, $a1, 2
/* 104664 802E2DE4 3C028007 */ lui $v0, 0x8007
/* 104668 802E2DE8 944241F0 */ lhu $v0, 0x41f0($v0)
/* 10466C 802E2DEC 3C03DA38 */ lui $v1, 0xda38
/* 104670 802E2DF0 AE23FFFC */ sw $v1, -4($s1)
/* 104674 802E2DF4 8FA80124 */ lw $t0, 0x124($sp)
/* 104678 802E2DF8 24430001 */ addiu $v1, $v0, 1
/* 10467C 802E2DFC 3042FFFF */ andi $v0, $v0, 0xffff
/* 104680 802E2E00 00021180 */ sll $v0, $v0, 6
/* 104684 802E2E04 3C018007 */ lui $at, 0x8007
/* 104688 802E2E08 A42341F0 */ sh $v1, 0x41f0($at)
/* 10468C 802E2E0C 3C03800A */ lui $v1, 0x800a
/* 104690 802E2E10 8C63A674 */ lw $v1, -0x598c($v1)
/* 104694 802E2E14 00481021 */ addu $v0, $v0, $t0
/* 104698 802E2E18 00621821 */ addu $v1, $v1, $v0
/* 10469C 802E2E1C AE230000 */ sw $v1, ($s1)
/* 1046A0 802E2E20 97C40002 */ lhu $a0, 2($fp)
/* 1046A4 802E2E24 27DE0004 */ addiu $fp, $fp, 4
/* 1046A8 802E2E28 8FA8011C */ lw $t0, 0x11c($sp)
/* 1046AC 802E2E2C 26310008 */ addiu $s1, $s1, 8
/* 1046B0 802E2E30 8D030044 */ lw $v1, 0x44($t0)
/* 1046B4 802E2E34 3C02DE00 */ lui $v0, 0xde00
/* 1046B8 802E2E38 AE22FFFC */ sw $v0, -4($s1)
/* 1046BC 802E2E3C 24020040 */ addiu $v0, $zero, 0x40
/* 1046C0 802E2E40 00641821 */ addu $v1, $v1, $a0
/* 1046C4 802E2E44 AE230000 */ sw $v1, ($s1)
/* 1046C8 802E2E48 26310008 */ addiu $s1, $s1, 8
/* 1046CC 802E2E4C AE220000 */ sw $v0, ($s1)
/* 1046D0 802E2E50 2AE20018 */ slti $v0, $s7, 0x18
/* 1046D4 802E2E54 1440FF82 */ bnez $v0, .L802E2C60
/* 1046D8 802E2E58 AE25FFFC */ sw $a1, -4($s1)
/* 1046DC 802E2E5C 8FBF014C */ lw $ra, 0x14c($sp)
/* 1046E0 802E2E60 8FBE0148 */ lw $fp, 0x148($sp)
/* 1046E4 802E2E64 8FB70144 */ lw $s7, 0x144($sp)
/* 1046E8 802E2E68 8FB60140 */ lw $s6, 0x140($sp)
/* 1046EC 802E2E6C 8FB5013C */ lw $s5, 0x13c($sp)
/* 1046F0 802E2E70 8FB40138 */ lw $s4, 0x138($sp)
/* 1046F4 802E2E74 8FB30134 */ lw $s3, 0x134($sp)
/* 1046F8 802E2E78 3C01800A */ lui $at, 0x800a
/* 1046FC 802E2E7C AC32A66C */ sw $s2, -0x5994($at)
/* 104700 802E2E80 8FB20130 */ lw $s2, 0x130($sp)
/* 104704 802E2E84 8FB1012C */ lw $s1, 0x12c($sp)
/* 104708 802E2E88 8FB00128 */ lw $s0, 0x128($sp)
/* 10470C 802E2E8C D7BE0178 */ ldc1 $f30, 0x178($sp)
/* 104710 802E2E90 D7BC0170 */ ldc1 $f28, 0x170($sp)
/* 104714 802E2E94 D7BA0168 */ ldc1 $f26, 0x168($sp)
/* 104718 802E2E98 D7B80160 */ ldc1 $f24, 0x160($sp)
/* 10471C 802E2E9C D7B60158 */ ldc1 $f22, 0x158($sp)
/* 104720 802E2EA0 D7B40150 */ ldc1 $f20, 0x150($sp)
/* 104724 802E2EA4 03E00008 */ jr $ra
/* 104728 802E2EA8 27BD0180 */ addiu $sp, $sp, 0x180
/* 10472C 802E2EAC 00000000 */ nop
/* 104730 802E2EB0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 104734 802E2EB4 AFB1001C */ sw $s1, 0x1c($sp)
/* 104738 802E2EB8 0080882D */ daddu $s1, $a0, $zero
/* 10473C 802E2EBC AFBF0024 */ sw $ra, 0x24($sp)
/* 104740 802E2EC0 AFB20020 */ sw $s2, 0x20($sp)
/* 104744 802E2EC4 AFB00018 */ sw $s0, 0x18($sp)
/* 104748 802E2EC8 8E220040 */ lw $v0, 0x40($s1)
/* 10474C 802E2ECC C620004C */ lwc1 $f0, 0x4c($s1)
/* 104750 802E2ED0 0000802D */ daddu $s0, $zero, $zero
/* 104754 802E2ED4 E4400038 */ swc1 $f0, 0x38($v0)
/* 104758 802E2ED8 92240004 */ lbu $a0, 4($s1)
/* 10475C 802E2EDC 0C0441A9 */ jal func_801106A4
/* 104760 802E2EE0 0200902D */ daddu $s2, $s0, $zero
/* 104764 802E2EE4 0040182D */ daddu $v1, $v0, $zero
/* 104768 802E2EE8 2462FFE8 */ addiu $v0, $v1, -0x18
/* 10476C 802E2EEC 2C420003 */ sltiu $v0, $v0, 3
/* 104770 802E2EF0 10400007 */ beqz $v0, .L802E2F10
/* 104774 802E2EF4 2463FFF3 */ addiu $v1, $v1, -0xd
/* 104778 802E2EF8 3C013F00 */ lui $at, 0x3f00
/* 10477C 802E2EFC 44810000 */ mtc1 $at, $f0
/* 104780 802E2F00 00000000 */ nop
/* 104784 802E2F04 E6200054 */ swc1 $f0, 0x54($s1)
/* 104788 802E2F08 E6200058 */ swc1 $f0, 0x58($s1)
/* 10478C 802E2F0C E620005C */ swc1 $f0, 0x5c($s1)
.L802E2F10:
/* 104790 802E2F10 2C62000E */ sltiu $v0, $v1, 0xe
/* 104794 802E2F14 10400023 */ beqz $v0, .L802E2FA4
/* 104798 802E2F18 00031080 */ sll $v0, $v1, 2
/* 10479C 802E2F1C 3C01802F */ lui $at, 0x802f
/* 1047A0 802E2F20 00220821 */ addu $at, $at, $v0
/* 1047A4 802E2F24 8C22B160 */ lw $v0, -0x4ea0($at)
/* 1047A8 802E2F28 00400008 */ jr $v0
/* 1047AC 802E2F2C 00000000 */ nop
/* 1047B0 802E2F30 3C120A00 */ lui $s2, 0xa00
/* 1047B4 802E2F34 265231E0 */ addiu $s2, $s2, 0x31e0
/* 1047B8 802E2F38 3C100A00 */ lui $s0, 0xa00
/* 1047BC 802E2F3C 26101508 */ addiu $s0, $s0, 0x1508
/* 1047C0 802E2F40 080B8BE9 */ j .L802E2FA4
/* 1047C4 802E2F44 00000000 */ nop
/* 1047C8 802E2F48 3C120A00 */ lui $s2, 0xa00
/* 1047CC 802E2F4C 265231B0 */ addiu $s2, $s2, 0x31b0
/* 1047D0 802E2F50 3C100A00 */ lui $s0, 0xa00
/* 1047D4 802E2F54 261014D8 */ addiu $s0, $s0, 0x14d8
/* 1047D8 802E2F58 080B8BE9 */ j .L802E2FA4
/* 1047DC 802E2F5C 00000000 */ nop
/* 1047E0 802E2F60 3C120A00 */ lui $s2, 0xa00
/* 1047E4 802E2F64 26522F78 */ addiu $s2, $s2, 0x2f78
/* 1047E8 802E2F68 3C100A00 */ lui $s0, 0xa00
/* 1047EC 802E2F6C 26101218 */ addiu $s0, $s0, 0x1218
/* 1047F0 802E2F70 080B8BE9 */ j .L802E2FA4
/* 1047F4 802E2F74 00000000 */ nop
/* 1047F8 802E2F78 24040158 */ addiu $a0, $zero, 0x158
/* 1047FC 802E2F7C C6200050 */ lwc1 $f0, 0x50($s1)
/* 104800 802E2F80 3C120A00 */ lui $s2, 0xa00
/* 104804 802E2F84 26523F70 */ addiu $s2, $s2, 0x3f70
/* 104808 802E2F88 E7A00010 */ swc1 $f0, 0x10($sp)
/* 10480C 802E2F8C 8E260048 */ lw $a2, 0x48($s1)
/* 104810 802E2F90 8E27004C */ lw $a3, 0x4c($s1)
/* 104814 802E2F94 3C100A00 */ lui $s0, 0xa00
/* 104818 802E2F98 26102318 */ addiu $s0, $s0, 0x2318
/* 10481C 802E2F9C 0C052757 */ jal play_sound_at_position
/* 104820 802E2FA0 0000282D */ daddu $a1, $zero, $zero
.L802E2FA4:
/* 104824 802E2FA4 12000004 */ beqz $s0, .L802E2FB8
/* 104828 802E2FA8 0220202D */ daddu $a0, $s1, $zero
/* 10482C 802E2FAC 0240282D */ daddu $a1, $s2, $zero
/* 104830 802E2FB0 0C0B891B */ jal func_802E246C
/* 104834 802E2FB4 0200302D */ daddu $a2, $s0, $zero
.L802E2FB8:
/* 104838 802E2FB8 8FBF0024 */ lw $ra, 0x24($sp)
/* 10483C 802E2FBC 8FB20020 */ lw $s2, 0x20($sp)
/* 104840 802E2FC0 8FB1001C */ lw $s1, 0x1c($sp)
/* 104844 802E2FC4 8FB00018 */ lw $s0, 0x18($sp)
/* 104848 802E2FC8 03E00008 */ jr $ra
/* 10484C 802E2FCC 27BD0028 */ addiu $sp, $sp, 0x28
/* 104850 802E2FD0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 104854 802E2FD4 AFB1001C */ sw $s1, 0x1c($sp)
/* 104858 802E2FD8 0080882D */ daddu $s1, $a0, $zero
/* 10485C 802E2FDC AFBF0020 */ sw $ra, 0x20($sp)
/* 104860 802E2FE0 AFB00018 */ sw $s0, 0x18($sp)
/* 104864 802E2FE4 92240004 */ lbu $a0, 4($s1)
/* 104868 802E2FE8 0C0441A9 */ jal func_801106A4
/* 10486C 802E2FEC 0000802D */ daddu $s0, $zero, $zero
/* 104870 802E2FF0 2443FFF3 */ addiu $v1, $v0, -0xd
/* 104874 802E2FF4 2C62000E */ sltiu $v0, $v1, 0xe
/* 104878 802E2FF8 1040001A */ beqz $v0, .L802E3064
/* 10487C 802E2FFC 00031080 */ sll $v0, $v1, 2
/* 104880 802E3000 3C01802F */ lui $at, 0x802f
/* 104884 802E3004 00220821 */ addu $at, $at, $v0
/* 104888 802E3008 8C22B198 */ lw $v0, -0x4e68($at)
/* 10488C 802E300C 00400008 */ jr $v0
/* 104890 802E3010 00000000 */ nop
/* 104894 802E3014 3C10802F */ lui $s0, 0x802f
/* 104898 802E3018 080B8C19 */ j .L802E3064
/* 10489C 802E301C 26109C8C */ addiu $s0, $s0, -0x6374
/* 1048A0 802E3020 3C10802F */ lui $s0, 0x802f
/* 1048A4 802E3024 080B8C19 */ j .L802E3064
/* 1048A8 802E3028 26109CF8 */ addiu $s0, $s0, -0x6308
/* 1048AC 802E302C 3C10802F */ lui $s0, 0x802f
/* 1048B0 802E3030 080B8C19 */ j .L802E3064
/* 1048B4 802E3034 26109CB0 */ addiu $s0, $s0, -0x6350
/* 1048B8 802E3038 3C10802F */ lui $s0, 0x802f
/* 1048BC 802E303C 080B8C19 */ j .L802E3064
/* 1048C0 802E3040 26109D1C */ addiu $s0, $s0, -0x62e4
/* 1048C4 802E3044 3C10802F */ lui $s0, 0x802f
/* 1048C8 802E3048 080B8C19 */ j .L802E3064
/* 1048CC 802E304C 26109CD4 */ addiu $s0, $s0, -0x632c
/* 1048D0 802E3050 3C10802F */ lui $s0, 0x802f
/* 1048D4 802E3054 080B8C19 */ j .L802E3064
/* 1048D8 802E3058 26109D40 */ addiu $s0, $s0, -0x62c0
/* 1048DC 802E305C 3C10802F */ lui $s0, 0x802f
/* 1048E0 802E3060 26109D64 */ addiu $s0, $s0, -0x629c
.L802E3064:
/* 1048E4 802E3064 1200000E */ beqz $s0, .L802E30A0
/* 1048E8 802E3068 0200202D */ daddu $a0, $s0, $zero
/* 1048EC 802E306C C6200048 */ lwc1 $f0, 0x48($s1)
/* 1048F0 802E3070 C622004C */ lwc1 $f2, 0x4c($s1)
/* 1048F4 802E3074 C6240050 */ lwc1 $f4, 0x50($s1)
/* 1048F8 802E3078 3C028000 */ lui $v0, 0x8000
/* 1048FC 802E307C AFA00010 */ sw $zero, 0x10($sp)
/* 104900 802E3080 4600018D */ trunc.w.s $f6, $f0
/* 104904 802E3084 44053000 */ mfc1 $a1, $f6
/* 104908 802E3088 4600118D */ trunc.w.s $f6, $f2
/* 10490C 802E308C 44063000 */ mfc1 $a2, $f6
/* 104910 802E3090 4600218D */ trunc.w.s $f6, $f4
/* 104914 802E3094 44073000 */ mfc1 $a3, $f6
/* 104918 802E3098 0C044631 */ jal create_entity
/* 10491C 802E309C AFA20014 */ sw $v0, 0x14($sp)
.L802E30A0:
/* 104920 802E30A0 8FBF0020 */ lw $ra, 0x20($sp)
/* 104924 802E30A4 8FB1001C */ lw $s1, 0x1c($sp)
/* 104928 802E30A8 8FB00018 */ lw $s0, 0x18($sp)
/* 10492C 802E30AC 03E00008 */ jr $ra
/* 104930 802E30B0 27BD0028 */ addiu $sp, $sp, 0x28
/* 104934 802E30B4 00000000 */ nop
/* 104938 802E30B8 00000000 */ nop
/* 10493C 802E30BC 00000000 */ nop