.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80218BE0_609690 /* 609690 80218BE0 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 609694 80218BE4 AFB40020 */ sw $s4, 0x20($sp) /* 609698 80218BE8 0080A02D */ daddu $s4, $a0, $zero /* 60969C 80218BEC AFBF0028 */ sw $ra, 0x28($sp) /* 6096A0 80218BF0 AFB50024 */ sw $s5, 0x24($sp) /* 6096A4 80218BF4 AFB3001C */ sw $s3, 0x1c($sp) /* 6096A8 80218BF8 AFB20018 */ sw $s2, 0x18($sp) /* 6096AC 80218BFC AFB10014 */ sw $s1, 0x14($sp) /* 6096B0 80218C00 AFB00010 */ sw $s0, 0x10($sp) /* 6096B4 80218C04 F7BA0048 */ sdc1 $f26, 0x48($sp) /* 6096B8 80218C08 F7B80040 */ sdc1 $f24, 0x40($sp) /* 6096BC 80218C0C F7B60038 */ sdc1 $f22, 0x38($sp) /* 6096C0 80218C10 F7B40030 */ sdc1 $f20, 0x30($sp) /* 6096C4 80218C14 8E82000C */ lw $v0, 0xc($s4) /* 6096C8 80218C18 0C0B1EAF */ jal get_variable /* 6096CC 80218C1C 8C450000 */ lw $a1, ($v0) /* 6096D0 80218C20 0C046C04 */ jal get_model_list_index_from_tree_index /* 6096D4 80218C24 0040202D */ daddu $a0, $v0, $zero /* 6096D8 80218C28 0C046B4C */ jal get_model_from_list_index /* 6096DC 80218C2C 0040202D */ daddu $a0, $v0, $zero /* 6096E0 80218C30 3C12800E */ lui $s2, %hi(gBattleStatus) /* 6096E4 80218C34 2652C070 */ addiu $s2, $s2, %lo(gBattleStatus) /* 6096E8 80218C38 AE80008C */ sw $zero, 0x8c($s4) /* 6096EC 80218C3C 8E5000D8 */ lw $s0, 0xd8($s2) /* 6096F0 80218C40 1200003C */ beqz $s0, .L80218D34 /* 6096F4 80218C44 0040882D */ daddu $s1, $v0, $zero /* 6096F8 80218C48 C6020144 */ lwc1 $f2, 0x144($s0) /* 6096FC 80218C4C C6200098 */ lwc1 $f0, 0x98($s1) /* 609700 80218C50 46001081 */ sub.s $f2, $f2, $f0 /* 609704 80218C54 46021182 */ mul.s $f6, $f2, $f2 /* 609708 80218C58 00000000 */ nop /* 60970C 80218C5C C62000A0 */ lwc1 $f0, 0xa0($s1) /* 609710 80218C60 C602014C */ lwc1 $f2, 0x14c($s0) /* 609714 80218C64 46001081 */ sub.s $f2, $f2, $f0 /* 609718 80218C68 46021102 */ mul.s $f4, $f2, $f2 /* 60971C 80218C6C 00000000 */ nop /* 609720 80218C70 92020191 */ lbu $v0, 0x191($s0) /* 609724 80218C74 C6020148 */ lwc1 $f2, 0x148($s0) /* 609728 80218C78 44820000 */ mtc1 $v0, $f0 /* 60972C 80218C7C 00000000 */ nop /* 609730 80218C80 46800020 */ cvt.s.w $f0, $f0 /* 609734 80218C84 46001080 */ add.s $f2, $f2, $f0 /* 609738 80218C88 3C013FC0 */ lui $at, 0x3fc0 /* 60973C 80218C8C 44810000 */ mtc1 $at, $f0 /* 609740 80218C90 00000000 */ nop /* 609744 80218C94 46001081 */ sub.s $f2, $f2, $f0 /* 609748 80218C98 46043300 */ add.s $f12, $f6, $f4 /* 60974C 80218C9C C620009C */ lwc1 $f0, 0x9c($s1) /* 609750 80218CA0 46001501 */ sub.s $f20, $f2, $f0 /* 609754 80218CA4 46006084 */ sqrt.s $f2, $f12 /* 609758 80218CA8 46021032 */ c.eq.s $f2, $f2 /* 60975C 80218CAC 00000000 */ nop /* 609760 80218CB0 45010004 */ bc1t .L80218CC4 /* 609764 80218CB4 00000000 */ nop /* 609768 80218CB8 0C0187BC */ jal sqrtf /* 60976C 80218CBC 00000000 */ nop /* 609770 80218CC0 46000086 */ mov.s $f2, $f0 .L80218CC4: /* 609774 80218CC4 44800000 */ mtc1 $zero, $f0 /* 609778 80218CC8 00000000 */ nop /* 60977C 80218CCC 4614003C */ c.lt.s $f0, $f20 /* 609780 80218CD0 00000000 */ nop /* 609784 80218CD4 45000017 */ bc1f .L80218D34 /* 609788 80218CD8 46001106 */ mov.s $f4, $f2 /* 60978C 80218CDC 92020191 */ lbu $v0, 0x191($s0) /* 609790 80218CE0 44820000 */ mtc1 $v0, $f0 /* 609794 80218CE4 00000000 */ nop /* 609798 80218CE8 46800020 */ cvt.s.w $f0, $f0 /* 60979C 80218CEC 4600A03C */ c.lt.s $f20, $f0 /* 6097A0 80218CF0 00000000 */ nop /* 6097A4 80218CF4 4500000F */ bc1f .L80218D34 /* 6097A8 80218CF8 00000000 */ nop /* 6097AC 80218CFC 92020190 */ lbu $v0, 0x190($s0) /* 6097B0 80218D00 3C013F00 */ lui $at, 0x3f00 /* 6097B4 80218D04 44811000 */ mtc1 $at, $f2 /* 6097B8 80218D08 44820000 */ mtc1 $v0, $f0 /* 6097BC 80218D0C 00000000 */ nop /* 6097C0 80218D10 46800020 */ cvt.s.w $f0, $f0 /* 6097C4 80218D14 46020002 */ mul.s $f0, $f0, $f2 /* 6097C8 80218D18 00000000 */ nop /* 6097CC 80218D1C 4600203C */ c.lt.s $f4, $f0 /* 6097D0 80218D20 00000000 */ nop /* 6097D4 80218D24 45000003 */ bc1f .L80218D34 /* 6097D8 80218D28 24020001 */ addiu $v0, $zero, 1 /* 6097DC 80218D2C 0808640F */ j .L8021903C /* 6097E0 80218D30 AE82008C */ sw $v0, 0x8c($s4) .L80218D34: /* 6097E4 80218D34 8E5000DC */ lw $s0, 0xdc($s2) /* 6097E8 80218D38 12000041 */ beqz $s0, .L80218E40 /* 6097EC 80218D3C 0000982D */ daddu $s3, $zero, $zero /* 6097F0 80218D40 C6020144 */ lwc1 $f2, 0x144($s0) /* 6097F4 80218D44 C6200098 */ lwc1 $f0, 0x98($s1) /* 6097F8 80218D48 46001081 */ sub.s $f2, $f2, $f0 /* 6097FC 80218D4C 46021182 */ mul.s $f6, $f2, $f2 /* 609800 80218D50 00000000 */ nop /* 609804 80218D54 C62000A0 */ lwc1 $f0, 0xa0($s1) /* 609808 80218D58 C602014C */ lwc1 $f2, 0x14c($s0) /* 60980C 80218D5C 46001081 */ sub.s $f2, $f2, $f0 /* 609810 80218D60 46021102 */ mul.s $f4, $f2, $f2 /* 609814 80218D64 00000000 */ nop /* 609818 80218D68 92020191 */ lbu $v0, 0x191($s0) /* 60981C 80218D6C C6020148 */ lwc1 $f2, 0x148($s0) /* 609820 80218D70 44820000 */ mtc1 $v0, $f0 /* 609824 80218D74 00000000 */ nop /* 609828 80218D78 46800020 */ cvt.s.w $f0, $f0 /* 60982C 80218D7C 46001080 */ add.s $f2, $f2, $f0 /* 609830 80218D80 3C013FC0 */ lui $at, 0x3fc0 /* 609834 80218D84 44810000 */ mtc1 $at, $f0 /* 609838 80218D88 00000000 */ nop /* 60983C 80218D8C 46001081 */ sub.s $f2, $f2, $f0 /* 609840 80218D90 46043300 */ add.s $f12, $f6, $f4 /* 609844 80218D94 C620009C */ lwc1 $f0, 0x9c($s1) /* 609848 80218D98 46001501 */ sub.s $f20, $f2, $f0 /* 60984C 80218D9C 46006084 */ sqrt.s $f2, $f12 /* 609850 80218DA0 46021032 */ c.eq.s $f2, $f2 /* 609854 80218DA4 00000000 */ nop /* 609858 80218DA8 45010004 */ bc1t .L80218DBC /* 60985C 80218DAC 00000000 */ nop /* 609860 80218DB0 0C0187BC */ jal sqrtf /* 609864 80218DB4 00000000 */ nop /* 609868 80218DB8 46000086 */ mov.s $f2, $f0 .L80218DBC: /* 60986C 80218DBC 44800000 */ mtc1 $zero, $f0 /* 609870 80218DC0 00000000 */ nop /* 609874 80218DC4 4614003C */ c.lt.s $f0, $f20 /* 609878 80218DC8 00000000 */ nop /* 60987C 80218DCC 4500001B */ bc1f .L80218E3C /* 609880 80218DD0 46001106 */ mov.s $f4, $f2 /* 609884 80218DD4 92020191 */ lbu $v0, 0x191($s0) /* 609888 80218DD8 44820000 */ mtc1 $v0, $f0 /* 60988C 80218DDC 00000000 */ nop /* 609890 80218DE0 46800020 */ cvt.s.w $f0, $f0 /* 609894 80218DE4 4600A03C */ c.lt.s $f20, $f0 /* 609898 80218DE8 00000000 */ nop /* 60989C 80218DEC 45000014 */ bc1f .L80218E40 /* 6098A0 80218DF0 0000982D */ daddu $s3, $zero, $zero /* 6098A4 80218DF4 92020190 */ lbu $v0, 0x190($s0) /* 6098A8 80218DF8 3C013F00 */ lui $at, 0x3f00 /* 6098AC 80218DFC 44811000 */ mtc1 $at, $f2 /* 6098B0 80218E00 44820000 */ mtc1 $v0, $f0 /* 6098B4 80218E04 00000000 */ nop /* 6098B8 80218E08 46800020 */ cvt.s.w $f0, $f0 /* 6098BC 80218E0C 46020002 */ mul.s $f0, $f0, $f2 /* 6098C0 80218E10 00000000 */ nop /* 6098C4 80218E14 4600203C */ c.lt.s $f4, $f0 /* 6098C8 80218E18 00000000 */ nop /* 6098CC 80218E1C 45000008 */ bc1f .L80218E40 /* 6098D0 80218E20 24020001 */ addiu $v0, $zero, 1 /* 6098D4 80218E24 0808640F */ j .L8021903C /* 6098D8 80218E28 AE82008C */ sw $v0, 0x8c($s4) .L80218E2C: /* 6098DC 80218E2C 0808640F */ j .L8021903C /* 6098E0 80218E30 AE82008C */ sw $v0, 0x8c($s4) .L80218E34: /* 6098E4 80218E34 0808640F */ j .L8021903C /* 6098E8 80218E38 AE82008C */ sw $v0, 0x8c($s4) .L80218E3C: /* 6098EC 80218E3C 0000982D */ daddu $s3, $zero, $zero .L80218E40: /* 6098F0 80218E40 3C150010 */ lui $s5, 0x10 /* 6098F4 80218E44 3C013FC0 */ lui $at, 0x3fc0 /* 6098F8 80218E48 4481D000 */ mtc1 $at, $f26 /* 6098FC 80218E4C 4480C000 */ mtc1 $zero, $f24 /* 609900 80218E50 3C013F00 */ lui $at, 0x3f00 /* 609904 80218E54 4481B000 */ mtc1 $at, $f22 .L80218E58: /* 609908 80218E58 8E5000E0 */ lw $s0, 0xe0($s2) /* 60990C 80218E5C 52000074 */ beql $s0, $zero, .L80219030 /* 609910 80218E60 26730001 */ addiu $s3, $s3, 1 /* 609914 80218E64 8E020000 */ lw $v0, ($s0) /* 609918 80218E68 30420001 */ andi $v0, $v0, 1 /* 60991C 80218E6C 54400070 */ bnel $v0, $zero, .L80219030 /* 609920 80218E70 26730001 */ addiu $s3, $s3, 1 /* 609924 80218E74 C6020144 */ lwc1 $f2, 0x144($s0) /* 609928 80218E78 C6200098 */ lwc1 $f0, 0x98($s1) /* 60992C 80218E7C 46001081 */ sub.s $f2, $f2, $f0 /* 609930 80218E80 46021182 */ mul.s $f6, $f2, $f2 /* 609934 80218E84 00000000 */ nop /* 609938 80218E88 C62000A0 */ lwc1 $f0, 0xa0($s1) /* 60993C 80218E8C C602014C */ lwc1 $f2, 0x14c($s0) /* 609940 80218E90 46001081 */ sub.s $f2, $f2, $f0 /* 609944 80218E94 46021102 */ mul.s $f4, $f2, $f2 /* 609948 80218E98 00000000 */ nop /* 60994C 80218E9C 92020191 */ lbu $v0, 0x191($s0) /* 609950 80218EA0 C6020148 */ lwc1 $f2, 0x148($s0) /* 609954 80218EA4 44820000 */ mtc1 $v0, $f0 /* 609958 80218EA8 00000000 */ nop /* 60995C 80218EAC 46800020 */ cvt.s.w $f0, $f0 /* 609960 80218EB0 46001080 */ add.s $f2, $f2, $f0 /* 609964 80218EB4 461A1081 */ sub.s $f2, $f2, $f26 /* 609968 80218EB8 46043300 */ add.s $f12, $f6, $f4 /* 60996C 80218EBC C620009C */ lwc1 $f0, 0x9c($s1) /* 609970 80218EC0 46001501 */ sub.s $f20, $f2, $f0 /* 609974 80218EC4 46006004 */ sqrt.s $f0, $f12 /* 609978 80218EC8 46000032 */ c.eq.s $f0, $f0 /* 60997C 80218ECC 00000000 */ nop /* 609980 80218ED0 45010003 */ bc1t .L80218EE0 /* 609984 80218ED4 00000000 */ nop /* 609988 80218ED8 0C0187BC */ jal sqrtf /* 60998C 80218EDC 00000000 */ nop .L80218EE0: /* 609990 80218EE0 4614C03C */ c.lt.s $f24, $f20 /* 609994 80218EE4 00000000 */ nop /* 609998 80218EE8 45000013 */ bc1f .L80218F38 /* 60999C 80218EEC 46000106 */ mov.s $f4, $f0 /* 6099A0 80218EF0 92020191 */ lbu $v0, 0x191($s0) /* 6099A4 80218EF4 44820000 */ mtc1 $v0, $f0 /* 6099A8 80218EF8 00000000 */ nop /* 6099AC 80218EFC 46800020 */ cvt.s.w $f0, $f0 /* 6099B0 80218F00 4600A03C */ c.lt.s $f20, $f0 /* 6099B4 80218F04 00000000 */ nop /* 6099B8 80218F08 4500000B */ bc1f .L80218F38 /* 6099BC 80218F0C 00000000 */ nop /* 6099C0 80218F10 92020190 */ lbu $v0, 0x190($s0) /* 6099C4 80218F14 44820000 */ mtc1 $v0, $f0 /* 6099C8 80218F18 00000000 */ nop /* 6099CC 80218F1C 46800020 */ cvt.s.w $f0, $f0 /* 6099D0 80218F20 46160002 */ mul.s $f0, $f0, $f22 /* 6099D4 80218F24 00000000 */ nop /* 6099D8 80218F28 4600203C */ c.lt.s $f4, $f0 /* 6099DC 80218F2C 00000000 */ nop /* 6099E0 80218F30 4501FFBE */ bc1t .L80218E2C /* 6099E4 80218F34 24020001 */ addiu $v0, $zero, 1 .L80218F38: /* 6099E8 80218F38 8E1001F4 */ lw $s0, 0x1f4($s0) /* 6099EC 80218F3C 5200003C */ beql $s0, $zero, .L80219030 /* 6099F0 80218F40 26730001 */ addiu $s3, $s3, 1 .L80218F44: /* 6099F4 80218F44 8E030000 */ lw $v1, ($s0) /* 6099F8 80218F48 30620001 */ andi $v0, $v1, 1 /* 6099FC 80218F4C 14400034 */ bnez $v0, .L80219020 /* 609A00 80218F50 00751024 */ and $v0, $v1, $s5 /* 609A04 80218F54 10400032 */ beqz $v0, .L80219020 /* 609A08 80218F58 00000000 */ nop /* 609A0C 80218F5C C6020058 */ lwc1 $f2, 0x58($s0) /* 609A10 80218F60 C6200098 */ lwc1 $f0, 0x98($s1) /* 609A14 80218F64 46001081 */ sub.s $f2, $f2, $f0 /* 609A18 80218F68 46021182 */ mul.s $f6, $f2, $f2 /* 609A1C 80218F6C 00000000 */ nop /* 609A20 80218F70 C62000A0 */ lwc1 $f0, 0xa0($s1) /* 609A24 80218F74 C6020060 */ lwc1 $f2, 0x60($s0) /* 609A28 80218F78 46001081 */ sub.s $f2, $f2, $f0 /* 609A2C 80218F7C 46021102 */ mul.s $f4, $f2, $f2 /* 609A30 80218F80 00000000 */ nop /* 609A34 80218F84 92020073 */ lbu $v0, 0x73($s0) /* 609A38 80218F88 C600005C */ lwc1 $f0, 0x5c($s0) /* 609A3C 80218F8C 44821000 */ mtc1 $v0, $f2 /* 609A40 80218F90 00000000 */ nop /* 609A44 80218F94 468010A0 */ cvt.s.w $f2, $f2 /* 609A48 80218F98 46020000 */ add.s $f0, $f0, $f2 /* 609A4C 80218F9C 461A0001 */ sub.s $f0, $f0, $f26 /* 609A50 80218FA0 46043300 */ add.s $f12, $f6, $f4 /* 609A54 80218FA4 C622009C */ lwc1 $f2, 0x9c($s1) /* 609A58 80218FA8 46020501 */ sub.s $f20, $f0, $f2 /* 609A5C 80218FAC 46006004 */ sqrt.s $f0, $f12 /* 609A60 80218FB0 46000032 */ c.eq.s $f0, $f0 /* 609A64 80218FB4 00000000 */ nop /* 609A68 80218FB8 45010003 */ bc1t .L80218FC8 /* 609A6C 80218FBC 00000000 */ nop /* 609A70 80218FC0 0C0187BC */ jal sqrtf /* 609A74 80218FC4 00000000 */ nop .L80218FC8: /* 609A78 80218FC8 4614C03C */ c.lt.s $f24, $f20 /* 609A7C 80218FCC 00000000 */ nop /* 609A80 80218FD0 45000013 */ bc1f .L80219020 /* 609A84 80218FD4 46000106 */ mov.s $f4, $f0 /* 609A88 80218FD8 92020073 */ lbu $v0, 0x73($s0) /* 609A8C 80218FDC 44820000 */ mtc1 $v0, $f0 /* 609A90 80218FE0 00000000 */ nop /* 609A94 80218FE4 46800020 */ cvt.s.w $f0, $f0 /* 609A98 80218FE8 4600A03C */ c.lt.s $f20, $f0 /* 609A9C 80218FEC 00000000 */ nop /* 609AA0 80218FF0 4500000B */ bc1f .L80219020 /* 609AA4 80218FF4 00000000 */ nop /* 609AA8 80218FF8 92020072 */ lbu $v0, 0x72($s0) /* 609AAC 80218FFC 44820000 */ mtc1 $v0, $f0 /* 609AB0 80219000 00000000 */ nop /* 609AB4 80219004 46800020 */ cvt.s.w $f0, $f0 /* 609AB8 80219008 46160002 */ mul.s $f0, $f0, $f22 /* 609ABC 8021900C 00000000 */ nop /* 609AC0 80219010 4600203C */ c.lt.s $f4, $f0 /* 609AC4 80219014 00000000 */ nop /* 609AC8 80219018 4501FF86 */ bc1t .L80218E34 /* 609ACC 8021901C 24020001 */ addiu $v0, $zero, 1 .L80219020: /* 609AD0 80219020 8E10000C */ lw $s0, 0xc($s0) /* 609AD4 80219024 1600FFC7 */ bnez $s0, .L80218F44 /* 609AD8 80219028 00000000 */ nop /* 609ADC 8021902C 26730001 */ addiu $s3, $s3, 1 .L80219030: /* 609AE0 80219030 2A620018 */ slti $v0, $s3, 0x18 /* 609AE4 80219034 1440FF88 */ bnez $v0, .L80218E58 /* 609AE8 80219038 26520004 */ addiu $s2, $s2, 4 .L8021903C: /* 609AEC 8021903C 24020002 */ addiu $v0, $zero, 2 /* 609AF0 80219040 8FBF0028 */ lw $ra, 0x28($sp) /* 609AF4 80219044 8FB50024 */ lw $s5, 0x24($sp) /* 609AF8 80219048 8FB40020 */ lw $s4, 0x20($sp) /* 609AFC 8021904C 8FB3001C */ lw $s3, 0x1c($sp) /* 609B00 80219050 8FB20018 */ lw $s2, 0x18($sp) /* 609B04 80219054 8FB10014 */ lw $s1, 0x14($sp) /* 609B08 80219058 8FB00010 */ lw $s0, 0x10($sp) /* 609B0C 8021905C D7BA0048 */ ldc1 $f26, 0x48($sp) /* 609B10 80219060 D7B80040 */ ldc1 $f24, 0x40($sp) /* 609B14 80219064 D7B60038 */ ldc1 $f22, 0x38($sp) /* 609B18 80219068 D7B40030 */ ldc1 $f20, 0x30($sp) /* 609B1C 8021906C 03E00008 */ jr $ra /* 609B20 80219070 27BD0050 */ addiu $sp, $sp, 0x50 /* 609B24 80219074 00000000 */ nop /* 609B28 80219078 00000000 */ nop /* 609B2C 8021907C 00000000 */ nop