.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel update_entities /* 0A5DD0 8010F6D0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0A5DD4 8010F6D4 AFB10014 */ sw $s1, 0x14($sp) /* 0A5DD8 8010F6D8 0000882D */ daddu $s1, $zero, $zero /* 0A5DDC 8010F6DC AFB3001C */ sw $s3, 0x1c($sp) /* 0A5DE0 8010F6E0 3C130200 */ lui $s3, 0x200 /* 0A5DE4 8010F6E4 3C038015 */ lui $v1, 0x8015 /* 0A5DE8 8010F6E8 24631330 */ addiu $v1, $v1, 0x1330 /* 0A5DEC 8010F6EC AFBF0020 */ sw $ra, 0x20($sp) /* 0A5DF0 8010F6F0 AFB20018 */ sw $s2, 0x18($sp) /* 0A5DF4 8010F6F4 AFB00010 */ sw $s0, 0x10($sp) /* 0A5DF8 8010F6F8 8C620000 */ lw $v0, ($v1) /* 0A5DFC 8010F6FC 3C12800B */ lui $s2, 0x800b /* 0A5E00 8010F700 26521D80 */ addiu $s2, $s2, 0x1d80 /* 0A5E04 8010F704 3C018015 */ lui $at, 0x8015 /* 0A5E08 8010F708 AC2012BC */ sw $zero, 0x12bc($at) /* 0A5E0C 8010F70C 3C018015 */ lui $at, 0x8015 /* 0A5E10 8010F710 AC2012C0 */ sw $zero, 0x12c0($at) /* 0A5E14 8010F714 24420001 */ addiu $v0, $v0, 1 /* 0A5E18 8010F718 AC620000 */ sw $v0, ($v1) .L8010F71C: /* 0A5E1C 8010F71C 0C04417A */ jal get_entity_by_index /* 0A5E20 8010F720 0220202D */ daddu $a0, $s1, $zero /* 0A5E24 8010F724 0040802D */ daddu $s0, $v0, $zero /* 0A5E28 8010F728 520000CD */ beql $s0, $zero, .L8010FA60 /* 0A5E2C 8010F72C 26310001 */ addiu $s1, $s1, 1 /* 0A5E30 8010F730 3C028015 */ lui $v0, 0x8015 /* 0A5E34 8010F734 244212C0 */ addiu $v0, $v0, 0x12c0 /* 0A5E38 8010F738 8C430000 */ lw $v1, ($v0) /* 0A5E3C 8010F73C 24630001 */ addiu $v1, $v1, 1 /* 0A5E40 8010F740 AC430000 */ sw $v1, ($v0) /* 0A5E44 8010F744 8E030000 */ lw $v1, ($s0) /* 0A5E48 8010F748 3C024000 */ lui $v0, 0x4000 /* 0A5E4C 8010F74C 00621024 */ and $v0, $v1, $v0 /* 0A5E50 8010F750 544000C3 */ bnel $v0, $zero, .L8010FA60 /* 0A5E54 8010F754 26310001 */ addiu $s1, $s1, 1 /* 0A5E58 8010F758 3C020100 */ lui $v0, 0x100 /* 0A5E5C 8010F75C 00621024 */ and $v0, $v1, $v0 /* 0A5E60 8010F760 1040000D */ beqz $v0, .L8010F798 /* 0A5E64 8010F764 3C02FEFF */ lui $v0, 0xfeff /* 0A5E68 8010F768 3442FFFF */ ori $v0, $v0, 0xffff /* 0A5E6C 8010F76C 00622024 */ and $a0, $v1, $v0 /* 0A5E70 8010F770 30628000 */ andi $v0, $v1, 0x8000 /* 0A5E74 8010F774 14400003 */ bnez $v0, .L8010F784 /* 0A5E78 8010F778 AE040000 */ sw $a0, ($s0) /* 0A5E7C 8010F77C 00931025 */ or $v0, $a0, $s3 /* 0A5E80 8010F780 AE020000 */ sw $v0, ($s0) .L8010F784: /* 0A5E84 8010F784 2405000A */ addiu $a1, $zero, 0xa /* 0A5E88 8010F788 8E040028 */ lw $a0, 0x28($s0) /* 0A5E8C 8010F78C 0C0B0CF8 */ jal start_script /* 0A5E90 8010F790 24060020 */ addiu $a2, $zero, 0x20 /* 0A5E94 8010F794 AE020024 */ sw $v0, 0x24($s0) .L8010F798: /* 0A5E98 8010F798 8E020000 */ lw $v0, ($s0) /* 0A5E9C 8010F79C 00531024 */ and $v0, $v0, $s3 /* 0A5EA0 8010F7A0 1040002D */ beqz $v0, .L8010F858 /* 0A5EA4 8010F7A4 00000000 */ nop /* 0A5EA8 8010F7A8 8E020024 */ lw $v0, 0x24($s0) /* 0A5EAC 8010F7AC 0C0B1059 */ jal does_script_exist /* 0A5EB0 8010F7B0 8C440144 */ lw $a0, 0x144($v0) /* 0A5EB4 8010F7B4 10400024 */ beqz $v0, .L8010F848 /* 0A5EB8 8010F7B8 3C03FDFF */ lui $v1, 0xfdff /* 0A5EBC 8010F7BC 8E020000 */ lw $v0, ($s0) /* 0A5EC0 8010F7C0 30420008 */ andi $v0, $v0, 8 /* 0A5EC4 8010F7C4 10400005 */ beqz $v0, .L8010F7DC /* 0A5EC8 8010F7C8 00000000 */ nop /* 0A5ECC 8010F7CC 0C047A2F */ jal func_8011E8BC /* 0A5ED0 8010F7D0 86040014 */ lh $a0, 0x14($s0) /* 0A5ED4 8010F7D4 08043DF9 */ j .L8010F7E4 /* 0A5ED8 8010F7D8 00000000 */ nop .L8010F7DC: /* 0A5EDC 8010F7DC 0C0483C1 */ jal func_80120F04 /* 0A5EE0 8010F7E0 86040014 */ lh $a0, 0x14($s0) .L8010F7E4: /* 0A5EE4 8010F7E4 8E020000 */ lw $v0, ($s0) /* 0A5EE8 8010F7E8 30422000 */ andi $v0, $v0, 0x2000 /* 0A5EEC 8010F7EC 1040000E */ beqz $v0, .L8010F828 /* 0A5EF0 8010F7F0 00000000 */ nop /* 0A5EF4 8010F7F4 3C038007 */ lui $v1, 0x8007 /* 0A5EF8 8010F7F8 8C637410 */ lw $v1, 0x7410($v1) /* 0A5EFC 8010F7FC 00031080 */ sll $v0, $v1, 2 /* 0A5F00 8010F800 00431021 */ addu $v0, $v0, $v1 /* 0A5F04 8010F804 00021080 */ sll $v0, $v0, 2 /* 0A5F08 8010F808 00431023 */ subu $v0, $v0, $v1 /* 0A5F0C 8010F80C 000218C0 */ sll $v1, $v0, 3 /* 0A5F10 8010F810 00431021 */ addu $v0, $v0, $v1 /* 0A5F14 8010F814 000210C0 */ sll $v0, $v0, 3 /* 0A5F18 8010F818 00521021 */ addu $v0, $v0, $s2 /* 0A5F1C 8010F81C C440006C */ lwc1 $f0, 0x6c($v0) /* 0A5F20 8010F820 46000007 */ neg.s $f0, $f0 /* 0A5F24 8010F824 E6000064 */ swc1 $f0, 0x64($s0) .L8010F828: /* 0A5F28 8010F828 8E020000 */ lw $v0, ($s0) /* 0A5F2C 8010F82C 30420010 */ andi $v0, $v0, 0x10 /* 0A5F30 8010F830 5440008B */ bnel $v0, $zero, .L8010FA60 /* 0A5F34 8010F834 26310001 */ addiu $s1, $s1, 1 /* 0A5F38 8010F838 0C04408B */ jal func_8011022C /* 0A5F3C 8010F83C 0200202D */ daddu $a0, $s0, $zero /* 0A5F40 8010F840 08043E98 */ j .L8010FA60 /* 0A5F44 8010F844 26310001 */ addiu $s1, $s1, 1 .L8010F848: /* 0A5F48 8010F848 8E020000 */ lw $v0, ($s0) /* 0A5F4C 8010F84C 3463FFFF */ ori $v1, $v1, 0xffff /* 0A5F50 8010F850 00431024 */ and $v0, $v0, $v1 /* 0A5F54 8010F854 AE020000 */ sw $v0, ($s0) .L8010F858: /* 0A5F58 8010F858 82020007 */ lb $v0, 7($s0) /* 0A5F5C 8010F85C 92030007 */ lbu $v1, 7($s0) /* 0A5F60 8010F860 14400015 */ bnez $v0, .L8010F8B8 /* 0A5F64 8010F864 2463FFFF */ addiu $v1, $v1, -1 /* 0A5F68 8010F868 0C04422E */ jal func_801108B8 /* 0A5F6C 8010F86C 0200202D */ daddu $a0, $s0, $zero /* 0A5F70 8010F870 A2020006 */ sb $v0, 6($s0) /* 0A5F74 8010F874 304200FF */ andi $v0, $v0, 0xff /* 0A5F78 8010F878 10400026 */ beqz $v0, .L8010F914 /* 0A5F7C 8010F87C 00000000 */ nop /* 0A5F80 8010F880 8E020038 */ lw $v0, 0x38($s0) /* 0A5F84 8010F884 8C420014 */ lw $v0, 0x14($v0) /* 0A5F88 8010F888 10400022 */ beqz $v0, .L8010F914 /* 0A5F8C 8010F88C 00000000 */ nop /* 0A5F90 8010F890 0040F809 */ jalr $v0 /* 0A5F94 8010F894 0200202D */ daddu $a0, $s0, $zero /* 0A5F98 8010F898 1040001E */ beqz $v0, .L8010F914 /* 0A5F9C 8010F89C 2402000A */ addiu $v0, $zero, 0xa /* 0A5FA0 8010F8A0 A2020007 */ sb $v0, 7($s0) /* 0A5FA4 8010F8A4 8E020000 */ lw $v0, ($s0) /* 0A5FA8 8010F8A8 3C030001 */ lui $v1, 1 /* 0A5FAC 8010F8AC 00431025 */ or $v0, $v0, $v1 /* 0A5FB0 8010F8B0 08043E45 */ j .L8010F914 /* 0A5FB4 8010F8B4 AE020000 */ sw $v0, ($s0) .L8010F8B8: /* 0A5FB8 8010F8B8 8E040000 */ lw $a0, ($s0) /* 0A5FBC 8010F8BC 30820040 */ andi $v0, $a0, 0x40 /* 0A5FC0 8010F8C0 1040000A */ beqz $v0, .L8010F8EC /* 0A5FC4 8010F8C4 A2030007 */ sb $v1, 7($s0) /* 0A5FC8 8010F8C8 00031600 */ sll $v0, $v1, 0x18 /* 0A5FCC 8010F8CC 14400005 */ bnez $v0, .L8010F8E4 /* 0A5FD0 8010F8D0 34820020 */ ori $v0, $a0, 0x20 /* 0A5FD4 8010F8D4 2402FF9F */ addiu $v0, $zero, -0x61 /* 0A5FD8 8010F8D8 00821024 */ and $v0, $a0, $v0 /* 0A5FDC 8010F8DC 08043E45 */ j .L8010F914 /* 0A5FE0 8010F8E0 AE020000 */ sw $v0, ($s0) .L8010F8E4: /* 0A5FE4 8010F8E4 08043E45 */ j .L8010F914 /* 0A5FE8 8010F8E8 AE020000 */ sw $v0, ($s0) .L8010F8EC: /* 0A5FEC 8010F8EC 00031600 */ sll $v0, $v1, 0x18 /* 0A5FF0 8010F8F0 14400008 */ bnez $v0, .L8010F914 /* 0A5FF4 8010F8F4 3C02FFFE */ lui $v0, 0xfffe /* 0A5FF8 8010F8F8 3442FFFF */ ori $v0, $v0, 0xffff /* 0A5FFC 8010F8FC 3C03FFFD */ lui $v1, 0xfffd /* 0A6000 8010F900 3463FFFF */ ori $v1, $v1, 0xffff /* 0A6004 8010F904 00821024 */ and $v0, $a0, $v0 /* 0A6008 8010F908 00431024 */ and $v0, $v0, $v1 /* 0A600C 8010F90C AE020000 */ sw $v0, ($s0) /* 0A6010 8010F910 A2000006 */ sb $zero, 6($s0) .L8010F914: /* 0A6014 8010F914 8E020000 */ lw $v0, ($s0) /* 0A6018 8010F918 30422000 */ andi $v0, $v0, 0x2000 /* 0A601C 8010F91C 1040000E */ beqz $v0, .L8010F958 /* 0A6020 8010F920 00000000 */ nop /* 0A6024 8010F924 3C038007 */ lui $v1, 0x8007 /* 0A6028 8010F928 8C637410 */ lw $v1, 0x7410($v1) /* 0A602C 8010F92C 00031080 */ sll $v0, $v1, 2 /* 0A6030 8010F930 00431021 */ addu $v0, $v0, $v1 /* 0A6034 8010F934 00021080 */ sll $v0, $v0, 2 /* 0A6038 8010F938 00431023 */ subu $v0, $v0, $v1 /* 0A603C 8010F93C 000218C0 */ sll $v1, $v0, 3 /* 0A6040 8010F940 00431021 */ addu $v0, $v0, $v1 /* 0A6044 8010F944 000210C0 */ sll $v0, $v0, 3 /* 0A6048 8010F948 00521021 */ addu $v0, $v0, $s2 /* 0A604C 8010F94C C440006C */ lwc1 $f0, 0x6c($v0) /* 0A6050 8010F950 46000007 */ neg.s $f0, $f0 /* 0A6054 8010F954 E6000064 */ swc1 $f0, 0x64($s0) .L8010F958: /* 0A6058 8010F958 3C028007 */ lui $v0, 0x8007 /* 0A605C 8010F95C 8C42419C */ lw $v0, 0x419c($v0) /* 0A6060 8010F960 80420078 */ lb $v0, 0x78($v0) /* 0A6064 8010F964 14400014 */ bnez $v0, .L8010F9B8 /* 0A6068 8010F968 00000000 */ nop /* 0A606C 8010F96C 8E02001C */ lw $v0, 0x1c($s0) /* 0A6070 8010F970 10400003 */ beqz $v0, .L8010F980 /* 0A6074 8010F974 00000000 */ nop /* 0A6078 8010F978 0040F809 */ jalr $v0 /* 0A607C 8010F97C 0200202D */ daddu $a0, $s0, $zero .L8010F980: /* 0A6080 8010F980 8E020018 */ lw $v0, 0x18($s0) /* 0A6084 8010F984 1040000C */ beqz $v0, .L8010F9B8 /* 0A6088 8010F988 00000000 */ nop /* 0A608C 8010F98C 92020009 */ lbu $v0, 9($s0) /* 0A6090 8010F990 10400009 */ beqz $v0, .L8010F9B8 /* 0A6094 8010F994 2442FFFF */ addiu $v0, $v0, -1 /* 0A6098 8010F998 A2020009 */ sb $v0, 9($s0) /* 0A609C 8010F99C 304200FF */ andi $v0, $v0, 0xff /* 0A60A0 8010F9A0 14400005 */ bnez $v0, .L8010F9B8 /* 0A60A4 8010F9A4 00000000 */ nop .L8010F9A8: /* 0A60A8 8010F9A8 0C043EF6 */ jal func_8010FBD8 /* 0A60AC 8010F9AC 0200202D */ daddu $a0, $s0, $zero /* 0A60B0 8010F9B0 1440FFFD */ bnez $v0, .L8010F9A8 /* 0A60B4 8010F9B4 00000000 */ nop .L8010F9B8: /* 0A60B8 8010F9B8 8E020000 */ lw $v0, ($s0) /* 0A60BC 8010F9BC 30420010 */ andi $v0, $v0, 0x10 /* 0A60C0 8010F9C0 14400003 */ bnez $v0, .L8010F9D0 /* 0A60C4 8010F9C4 00000000 */ nop /* 0A60C8 8010F9C8 0C04408B */ jal func_8011022C /* 0A60CC 8010F9CC 0200202D */ daddu $a0, $s0, $zero .L8010F9D0: /* 0A60D0 8010F9D0 8E020000 */ lw $v0, ($s0) /* 0A60D4 8010F9D4 30420020 */ andi $v0, $v0, 0x20 /* 0A60D8 8010F9D8 14400003 */ bnez $v0, .L8010F9E8 /* 0A60DC 8010F9DC 00000000 */ nop /* 0A60E0 8010F9E0 0C044129 */ jal func_801104A4 /* 0A60E4 8010F9E4 0200202D */ daddu $a0, $s0, $zero .L8010F9E8: /* 0A60E8 8010F9E8 8E020000 */ lw $v0, ($s0) /* 0A60EC 8010F9EC 30420008 */ andi $v0, $v0, 8 /* 0A60F0 8010F9F0 10400005 */ beqz $v0, .L8010FA08 /* 0A60F4 8010F9F4 00000000 */ nop /* 0A60F8 8010F9F8 0C047A2F */ jal func_8011E8BC /* 0A60FC 8010F9FC 86040014 */ lh $a0, 0x14($s0) /* 0A6100 8010FA00 08043E84 */ j .L8010FA10 /* 0A6104 8010FA04 00000000 */ nop .L8010FA08: /* 0A6108 8010FA08 0C0483C1 */ jal func_80120F04 /* 0A610C 8010FA0C 86040014 */ lh $a0, 0x14($s0) .L8010FA10: /* 0A6110 8010FA10 86020016 */ lh $v0, 0x16($s0) /* 0A6114 8010FA14 04400003 */ bltz $v0, .L8010FA24 /* 0A6118 8010FA18 00000000 */ nop /* 0A611C 8010FA1C 0C0448D1 */ jal func_80112344 /* 0A6120 8010FA20 0200202D */ daddu $a0, $s0, $zero .L8010FA24: /* 0A6124 8010FA24 8E020000 */ lw $v0, ($s0) /* 0A6128 8010FA28 3C032000 */ lui $v1, 0x2000 /* 0A612C 8010FA2C 00431024 */ and $v0, $v0, $v1 /* 0A6130 8010FA30 10400003 */ beqz $v0, .L8010FA40 /* 0A6134 8010FA34 00000000 */ nop /* 0A6138 8010FA38 0C0441B4 */ jal func_801106D0 /* 0A613C 8010FA3C 92040004 */ lbu $a0, 4($s0) .L8010FA40: /* 0A6140 8010FA40 8E020000 */ lw $v0, ($s0) /* 0A6144 8010FA44 3C030400 */ lui $v1, 0x400 /* 0A6148 8010FA48 00431024 */ and $v0, $v0, $v1 /* 0A614C 8010FA4C 10400004 */ beqz $v0, .L8010FA60 /* 0A6150 8010FA50 26310001 */ addiu $s1, $s1, 1 /* 0A6154 8010FA54 92040004 */ lbu $a0, 4($s0) /* 0A6158 8010FA58 0C0441E4 */ jal func_80110790 /* 0A615C 8010FA5C 00000000 */ nop .L8010FA60: /* 0A6160 8010FA60 2A22001E */ slti $v0, $s1, 0x1e /* 0A6164 8010FA64 1440FF2D */ bnez $v0, .L8010F71C /* 0A6168 8010FA68 00000000 */ nop /* 0A616C 8010FA6C 0C043EA6 */ jal update_shadows /* 0A6170 8010FA70 00000000 */ nop /* 0A6174 8010FA74 8FBF0020 */ lw $ra, 0x20($sp) /* 0A6178 8010FA78 8FB3001C */ lw $s3, 0x1c($sp) /* 0A617C 8010FA7C 8FB20018 */ lw $s2, 0x18($sp) /* 0A6180 8010FA80 8FB10014 */ lw $s1, 0x14($sp) /* 0A6184 8010FA84 8FB00010 */ lw $s0, 0x10($sp) /* 0A6188 8010FA88 3C018016 */ lui $at, 0x8016 /* 0A618C 8010FA8C A020A578 */ sb $zero, -0x5a88($at) /* 0A6190 8010FA90 03E00008 */ jr $ra /* 0A6194 8010FA94 27BD0028 */ addiu $sp, $sp, 0x28