papermario/asm/nonmatchings/code_190B20/create_actor.s
2020-10-14 23:49:49 -04:00

622 lines
33 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel create_actor
/* 193C84 802653A4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 193C88 802653A8 AFB30024 */ sw $s3, 0x24($sp)
/* 193C8C 802653AC 0080982D */ daddu $s3, $a0, $zero
/* 193C90 802653B0 3C02EFE8 */ lui $v0, 0xefe8
/* 193C94 802653B4 34422080 */ ori $v0, $v0, 0x2080
/* 193C98 802653B8 AFBF0034 */ sw $ra, 0x34($sp)
/* 193C9C 802653BC AFB60030 */ sw $s6, 0x30($sp)
/* 193CA0 802653C0 AFB5002C */ sw $s5, 0x2c($sp)
/* 193CA4 802653C4 AFB40028 */ sw $s4, 0x28($sp)
/* 193CA8 802653C8 AFB20020 */ sw $s2, 0x20($sp)
/* 193CAC 802653CC AFB1001C */ sw $s1, 0x1c($sp)
/* 193CB0 802653D0 AFB00018 */ sw $s0, 0x18($sp)
/* 193CB4 802653D4 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 193CB8 802653D8 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 193CBC 802653DC F7B40038 */ sdc1 $f20, 0x38($sp)
/* 193CC0 802653E0 8E640004 */ lw $a0, 4($s3)
/* 193CC4 802653E4 3C12800E */ lui $s2, %hi(gBattleStatus)
/* 193CC8 802653E8 2652C070 */ addiu $s2, $s2, %lo(gBattleStatus)
/* 193CCC 802653EC 0082102A */ slt $v0, $a0, $v0
/* 193CD0 802653F0 14400014 */ bnez $v0, .L80265444
/* 193CD4 802653F4 0000802D */ daddu $s0, $zero, $zero
/* 193CD8 802653F8 3C038028 */ lui $v1, 0x8028
/* 193CDC 802653FC 24633524 */ addiu $v1, $v1, 0x3524
/* 193CE0 80265400 00041040 */ sll $v0, $a0, 1
/* 193CE4 80265404 00441021 */ addu $v0, $v0, $a0
/* 193CE8 80265408 00021040 */ sll $v0, $v0, 1
/* 193CEC 8026540C 00431021 */ addu $v0, $v0, $v1
/* 193CF0 80265410 84430000 */ lh $v1, ($v0)
/* 193CF4 80265414 4483C000 */ mtc1 $v1, $f24
/* 193CF8 80265418 00000000 */ nop
/* 193CFC 8026541C 4680C620 */ cvt.s.w $f24, $f24
/* 193D00 80265420 84430002 */ lh $v1, 2($v0)
/* 193D04 80265424 84420004 */ lh $v0, 4($v0)
/* 193D08 80265428 4483A000 */ mtc1 $v1, $f20
/* 193D0C 8026542C 00000000 */ nop
/* 193D10 80265430 4680A520 */ cvt.s.w $f20, $f20
/* 193D14 80265434 4482B000 */ mtc1 $v0, $f22
/* 193D18 80265438 00000000 */ nop
/* 193D1C 8026543C 08099517 */ j .L8026545C
/* 193D20 80265440 4680B5A0 */ cvt.s.w $f22, $f22
.L80265444:
/* 193D24 80265444 C4980000 */ lwc1 $f24, ($a0)
/* 193D28 80265448 4680C620 */ cvt.s.w $f24, $f24
/* 193D2C 8026544C C4940004 */ lwc1 $f20, 4($a0)
/* 193D30 80265450 4680A520 */ cvt.s.w $f20, $f20
/* 193D34 80265454 C4960008 */ lwc1 $f22, 8($a0)
/* 193D38 80265458 4680B5A0 */ cvt.s.w $f22, $f22
.L8026545C:
/* 193D3C 8026545C 8E740000 */ lw $s4, ($s3)
/* 193D40 80265460 0240182D */ daddu $v1, $s2, $zero
/* 193D44 80265464 86960008 */ lh $s6, 8($s4)
.L80265468:
/* 193D48 80265468 8C6200E0 */ lw $v0, 0xe0($v1)
/* 193D4C 8026546C 10400005 */ beqz $v0, .L80265484
/* 193D50 80265470 00000000 */ nop
/* 193D54 80265474 26100001 */ addiu $s0, $s0, 1
/* 193D58 80265478 2A020018 */ slti $v0, $s0, 0x18
/* 193D5C 8026547C 1440FFFA */ bnez $v0, .L80265468
/* 193D60 80265480 24630004 */ addiu $v1, $v1, 4
.L80265484:
/* 193D64 80265484 0C00AB39 */ jal heap_malloc
/* 193D68 80265488 24040444 */ addiu $a0, $zero, 0x444
/* 193D6C 8026548C 00101880 */ sll $v1, $s0, 2
/* 193D70 80265490 02431821 */ addu $v1, $s2, $v1
/* 193D74 80265494 0040882D */ daddu $s1, $v0, $zero
/* 193D78 80265498 16200003 */ bnez $s1, .L802654A8
/* 193D7C 8026549C AC6200E0 */ sw $v0, 0xe0($v1)
.L802654A0:
/* 193D80 802654A0 08099528 */ j .L802654A0
/* 193D84 802654A4 00000000 */ nop
.L802654A8:
/* 193D88 802654A8 92430093 */ lbu $v1, 0x93($s2)
/* 193D8C 802654AC 3C013F80 */ lui $at, 0x3f80
/* 193D90 802654B0 44810000 */ mtc1 $at, $f0
/* 193D94 802654B4 24620001 */ addiu $v0, $v1, 1
/* 193D98 802654B8 A2420093 */ sb $v0, 0x93($s2)
/* 193D9C 802654BC A2230134 */ sb $v1, 0x134($s1)
/* 193DA0 802654C0 A2200135 */ sb $zero, 0x135($s1)
/* 193DA4 802654C4 AE340008 */ sw $s4, 8($s1)
/* 193DA8 802654C8 92820005 */ lbu $v0, 5($s4)
/* 193DAC 802654CC A2220136 */ sb $v0, 0x136($s1)
/* 193DB0 802654D0 8E820000 */ lw $v0, ($s4)
/* 193DB4 802654D4 E6380144 */ swc1 $f24, 0x144($s1)
/* 193DB8 802654D8 E6380138 */ swc1 $f24, 0x138($s1)
/* 193DBC 802654DC E6340148 */ swc1 $f20, 0x148($s1)
/* 193DC0 802654E0 E634013C */ swc1 $f20, 0x13c($s1)
/* 193DC4 802654E4 E636014C */ swc1 $f22, 0x14c($s1)
/* 193DC8 802654E8 E6360140 */ swc1 $f22, 0x140($s1)
/* 193DCC 802654EC A6200150 */ sh $zero, 0x150($s1)
/* 193DD0 802654F0 A6200152 */ sh $zero, 0x152($s1)
/* 193DD4 802654F4 A6200154 */ sh $zero, 0x154($s1)
/* 193DD8 802654F8 AE220000 */ sw $v0, ($s1)
/* 193DDC 802654FC 92820007 */ lbu $v0, 7($s4)
/* 193DE0 80265500 A23601F3 */ sb $s6, 0x1f3($s1)
/* 193DE4 80265504 AE2001C0 */ sw $zero, 0x1c0($s1)
/* 193DE8 80265508 A22201B8 */ sb $v0, 0x1b8($s1)
/* 193DEC 8026550C A22201B9 */ sb $v0, 0x1b9($s1)
/* 193DF0 80265510 8E820010 */ lw $v0, 0x10($s4)
/* 193DF4 80265514 AE2001C8 */ sw $zero, 0x1c8($s1)
/* 193DF8 80265518 AE2001CC */ sw $zero, 0x1cc($s1)
/* 193DFC 8026551C AE2001D0 */ sw $zero, 0x1d0($s1)
/* 193E00 80265520 AE2001D4 */ sw $zero, 0x1d4($s1)
/* 193E04 80265524 AE2001D8 */ sw $zero, 0x1d8($s1)
/* 193E08 80265528 AE2201C4 */ sw $v0, 0x1c4($s1)
/* 193E0C 8026552C 9262000B */ lbu $v0, 0xb($s3)
/* 193E10 80265530 A23001F2 */ sb $s0, 0x1f2($s1)
/* 193E14 80265534 A22201F1 */ sb $v0, 0x1f1($s1)
/* 193E18 80265538 AE20018C */ sw $zero, 0x18c($s1)
/* 193E1C 8026553C AE20015C */ sw $zero, 0x15c($s1)
/* 193E20 80265540 AE200160 */ sw $zero, 0x160($s1)
/* 193E24 80265544 AE200164 */ sw $zero, 0x164($s1)
/* 193E28 80265548 A6200168 */ sh $zero, 0x168($s1)
/* 193E2C 8026554C A620016A */ sh $zero, 0x16a($s1)
/* 193E30 80265550 A620016C */ sh $zero, 0x16c($s1)
/* 193E34 80265554 E6200170 */ swc1 $f0, 0x170($s1)
/* 193E38 80265558 E6200174 */ swc1 $f0, 0x174($s1)
/* 193E3C 8026555C E6200178 */ swc1 $f0, 0x178($s1)
/* 193E40 80265560 E620017C */ swc1 $f0, 0x17c($s1)
/* 193E44 80265564 E6200180 */ swc1 $f0, 0x180($s1)
/* 193E48 80265568 E6200184 */ swc1 $f0, 0x184($s1)
/* 193E4C 8026556C A220019A */ sb $zero, 0x19a($s1)
/* 193E50 80265570 A2200207 */ sb $zero, 0x207($s1)
/* 193E54 80265574 92820020 */ lbu $v0, 0x20($s4)
/* 193E58 80265578 A2220190 */ sb $v0, 0x190($s1)
/* 193E5C 8026557C 92820021 */ lbu $v0, 0x21($s4)
/* 193E60 80265580 E6200188 */ swc1 $f0, 0x188($s1)
/* 193E64 80265584 A2200194 */ sb $zero, 0x194($s1)
/* 193E68 80265588 A2200195 */ sb $zero, 0x195($s1)
/* 193E6C 8026558C A2200196 */ sb $zero, 0x196($s1)
/* 193E70 80265590 A2200197 */ sb $zero, 0x197($s1)
/* 193E74 80265594 A2200198 */ sb $zero, 0x198($s1)
/* 193E78 80265598 A2200199 */ sb $zero, 0x199($s1)
/* 193E7C 8026559C A2200206 */ sb $zero, 0x206($s1)
/* 193E80 802655A0 AE200200 */ sw $zero, 0x200($s1)
/* 193E84 802655A4 A2200204 */ sb $zero, 0x204($s1)
/* 193E88 802655A8 A2200205 */ sb $zero, 0x205($s1)
/* 193E8C 802655AC A2220191 */ sb $v0, 0x191($s1)
/* 193E90 802655B0 82820022 */ lb $v0, 0x22($s4)
/* 193E94 802655B4 4600C006 */ mov.s $f0, $f24
/* 193E98 802655B8 44821000 */ mtc1 $v0, $f2
/* 193E9C 802655BC 00000000 */ nop
/* 193EA0 802655C0 468010A0 */ cvt.s.w $f2, $f2
/* 193EA4 802655C4 46020000 */ add.s $f0, $f0, $f2
/* 193EA8 802655C8 4600010D */ trunc.w.s $f4, $f0
/* 193EAC 802655CC 44022000 */ mfc1 $v0, $f4
/* 193EB0 802655D0 00000000 */ nop
/* 193EB4 802655D4 A6220156 */ sh $v0, 0x156($s1)
/* 193EB8 802655D8 82820023 */ lb $v0, 0x23($s4)
/* 193EBC 802655DC 4600A006 */ mov.s $f0, $f20
/* 193EC0 802655E0 44821000 */ mtc1 $v0, $f2
/* 193EC4 802655E4 00000000 */ nop
/* 193EC8 802655E8 468010A0 */ cvt.s.w $f2, $f2
/* 193ECC 802655EC 46020000 */ add.s $f0, $f0, $f2
/* 193ED0 802655F0 4600010D */ trunc.w.s $f4, $f0
/* 193ED4 802655F4 44022000 */ mfc1 $v0, $f4
/* 193ED8 802655F8 00000000 */ nop
/* 193EDC 802655FC A6220158 */ sh $v0, 0x158($s1)
/* 193EE0 80265600 4600B006 */ mov.s $f0, $f22
/* 193EE4 80265604 8E220000 */ lw $v0, ($s1)
/* 193EE8 80265608 4600010D */ trunc.w.s $f4, $f0
/* 193EEC 8026560C 44032000 */ mfc1 $v1, $f4
/* 193EF0 80265610 30420800 */ andi $v0, $v0, 0x800
/* 193EF4 80265614 10400010 */ beqz $v0, .L80265658
/* 193EF8 80265618 A623015A */ sh $v1, 0x15a($s1)
/* 193EFC 8026561C 92220191 */ lbu $v0, 0x191($s1)
/* 193F00 80265620 4600A006 */ mov.s $f0, $f20
/* 193F04 80265624 44821000 */ mtc1 $v0, $f2
/* 193F08 80265628 00000000 */ nop
/* 193F0C 8026562C 468010A0 */ cvt.s.w $f2, $f2
/* 193F10 80265630 82820023 */ lb $v0, 0x23($s4)
/* 193F14 80265634 46020001 */ sub.s $f0, $f0, $f2
/* 193F18 80265638 44821000 */ mtc1 $v0, $f2
/* 193F1C 8026563C 00000000 */ nop
/* 193F20 80265640 468010A0 */ cvt.s.w $f2, $f2
/* 193F24 80265644 46020001 */ sub.s $f0, $f0, $f2
/* 193F28 80265648 4600010D */ trunc.w.s $f4, $f0
/* 193F2C 8026564C 44022000 */ mfc1 $v0, $f4
/* 193F30 80265650 00000000 */ nop
/* 193F34 80265654 A6220158 */ sh $v0, 0x158($s1)
.L80265658:
/* 193F38 80265658 8E820014 */ lw $v0, 0x14($s4)
/* 193F3C 8026565C 92230136 */ lbu $v1, 0x136($s1)
/* 193F40 80265660 A2200210 */ sb $zero, 0x210($s1)
/* 193F44 80265664 A2200211 */ sb $zero, 0x211($s1)
/* 193F48 80265668 A2200212 */ sb $zero, 0x212($s1)
/* 193F4C 8026566C A2200213 */ sb $zero, 0x213($s1)
/* 193F50 80265670 A2200214 */ sb $zero, 0x214($s1)
/* 193F54 80265674 A2200215 */ sb $zero, 0x215($s1)
/* 193F58 80265678 A2200216 */ sb $zero, 0x216($s1)
/* 193F5C 8026567C A2200217 */ sb $zero, 0x217($s1)
/* 193F60 80265680 A2200218 */ sb $zero, 0x218($s1)
/* 193F64 80265684 A2200219 */ sb $zero, 0x219($s1)
/* 193F68 80265688 A2200220 */ sb $zero, 0x220($s1)
/* 193F6C 8026568C A620021E */ sh $zero, 0x21e($s1)
/* 193F70 80265690 A220021D */ sb $zero, 0x21d($s1)
/* 193F74 80265694 A2200221 */ sb $zero, 0x221($s1)
/* 193F78 80265698 A2200222 */ sb $zero, 0x222($s1)
/* 193F7C 8026569C A2200223 */ sb $zero, 0x223($s1)
/* 193F80 802656A0 A2200224 */ sb $zero, 0x224($s1)
/* 193F84 802656A4 A220021C */ sb $zero, 0x21c($s1)
/* 193F88 802656A8 AE22020C */ sw $v0, 0x20c($s1)
/* 193F8C 802656AC 000310C0 */ sll $v0, $v1, 3
/* 193F90 802656B0 00431023 */ subu $v0, $v0, $v1
/* 193F94 802656B4 00021080 */ sll $v0, $v0, 2
/* 193F98 802656B8 3C018028 */ lui $at, 0x8028
/* 193F9C 802656BC 00220821 */ addu $at, $at, $v0
/* 193FA0 802656C0 8C221468 */ lw $v0, 0x1468($at)
/* 193FA4 802656C4 AE22019C */ sw $v0, 0x19c($s1)
/* 193FA8 802656C8 000310C0 */ sll $v0, $v1, 3
/* 193FAC 802656CC 00431023 */ subu $v0, $v0, $v1
/* 193FB0 802656D0 00021080 */ sll $v0, $v0, 2
/* 193FB4 802656D4 3C018028 */ lui $at, 0x8028
/* 193FB8 802656D8 00220821 */ addu $at, $at, $v0
/* 193FBC 802656DC 8C22146C */ lw $v0, 0x146c($at)
/* 193FC0 802656E0 AE2201A0 */ sw $v0, 0x1a0($s1)
/* 193FC4 802656E4 000310C0 */ sll $v0, $v1, 3
/* 193FC8 802656E8 00431023 */ subu $v0, $v0, $v1
/* 193FCC 802656EC 00021080 */ sll $v0, $v0, 2
/* 193FD0 802656F0 3C018028 */ lui $at, 0x8028
/* 193FD4 802656F4 00220821 */ addu $at, $at, $v0
/* 193FD8 802656F8 8C221470 */ lw $v0, 0x1470($at)
/* 193FDC 802656FC AE2201A4 */ sw $v0, 0x1a4($s1)
/* 193FE0 80265700 000310C0 */ sll $v0, $v1, 3
/* 193FE4 80265704 00431023 */ subu $v0, $v0, $v1
/* 193FE8 80265708 00021080 */ sll $v0, $v0, 2
/* 193FEC 8026570C 3C018028 */ lui $at, 0x8028
/* 193FF0 80265710 00220821 */ addu $at, $at, $v0
/* 193FF4 80265714 8C221474 */ lw $v0, 0x1474($at)
/* 193FF8 80265718 AE2201A8 */ sw $v0, 0x1a8($s1)
/* 193FFC 8026571C 000310C0 */ sll $v0, $v1, 3
/* 194000 80265720 00431023 */ subu $v0, $v0, $v1
/* 194004 80265724 00021080 */ sll $v0, $v0, 2
/* 194008 80265728 3C018028 */ lui $at, 0x8028
/* 19400C 8026572C 00220821 */ addu $at, $at, $v0
/* 194010 80265730 8C221478 */ lw $v0, 0x1478($at)
/* 194014 80265734 AE2201AC */ sw $v0, 0x1ac($s1)
/* 194018 80265738 000310C0 */ sll $v0, $v1, 3
/* 19401C 8026573C 00431023 */ subu $v0, $v0, $v1
/* 194020 80265740 00021080 */ sll $v0, $v0, 2
/* 194024 80265744 3C018028 */ lui $at, 0x8028
/* 194028 80265748 00220821 */ addu $at, $at, $v0
/* 19402C 8026574C 8C22147C */ lw $v0, 0x147c($at)
/* 194030 80265750 AE2201B0 */ sw $v0, 0x1b0($s1)
/* 194034 80265754 000310C0 */ sll $v0, $v1, 3
/* 194038 80265758 00431023 */ subu $v0, $v0, $v1
/* 19403C 8026575C 00021080 */ sll $v0, $v0, 2
/* 194040 80265760 3C018028 */ lui $at, 0x8028
/* 194044 80265764 00220821 */ addu $at, $at, $v0
/* 194048 80265768 94221480 */ lhu $v0, 0x1480($at)
/* 19404C 8026576C 24100001 */ addiu $s0, $zero, 1
/* 194050 80265770 A62201B4 */ sh $v0, 0x1b4($s1)
/* 194054 80265774 000310C0 */ sll $v0, $v1, 3
/* 194058 80265778 00431023 */ subu $v0, $v0, $v1
/* 19405C 8026577C 00021080 */ sll $v0, $v0, 2
/* 194060 80265780 3C018028 */ lui $at, 0x8028
/* 194064 80265784 00220821 */ addu $at, $at, $v0
/* 194068 80265788 94221482 */ lhu $v0, 0x1482($at)
/* 19406C 8026578C 26230004 */ addiu $v1, $s1, 4
/* 194070 80265790 A62201B6 */ sh $v0, 0x1b6($s1)
.L80265794:
/* 194074 80265794 AC600438 */ sw $zero, 0x438($v1)
/* 194078 80265798 2610FFFF */ addiu $s0, $s0, -1
/* 19407C 8026579C 0601FFFD */ bgez $s0, .L80265794
/* 194080 802657A0 2463FFFC */ addiu $v1, $v1, -4
/* 194084 802657A4 8E62000C */ lw $v0, 0xc($s3)
/* 194088 802657A8 AE220088 */ sw $v0, 0x88($s1)
/* 19408C 802657AC 8E620010 */ lw $v0, 0x10($s3)
/* 194090 802657B0 AE22008C */ sw $v0, 0x8c($s1)
/* 194094 802657B4 8E620014 */ lw $v0, 0x14($s3)
/* 194098 802657B8 240400C4 */ addiu $a0, $zero, 0xc4
/* 19409C 802657BC AE220090 */ sw $v0, 0x90($s1)
/* 1940A0 802657C0 8E630018 */ lw $v1, 0x18($s3)
/* 1940A4 802657C4 2402000D */ addiu $v0, $zero, 0xd
/* 1940A8 802657C8 A6220434 */ sh $v0, 0x434($s1)
/* 1940AC 802657CC A2200208 */ sb $zero, 0x208($s1)
/* 1940B0 802657D0 0C00AB39 */ jal heap_malloc
/* 1940B4 802657D4 AE230094 */ sw $v1, 0x94($s1)
/* 1940B8 802657D8 0040802D */ daddu $s0, $v0, $zero
/* 1940BC 802657DC 16000003 */ bnez $s0, .L802657EC
/* 1940C0 802657E0 AE3001F4 */ sw $s0, 0x1f4($s1)
.L802657E4:
/* 1940C4 802657E4 080995F9 */ j .L802657E4
/* 1940C8 802657E8 00000000 */ nop
.L802657EC:
/* 1940CC 802657EC 1AC00106 */ blez $s6, .L80265C08
/* 1940D0 802657F0 0000982D */ daddu $s3, $zero, $zero
/* 1940D4 802657F4 3C013F80 */ lui $at, 0x3f80
/* 1940D8 802657F8 4481A000 */ mtc1 $at, $f20
/* 1940DC 802657FC 3C128028 */ lui $s2, 0x8028
/* 1940E0 80265800 26521468 */ addiu $s2, $s2, 0x1468
/* 1940E4 80265804 0260A82D */ daddu $s5, $s3, $zero
.L80265808:
/* 1940E8 80265808 8E82000C */ lw $v0, 0xc($s4)
/* 1940EC 8026580C AE0000C0 */ sw $zero, 0xc0($s0)
/* 1940F0 80265810 00551821 */ addu $v1, $v0, $s5
/* 1940F4 80265814 AE030008 */ sw $v1, 8($s0)
/* 1940F8 80265818 8C620000 */ lw $v0, ($v1)
/* 1940FC 8026581C AE000004 */ sw $zero, 4($s0)
/* 194100 80265820 34420004 */ ori $v0, $v0, 4
/* 194104 80265824 AE020000 */ sw $v0, ($s0)
/* 194108 80265828 90620005 */ lbu $v0, 5($v1)
/* 19410C 8026582C 00021600 */ sll $v0, $v0, 0x18
/* 194110 80265830 00021603 */ sra $v0, $v0, 0x18
/* 194114 80265834 A6020014 */ sh $v0, 0x14($s0)
/* 194118 80265838 00021400 */ sll $v0, $v0, 0x10
/* 19411C 8026583C 00021403 */ sra $v0, $v0, 0x10
/* 194120 80265840 44820000 */ mtc1 $v0, $f0
/* 194124 80265844 00000000 */ nop
/* 194128 80265848 46800020 */ cvt.s.w $f0, $f0
/* 19412C 8026584C E6000020 */ swc1 $f0, 0x20($s0)
/* 194130 80265850 90620006 */ lbu $v0, 6($v1)
/* 194134 80265854 00021600 */ sll $v0, $v0, 0x18
/* 194138 80265858 00021603 */ sra $v0, $v0, 0x18
/* 19413C 8026585C A6020016 */ sh $v0, 0x16($s0)
/* 194140 80265860 00021400 */ sll $v0, $v0, 0x10
/* 194144 80265864 00021403 */ sra $v0, $v0, 0x10
/* 194148 80265868 44820000 */ mtc1 $v0, $f0
/* 19414C 8026586C 00000000 */ nop
/* 194150 80265870 46800020 */ cvt.s.w $f0, $f0
/* 194154 80265874 E6000024 */ swc1 $f0, 0x24($s0)
/* 194158 80265878 90620007 */ lbu $v0, 7($v1)
/* 19415C 8026587C A600001A */ sh $zero, 0x1a($s0)
/* 194160 80265880 A600001C */ sh $zero, 0x1c($s0)
/* 194164 80265884 A600001E */ sh $zero, 0x1e($s0)
/* 194168 80265888 00021600 */ sll $v0, $v0, 0x18
/* 19416C 8026588C 00021603 */ sra $v0, $v0, 0x18
/* 194170 80265890 A6020018 */ sh $v0, 0x18($s0)
/* 194174 80265894 00021400 */ sll $v0, $v0, 0x10
/* 194178 80265898 00021403 */ sra $v0, $v0, 0x10
/* 19417C 8026589C 44820000 */ mtc1 $v0, $f0
/* 194180 802658A0 00000000 */ nop
/* 194184 802658A4 46800020 */ cvt.s.w $f0, $f0
/* 194188 802658A8 E6000028 */ swc1 $f0, 0x28($s0)
/* 19418C 802658AC C6200144 */ lwc1 $f0, 0x144($s1)
/* 194190 802658B0 E600002C */ swc1 $f0, 0x2c($s0)
/* 194194 802658B4 C6200148 */ lwc1 $f0, 0x148($s1)
/* 194198 802658B8 E6000030 */ swc1 $f0, 0x30($s0)
/* 19419C 802658BC C620014C */ lwc1 $f0, 0x14c($s1)
/* 1941A0 802658C0 E6000034 */ swc1 $f0, 0x34($s0)
/* 1941A4 802658C4 C6200144 */ lwc1 $f0, 0x144($s1)
/* 1941A8 802658C8 E6000058 */ swc1 $f0, 0x58($s0)
/* 1941AC 802658CC C6200148 */ lwc1 $f0, 0x148($s1)
/* 1941B0 802658D0 E600005C */ swc1 $f0, 0x5c($s0)
/* 1941B4 802658D4 C620014C */ lwc1 $f0, 0x14c($s1)
/* 1941B8 802658D8 E6000060 */ swc1 $f0, 0x60($s0)
/* 1941BC 802658DC 8C620010 */ lw $v0, 0x10($v1)
/* 1941C0 802658E0 AE020078 */ sw $v0, 0x78($s0)
/* 1941C4 802658E4 8C62000C */ lw $v0, 0xc($v1)
/* 1941C8 802658E8 AE020094 */ sw $v0, 0x94($s0)
/* 1941CC 802658EC 8C620014 */ lw $v0, 0x14($v1)
/* 1941D0 802658F0 AE02007C */ sw $v0, 0x7c($s0)
/* 1941D4 802658F4 8C620018 */ lw $v0, 0x18($v1)
/* 1941D8 802658F8 AE020080 */ sw $v0, 0x80($s0)
/* 1941DC 802658FC 9462000A */ lhu $v0, 0xa($v1)
/* 1941E0 80265900 A6020098 */ sh $v0, 0x98($s0)
/* 1941E4 80265904 00021400 */ sll $v0, $v0, 0x10
/* 1941E8 80265908 00021403 */ sra $v0, $v0, 0x10
/* 1941EC 8026590C 284200FF */ slti $v0, $v0, 0xff
/* 1941F0 80265910 10400002 */ beqz $v0, .L8026591C
/* 1941F4 80265914 24020022 */ addiu $v0, $zero, 0x22
/* 1941F8 80265918 A6220434 */ sh $v0, 0x434($s1)
.L8026591C:
/* 1941FC 8026591C 92220191 */ lbu $v0, 0x191($s1)
/* 194200 80265920 A2020073 */ sb $v0, 0x73($s0)
/* 194204 80265924 92220190 */ lbu $v0, 0x190($s1)
/* 194208 80265928 AE000064 */ sw $zero, 0x64($s0)
/* 19420C 8026592C A2020072 */ sb $v0, 0x72($s0)
/* 194210 80265930 90620008 */ lbu $v0, 8($v1)
/* 194214 80265934 00021600 */ sll $v0, $v0, 0x18
/* 194218 80265938 00021603 */ sra $v0, $v0, 0x18
/* 19421C 8026593C A602006C */ sh $v0, 0x6c($s0)
/* 194220 80265940 90620009 */ lbu $v0, 9($v1)
/* 194224 80265944 A6000070 */ sh $zero, 0x70($s0)
/* 194228 80265948 00021600 */ sll $v0, $v0, 0x18
/* 19422C 8026594C 00021603 */ sra $v0, $v0, 0x18
/* 194230 80265950 A602006E */ sh $v0, 0x6e($s0)
/* 194234 80265954 9062001C */ lbu $v0, 0x1c($v1)
/* 194238 80265958 A2020075 */ sb $v0, 0x75($s0)
/* 19423C 8026595C 9063001D */ lbu $v1, 0x1d($v1)
/* 194240 80265960 24020001 */ addiu $v0, $zero, 1
/* 194244 80265964 AE000038 */ sw $zero, 0x38($s0)
/* 194248 80265968 AE00003C */ sw $zero, 0x3c($s0)
/* 19424C 8026596C AE000040 */ sw $zero, 0x40($s0)
/* 194250 80265970 A6000044 */ sh $zero, 0x44($s0)
/* 194254 80265974 A6000046 */ sh $zero, 0x46($s0)
/* 194258 80265978 A6000048 */ sh $zero, 0x48($s0)
/* 19425C 8026597C E614004C */ swc1 $f20, 0x4c($s0)
/* 194260 80265980 E6140050 */ swc1 $f20, 0x50($s0)
/* 194264 80265984 E6140054 */ swc1 $f20, 0x54($s0)
/* 194268 80265988 A2020074 */ sb $v0, 0x74($s0)
/* 19426C 8026598C A6000068 */ sh $zero, 0x68($s0)
/* 194270 80265990 A600006A */ sh $zero, 0x6a($s0)
/* 194274 80265994 A2030076 */ sb $v1, 0x76($s0)
/* 194278 80265998 92230136 */ lbu $v1, 0x136($s1)
/* 19427C 8026599C 000310C0 */ sll $v0, $v1, 3
/* 194280 802659A0 00431023 */ subu $v0, $v0, $v1
/* 194284 802659A4 00021080 */ sll $v0, $v0, 2
/* 194288 802659A8 00521021 */ addu $v0, $v0, $s2
/* 19428C 802659AC 8C420000 */ lw $v0, ($v0)
/* 194290 802659B0 AE0200A4 */ sw $v0, 0xa4($s0)
/* 194294 802659B4 92230136 */ lbu $v1, 0x136($s1)
/* 194298 802659B8 000310C0 */ sll $v0, $v1, 3
/* 19429C 802659BC 00431023 */ subu $v0, $v0, $v1
/* 1942A0 802659C0 00021080 */ sll $v0, $v0, 2
/* 1942A4 802659C4 00521021 */ addu $v0, $v0, $s2
/* 1942A8 802659C8 8C420004 */ lw $v0, 4($v0)
/* 1942AC 802659CC AE0200A8 */ sw $v0, 0xa8($s0)
/* 1942B0 802659D0 92230136 */ lbu $v1, 0x136($s1)
/* 1942B4 802659D4 000310C0 */ sll $v0, $v1, 3
/* 1942B8 802659D8 00431023 */ subu $v0, $v0, $v1
/* 1942BC 802659DC 00021080 */ sll $v0, $v0, 2
/* 1942C0 802659E0 00521021 */ addu $v0, $v0, $s2
/* 1942C4 802659E4 8C420008 */ lw $v0, 8($v0)
/* 1942C8 802659E8 AE0200AC */ sw $v0, 0xac($s0)
/* 1942CC 802659EC 92230136 */ lbu $v1, 0x136($s1)
/* 1942D0 802659F0 000310C0 */ sll $v0, $v1, 3
/* 1942D4 802659F4 00431023 */ subu $v0, $v0, $v1
/* 1942D8 802659F8 00021080 */ sll $v0, $v0, 2
/* 1942DC 802659FC 00521021 */ addu $v0, $v0, $s2
/* 1942E0 80265A00 8C42000C */ lw $v0, 0xc($v0)
/* 1942E4 80265A04 AE0200B0 */ sw $v0, 0xb0($s0)
/* 1942E8 80265A08 92230136 */ lbu $v1, 0x136($s1)
/* 1942EC 80265A0C 000310C0 */ sll $v0, $v1, 3
/* 1942F0 80265A10 00431023 */ subu $v0, $v0, $v1
/* 1942F4 80265A14 00021080 */ sll $v0, $v0, 2
/* 1942F8 80265A18 00521021 */ addu $v0, $v0, $s2
/* 1942FC 80265A1C 8C420010 */ lw $v0, 0x10($v0)
/* 194300 80265A20 AE0200B4 */ sw $v0, 0xb4($s0)
/* 194304 80265A24 92230136 */ lbu $v1, 0x136($s1)
/* 194308 80265A28 000310C0 */ sll $v0, $v1, 3
/* 19430C 80265A2C 00431023 */ subu $v0, $v0, $v1
/* 194310 80265A30 00021080 */ sll $v0, $v0, 2
/* 194314 80265A34 00521021 */ addu $v0, $v0, $s2
/* 194318 80265A38 8C420014 */ lw $v0, 0x14($v0)
/* 19431C 80265A3C AE0200B8 */ sw $v0, 0xb8($s0)
/* 194320 80265A40 92230136 */ lbu $v1, 0x136($s1)
/* 194324 80265A44 000310C0 */ sll $v0, $v1, 3
/* 194328 80265A48 00431023 */ subu $v0, $v0, $v1
/* 19432C 80265A4C 00021080 */ sll $v0, $v0, 2
/* 194330 80265A50 00521021 */ addu $v0, $v0, $s2
/* 194334 80265A54 94420018 */ lhu $v0, 0x18($v0)
/* 194338 80265A58 A60200BC */ sh $v0, 0xbc($s0)
/* 19433C 80265A5C 92230136 */ lbu $v1, 0x136($s1)
/* 194340 80265A60 000310C0 */ sll $v0, $v1, 3
/* 194344 80265A64 00431023 */ subu $v0, $v0, $v1
/* 194348 80265A68 00021080 */ sll $v0, $v0, 2
/* 19434C 80265A6C 00521021 */ addu $v0, $v0, $s2
/* 194350 80265A70 9442001A */ lhu $v0, 0x1a($v0)
/* 194354 80265A74 8E030094 */ lw $v1, 0x94($s0)
/* 194358 80265A78 10600034 */ beqz $v1, .L80265B4C
/* 19435C 80265A7C A60200BE */ sh $v0, 0xbe($s0)
/* 194360 80265A80 8E020000 */ lw $v0, ($s0)
/* 194364 80265A84 30420002 */ andi $v0, $v0, 2
/* 194368 80265A88 14400030 */ bnez $v0, .L80265B4C
/* 19436C 80265A8C 00000000 */ nop
/* 194370 80265A90 0C00AB39 */ jal heap_malloc
/* 194374 80265A94 240408E8 */ addiu $a0, $zero, 0x8e8
/* 194378 80265A98 0040202D */ daddu $a0, $v0, $zero
/* 19437C 80265A9C 14800003 */ bnez $a0, .L80265AAC
/* 194380 80265AA0 AE0200C0 */ sw $v0, 0xc0($s0)
.L80265AA4:
/* 194384 80265AA4 080996A9 */ j .L80265AA4
/* 194388 80265AA8 00000000 */ nop
.L80265AAC:
/* 19438C 80265AAC 0000282D */ daddu $a1, $zero, $zero
/* 194390 80265AB0 0080182D */ daddu $v1, $a0, $zero
/* 194394 80265AB4 A08006C0 */ sb $zero, 0x6c0($a0)
/* 194398 80265AB8 A0800750 */ sb $zero, 0x750($a0)
/* 19439C 80265ABC A0800764 */ sb $zero, 0x764($a0)
/* 1943A0 80265AC0 A0800768 */ sb $zero, 0x768($a0)
/* 1943A4 80265AC4 A08007D8 */ sb $zero, 0x7d8($a0)
/* 1943A8 80265AC8 A08007D9 */ sb $zero, 0x7d9($a0)
.L80265ACC:
/* 1943AC 80265ACC C6200144 */ lwc1 $f0, 0x144($s1)
/* 1943B0 80265AD0 4600010D */ trunc.w.s $f4, $f0
/* 1943B4 80265AD4 44022000 */ mfc1 $v0, $f4
/* 1943B8 80265AD8 00000000 */ nop
/* 1943BC 80265ADC A46207FC */ sh $v0, 0x7fc($v1)
/* 1943C0 80265AE0 C6200148 */ lwc1 $f0, 0x148($s1)
/* 1943C4 80265AE4 4600010D */ trunc.w.s $f4, $f0
/* 1943C8 80265AE8 44022000 */ mfc1 $v0, $f4
/* 1943CC 80265AEC 00000000 */ nop
/* 1943D0 80265AF0 A462081C */ sh $v0, 0x81c($v1)
/* 1943D4 80265AF4 C620014C */ lwc1 $f0, 0x14c($s1)
/* 1943D8 80265AF8 24A50001 */ addiu $a1, $a1, 1
/* 1943DC 80265AFC 4600010D */ trunc.w.s $f4, $f0
/* 1943E0 80265B00 44022000 */ mfc1 $v0, $f4
/* 1943E4 80265B04 00000000 */ nop
/* 1943E8 80265B08 A462083C */ sh $v0, 0x83c($v1)
/* 1943EC 80265B0C 28A20010 */ slti $v0, $a1, 0x10
/* 1943F0 80265B10 1440FFEE */ bnez $v0, .L80265ACC
/* 1943F4 80265B14 24630002 */ addiu $v1, $v1, 2
/* 1943F8 80265B18 0000282D */ daddu $a1, $zero, $zero
/* 1943FC 80265B1C 0080182D */ daddu $v1, $a0, $zero
/* 194400 80265B20 24020003 */ addiu $v0, $zero, 3
/* 194404 80265B24 A08207DA */ sb $v0, 0x7da($a0)
/* 194408 80265B28 A08007DB */ sb $zero, 0x7db($a0)
/* 19440C 80265B2C A08008AC */ sb $zero, 0x8ac($a0)
.L80265B30:
/* 194410 80265B30 AC6008B0 */ sw $zero, 0x8b0($v1)
/* 194414 80265B34 00851021 */ addu $v0, $a0, $a1
/* 194418 80265B38 24A50001 */ addiu $a1, $a1, 1
/* 19441C 80265B3C A04008B8 */ sb $zero, 0x8b8($v0)
/* 194420 80265B40 28A20002 */ slti $v0, $a1, 2
/* 194424 80265B44 1440FFFA */ bnez $v0, .L80265B30
/* 194428 80265B48 24630004 */ addiu $v1, $v1, 4
.L80265B4C:
/* 19442C 80265B4C 8E020000 */ lw $v0, ($s0)
/* 194430 80265B50 04400007 */ bltz $v0, .L80265B70
/* 194434 80265B54 00000000 */ nop
/* 194438 80265B58 0C00AB39 */ jal heap_malloc
/* 19443C 80265B5C 2404008C */ addiu $a0, $zero, 0x8c
/* 194440 80265B60 14400003 */ bnez $v0, .L80265B70
/* 194444 80265B64 AE020010 */ sw $v0, 0x10($s0)
.L80265B68:
/* 194448 80265B68 080996DA */ j .L80265B68
/* 19444C 80265B6C 00000000 */ nop
.L80265B70:
/* 194450 80265B70 8E220000 */ lw $v0, ($s1)
/* 194454 80265B74 30424000 */ andi $v0, $v0, 0x4000
/* 194458 80265B78 10400004 */ beqz $v0, .L80265B8C
/* 19445C 80265B7C 00000000 */ nop
/* 194460 80265B80 8E020000 */ lw $v0, ($s0)
/* 194464 80265B84 34424000 */ ori $v0, $v0, 0x4000
/* 194468 80265B88 AE020000 */ sw $v0, ($s0)
.L80265B8C:
/* 19446C 80265B8C 8E040094 */ lw $a0, 0x94($s0)
/* 194470 80265B90 2402FFFF */ addiu $v0, $zero, -1
/* 194474 80265B94 E6140090 */ swc1 $f20, 0x90($s0)
/* 194478 80265B98 AE000088 */ sw $zero, 0x88($s0)
/* 19447C 80265B9C 1080000A */ beqz $a0, .L80265BC8
/* 194480 80265BA0 AE020084 */ sw $v0, 0x84($s0)
/* 194484 80265BA4 0C09973A */ jal func_80265CE8
/* 194488 80265BA8 24050001 */ addiu $a1, $zero, 1
/* 19448C 80265BAC 3C037FFF */ lui $v1, 0x7fff
/* 194490 80265BB0 3463FFFF */ ori $v1, $v1, 0xffff
/* 194494 80265BB4 00432024 */ and $a0, $v0, $v1
/* 194498 80265BB8 0000282D */ daddu $a1, $zero, $zero
/* 19449C 80265BBC 0C0B783B */ jal func_802DE0EC
/* 1944A0 80265BC0 AE040088 */ sw $a0, 0x88($s0)
/* 1944A4 80265BC4 AE020084 */ sw $v0, 0x84($s0)
.L80265BC8:
/* 1944A8 80265BC8 26620001 */ addiu $v0, $s3, 1
/* 1944AC 80265BCC 0056102A */ slt $v0, $v0, $s6
/* 1944B0 80265BD0 50400009 */ beql $v0, $zero, .L80265BF8
/* 1944B4 80265BD4 AE00000C */ sw $zero, 0xc($s0)
/* 1944B8 80265BD8 0C00AB39 */ jal heap_malloc
/* 1944BC 80265BDC 240400C4 */ addiu $a0, $zero, 0xc4
/* 1944C0 80265BE0 AE02000C */ sw $v0, 0xc($s0)
/* 1944C4 80265BE4 0040802D */ daddu $s0, $v0, $zero
/* 1944C8 80265BE8 56000003 */ bnel $s0, $zero, .L80265BF8
/* 1944CC 80265BEC AE00000C */ sw $zero, 0xc($s0)
.L80265BF0:
/* 1944D0 80265BF0 080996FC */ j .L80265BF0
/* 1944D4 80265BF4 00000000 */ nop
.L80265BF8:
/* 1944D8 80265BF8 26730001 */ addiu $s3, $s3, 1
/* 1944DC 80265BFC 0276102A */ slt $v0, $s3, $s6
/* 1944E0 80265C00 1440FF01 */ bnez $v0, .L80265808
/* 1944E4 80265C04 26B50024 */ addiu $s5, $s5, 0x24
.L80265C08:
/* 1944E8 80265C08 2405000A */ addiu $a1, $zero, 0xa
/* 1944EC 80265C0C 0000302D */ daddu $a2, $zero, $zero
/* 1944F0 80265C10 8E2401C4 */ lw $a0, 0x1c4($s1)
/* 1944F4 80265C14 922201F2 */ lbu $v0, 0x1f2($s1)
/* 1944F8 80265C18 24030019 */ addiu $v1, $zero, 0x19
/* 1944FC 80265C1C A22301BC */ sb $v1, 0x1bc($s1)
/* 194500 80265C20 00021600 */ sll $v0, $v0, 0x18
/* 194504 80265C24 00021603 */ sra $v0, $v0, 0x18
/* 194508 80265C28 34420200 */ ori $v0, $v0, 0x200
/* 19450C 80265C2C 0C0B0CF8 */ jal start_script
/* 194510 80265C30 A6220192 */ sh $v0, 0x192($s1)
/* 194514 80265C34 822301F2 */ lb $v1, 0x1f2($s1)
/* 194518 80265C38 8C440144 */ lw $a0, 0x144($v0)
/* 19451C 80265C3C 34630200 */ ori $v1, $v1, 0x200
/* 194520 80265C40 AE2401E4 */ sw $a0, 0x1e4($s1)
/* 194524 80265C44 AC430148 */ sw $v1, 0x148($v0)
/* 194528 80265C48 8E250144 */ lw $a1, 0x144($s1)
/* 19452C 80265C4C 8E260148 */ lw $a2, 0x148($s1)
/* 194530 80265C50 8E27014C */ lw $a3, 0x14c($s1)
/* 194534 80265C54 0C044898 */ jal create_shadow_type
/* 194538 80265C58 0000202D */ daddu $a0, $zero, $zero
/* 19453C 80265C5C 3C05C30E */ lui $a1, 0xc30e
/* 194540 80265C60 3C064208 */ lui $a2, 0x4208
/* 194544 80265C64 3C073F80 */ lui $a3, 0x3f80
/* 194548 80265C68 0000202D */ daddu $a0, $zero, $zero
/* 19454C 80265C6C AE22042C */ sw $v0, 0x42c($s1)
/* 194550 80265C70 92220190 */ lbu $v0, 0x190($s1)
/* 194554 80265C74 3C014038 */ lui $at, 0x4038
/* 194558 80265C78 44811800 */ mtc1 $at, $f3
/* 19455C 80265C7C 44801000 */ mtc1 $zero, $f2
/* 194560 80265C80 44820000 */ mtc1 $v0, $f0
/* 194564 80265C84 00000000 */ nop
/* 194568 80265C88 46800021 */ cvt.d.w $f0, $f0
/* 19456C 80265C8C 46220003 */ div.d $f0, $f0, $f2
/* 194570 80265C90 46200020 */ cvt.s.d $f0, $f0
/* 194574 80265C94 E6200430 */ swc1 $f0, 0x430($s1)
/* 194578 80265C98 0C01C43C */ jal func_800710F0
/* 19457C 80265C9C AFA00010 */ sw $zero, 0x10($sp)
/* 194580 80265CA0 AE220440 */ sw $v0, 0x440($s1)
/* 194584 80265CA4 0C011D82 */ jal func_80047608
/* 194588 80265CA8 AE200228 */ sw $zero, 0x228($s1)
/* 19458C 80265CAC A6220436 */ sh $v0, 0x436($s1)
/* 194590 80265CB0 0220102D */ daddu $v0, $s1, $zero
/* 194594 80265CB4 8FBF0034 */ lw $ra, 0x34($sp)
/* 194598 80265CB8 8FB60030 */ lw $s6, 0x30($sp)
/* 19459C 80265CBC 8FB5002C */ lw $s5, 0x2c($sp)
/* 1945A0 80265CC0 8FB40028 */ lw $s4, 0x28($sp)
/* 1945A4 80265CC4 8FB30024 */ lw $s3, 0x24($sp)
/* 1945A8 80265CC8 8FB20020 */ lw $s2, 0x20($sp)
/* 1945AC 80265CCC 8FB1001C */ lw $s1, 0x1c($sp)
/* 1945B0 80265CD0 8FB00018 */ lw $s0, 0x18($sp)
/* 1945B4 80265CD4 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 1945B8 80265CD8 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 1945BC 80265CDC D7B40038 */ ldc1 $f20, 0x38($sp)
/* 1945C0 80265CE0 03E00008 */ jr $ra
/* 1945C4 80265CE4 27BD0050 */ addiu $sp, $sp, 0x50