.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_800EBC74 /* 085124 800EBC74 3C038011 */ lui $v1, 0x8011 /* 085128 800EBC78 8463CFC8 */ lh $v1, -0x3038($v1) /* 08512C 800EBC7C 27BDFF98 */ addiu $sp, $sp, -0x68 /* 085130 800EBC80 AFB1003C */ sw $s1, 0x3c($sp) /* 085134 800EBC84 AFB30044 */ sw $s3, 0x44($sp) /* 085138 800EBC88 3C138011 */ lui $s3, 0x8011 /* 08513C 800EBC8C 2673EFC8 */ addiu $s3, $s3, -0x1038 /* 085140 800EBC90 AFB5004C */ sw $s5, 0x4c($sp) /* 085144 800EBC94 3C15800B */ lui $s5, 0x800b /* 085148 800EBC98 26B51D80 */ addiu $s5, $s5, 0x1d80 /* 08514C 800EBC9C AFBF0050 */ sw $ra, 0x50($sp) /* 085150 800EBCA0 AFB40048 */ sw $s4, 0x48($sp) /* 085154 800EBCA4 AFB20040 */ sw $s2, 0x40($sp) /* 085158 800EBCA8 AFB00038 */ sw $s0, 0x38($sp) /* 08515C 800EBCAC F7B60060 */ sdc1 $f22, 0x60($sp) /* 085160 800EBCB0 F7B40058 */ sdc1 $f20, 0x58($sp) /* 085164 800EBCB4 2C620033 */ sltiu $v0, $v1, 0x33 /* 085168 800EBCB8 1040058A */ beqz $v0, .L800ED2E4 /* 08516C 800EBCBC 0080882D */ daddu $s1, $a0, $zero /* 085170 800EBCC0 00031080 */ sll $v0, $v1, 2 /* 085174 800EBCC4 3C018011 */ lui $at, 0x8011 /* 085178 800EBCC8 00220821 */ addu $at, $at, $v0 /* 08517C 800EBCCC 8C22C148 */ lw $v0, -0x3eb8($at) /* 085180 800EBCD0 00400008 */ jr $v0 /* 085184 800EBCD4 00000000 */ nop .L800EBCD8: /* 085188 800EBCD8 C634000C */ lwc1 $f20, 0xc($s1) /* 08518C 800EBCDC 3C038011 */ lui $v1, 0x8011 /* 085190 800EBCE0 8C63CFD8 */ lw $v1, -0x3028($v1) /* 085194 800EBCE4 AE200018 */ sw $zero, 0x18($s1) /* 085198 800EBCE8 AE200014 */ sw $zero, 0x14($s1) /* 08519C 800EBCEC 000310C0 */ sll $v0, $v1, 3 /* 0851A0 800EBCF0 00431021 */ addu $v0, $v0, $v1 /* 0851A4 800EBCF4 00021080 */ sll $v0, $v0, 2 /* 0851A8 800EBCF8 3C038010 */ lui $v1, 0x8010 /* 0851AC 800EBCFC 00621821 */ addu $v1, $v1, $v0 /* 0851B0 800EBD00 8C63835C */ lw $v1, -0x7ca4($v1) /* 0851B4 800EBD04 24020005 */ addiu $v0, $zero, 5 /* 0851B8 800EBD08 3C018011 */ lui $at, 0x8011 /* 0851BC 800EBD0C A422CFC8 */ sh $v0, -0x3038($at) /* 0851C0 800EBD10 0803B005 */ j .L800EC014 /* 0851C4 800EBD14 AE230028 */ sw $v1, 0x28($s1) /* 0851C8 800EBD18 3C038011 */ lui $v1, 0x8011 /* 0851CC 800EBD1C 2463CD38 */ addiu $v1, $v1, -0x32c8 /* 0851D0 800EBD20 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0851D4 800EBD24 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0851D8 800EBD28 3C028011 */ lui $v0, 0x8011 /* 0851DC 800EBD2C 8C42CFBC */ lw $v0, -0x3044($v0) /* 0851E0 800EBD30 3C014040 */ lui $at, 0x4040 /* 0851E4 800EBD34 44810000 */ mtc1 $at, $f0 /* 0851E8 800EBD38 C622003C */ lwc1 $f2, 0x3c($s1) /* 0851EC 800EBD3C 00021100 */ sll $v0, $v0, 4 /* 0851F0 800EBD40 00438021 */ addu $s0, $v0, $v1 /* 0851F4 800EBD44 C6060004 */ lwc1 $f6, 4($s0) /* 0851F8 800EBD48 C608000C */ lwc1 $f8, 0xc($s0) /* 0851FC 800EBD4C E6200018 */ swc1 $f0, 0x18($s1) /* 085200 800EBD50 46006006 */ mov.s $f0, $f12 /* 085204 800EBD54 8E660028 */ lw $a2, 0x28($s3) /* 085208 800EBD58 8E670030 */ lw $a3, 0x30($s3) /* 08520C 800EBD5C 46007106 */ mov.s $f4, $f14 /* 085210 800EBD60 E7A00028 */ swc1 $f0, 0x28($sp) /* 085214 800EBD64 E7A2002C */ swc1 $f2, 0x2c($sp) /* 085218 800EBD68 E7A40030 */ swc1 $f4, 0x30($sp) /* 08521C 800EBD6C E7A60020 */ swc1 $f6, 0x20($sp) /* 085220 800EBD70 0C00A7B5 */ jal dist2D /* 085224 800EBD74 E7A80024 */ swc1 $f8, 0x24($sp) /* 085228 800EBD78 3C014049 */ lui $at, 0x4049 /* 08522C 800EBD7C 44811800 */ mtc1 $at, $f3 /* 085230 800EBD80 44801000 */ mtc1 $zero, $f2 /* 085234 800EBD84 E7A00034 */ swc1 $f0, 0x34($sp) /* 085238 800EBD88 46000021 */ cvt.d.s $f0, $f0 /* 08523C 800EBD8C 4620103E */ c.le.d $f2, $f0 /* 085240 800EBD90 00000000 */ nop /* 085244 800EBD94 4500000B */ bc1f .L800EBDC4 /* 085248 800EBD98 3C030001 */ lui $v1, 1 /* 08524C 800EBD9C 8E620004 */ lw $v0, 4($s3) /* 085250 800EBDA0 3C0140E0 */ lui $at, 0x40e0 /* 085254 800EBDA4 44810000 */ mtc1 $at, $f0 /* 085258 800EBDA8 00431024 */ and $v0, $v0, $v1 /* 08525C 800EBDAC 54400005 */ bnezl $v0, .L800EBDC4 /* 085260 800EBDB0 E6200018 */ swc1 $f0, 0x18($s1) /* 085264 800EBDB4 3C0140A0 */ lui $at, 0x40a0 /* 085268 800EBDB8 44810000 */ mtc1 $at, $f0 /* 08526C 800EBDBC 00000000 */ nop /* 085270 800EBDC0 E6200018 */ swc1 $f0, 0x18($s1) .L800EBDC4: /* 085274 800EBDC4 3C018011 */ lui $at, 0x8011 /* 085278 800EBDC8 C420CFC0 */ lwc1 $f0, -0x3040($at) /* 08527C 800EBDCC 3C014034 */ lui $at, 0x4034 /* 085280 800EBDD0 44811800 */ mtc1 $at, $f3 /* 085284 800EBDD4 44801000 */ mtc1 $zero, $f2 /* 085288 800EBDD8 46000021 */ cvt.d.s $f0, $f0 /* 08528C 800EBDDC 4622003C */ c.lt.d $f0, $f2 /* 085290 800EBDE0 00000000 */ nop /* 085294 800EBDE4 45000005 */ bc1f .L800EBDFC /* 085298 800EBDE8 00000000 */ nop /* 08529C 800EBDEC 3C014080 */ lui $at, 0x4080 /* 0852A0 800EBDF0 44810000 */ mtc1 $at, $f0 /* 0852A4 800EBDF4 00000000 */ nop /* 0852A8 800EBDF8 E6200018 */ swc1 $f0, 0x18($s1) .L800EBDFC: /* 0852AC 800EBDFC 3C038011 */ lui $v1, 0x8011 /* 0852B0 800EBE00 8C63CFD8 */ lw $v1, -0x3028($v1) /* 0852B4 800EBE04 3C048010 */ lui $a0, 0x8010 /* 0852B8 800EBE08 24848348 */ addiu $a0, $a0, -0x7cb8 /* 0852BC 800EBE0C 000310C0 */ sll $v0, $v1, 3 /* 0852C0 800EBE10 00431021 */ addu $v0, $v0, $v1 /* 0852C4 800EBE14 00021080 */ sll $v0, $v0, 2 /* 0852C8 800EBE18 00442021 */ addu $a0, $v0, $a0 /* 0852CC 800EBE1C 8E220000 */ lw $v0, ($s1) /* 0852D0 800EBE20 8C830018 */ lw $v1, 0x18($a0) /* 0852D4 800EBE24 30421000 */ andi $v0, $v0, 0x1000 /* 0852D8 800EBE28 14400003 */ bnez $v0, .L800EBE38 /* 0852DC 800EBE2C AE230028 */ sw $v1, 0x28($s1) /* 0852E0 800EBE30 8C82000C */ lw $v0, 0xc($a0) /* 0852E4 800EBE34 AE220028 */ sw $v0, 0x28($s1) .L800EBE38: /* 0852E8 800EBE38 3C128011 */ lui $s2, 0x8011 /* 0852EC 800EBE3C 2652CFBC */ addiu $s2, $s2, -0x3044 /* 0852F0 800EBE40 3C148011 */ lui $s4, 0x8011 /* 0852F4 800EBE44 2694CD38 */ addiu $s4, $s4, -0x32c8 .L800EBE48: /* 0852F8 800EBE48 C7AC0028 */ lwc1 $f12, 0x28($sp) /* 0852FC 800EBE4C C7AE0030 */ lwc1 $f14, 0x30($sp) /* 085300 800EBE50 8FA60020 */ lw $a2, 0x20($sp) /* 085304 800EBE54 0C00A7B5 */ jal dist2D /* 085308 800EBE58 8FA70024 */ lw $a3, 0x24($sp) /* 08530C 800EBE5C C7AC0028 */ lwc1 $f12, 0x28($sp) /* 085310 800EBE60 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 085314 800EBE64 8FA60020 */ lw $a2, 0x20($sp) /* 085318 800EBE68 8FA70024 */ lw $a3, 0x24($sp) /* 08531C 800EBE6C 0C00A720 */ jal atan2 /* 085320 800EBE70 E7A00034 */ swc1 $f0, 0x34($sp) /* 085324 800EBE74 C6240018 */ lwc1 $f4, 0x18($s1) /* 085328 800EBE78 C7A20034 */ lwc1 $f2, 0x34($sp) /* 08532C 800EBE7C 4602203C */ c.lt.s $f4, $f2 /* 085330 800EBE80 00000000 */ nop /* 085334 800EBE84 4500003B */ bc1f .L800EBF74 /* 085338 800EBE88 46000506 */ mov.s $f20, $f0 /* 08533C 800EBE8C C7AC0028 */ lwc1 $f12, 0x28($sp) /* 085340 800EBE90 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 085344 800EBE94 8E660028 */ lw $a2, 0x28($s3) /* 085348 800EBE98 0C00A7B5 */ jal dist2D /* 08534C 800EBE9C 8E670030 */ lw $a3, 0x30($s3) /* 085350 800EBEA0 3C014049 */ lui $at, 0x4049 /* 085354 800EBEA4 44811800 */ mtc1 $at, $f3 /* 085358 800EBEA8 44801000 */ mtc1 $zero, $f2 /* 08535C 800EBEAC 46000106 */ mov.s $f4, $f0 /* 085360 800EBEB0 E7A00034 */ swc1 $f0, 0x34($sp) /* 085364 800EBEB4 46002021 */ cvt.d.s $f0, $f4 /* 085368 800EBEB8 4620103E */ c.le.d $f2, $f0 /* 08536C 800EBEBC 00000000 */ nop /* 085370 800EBEC0 45010054 */ bc1t .L800EC014 /* 085374 800EBEC4 00000000 */ nop /* 085378 800EBEC8 3C018011 */ lui $at, 0x8011 /* 08537C 800EBECC C426CFC0 */ lwc1 $f6, -0x3040($at) /* 085380 800EBED0 4604303C */ c.lt.s $f6, $f4 /* 085384 800EBED4 00000000 */ nop /* 085388 800EBED8 4500001F */ bc1f .L800EBF58 /* 08538C 800EBEDC 00000000 */ nop /* 085390 800EBEE0 46062081 */ sub.s $f2, $f4, $f6 /* 085394 800EBEE4 3C014008 */ lui $at, 0x4008 /* 085398 800EBEE8 44810800 */ mtc1 $at, $f1 /* 08539C 800EBEEC 44800000 */ mtc1 $zero, $f0 /* 0853A0 800EBEF0 E6220018 */ swc1 $f2, 0x18($s1) /* 0853A4 800EBEF4 460010A1 */ cvt.d.s $f2, $f2 /* 0853A8 800EBEF8 4622003C */ c.lt.d $f0, $f2 /* 0853AC 800EBEFC 00000000 */ nop /* 0853B0 800EBF00 4500000D */ bc1f .L800EBF38 /* 0853B4 800EBF04 00000000 */ nop /* 0853B8 800EBF08 3C0141A0 */ lui $at, 0x41a0 /* 0853BC 800EBF0C 44810000 */ mtc1 $at, $f0 /* 0853C0 800EBF10 3C014040 */ lui $at, 0x4040 /* 0853C4 800EBF14 44811000 */ mtc1 $at, $f2 /* 0853C8 800EBF18 4600303C */ c.lt.s $f6, $f0 /* 0853CC 800EBF1C 00000000 */ nop /* 0853D0 800EBF20 4500003C */ bc1f .L800EC014 /* 0853D4 800EBF24 E6220018 */ swc1 $f2, 0x18($s1) /* 0853D8 800EBF28 3C014080 */ lui $at, 0x4080 /* 0853DC 800EBF2C 44810000 */ mtc1 $at, $f0 /* 0853E0 800EBF30 0803B005 */ j .L800EC014 /* 0853E4 800EBF34 E6200018 */ swc1 $f0, 0x18($s1) .L800EBF38: /* 0853E8 800EBF38 3C013FF0 */ lui $at, 0x3ff0 /* 0853EC 800EBF3C 44810800 */ mtc1 $at, $f1 /* 0853F0 800EBF40 44800000 */ mtc1 $zero, $f0 /* 0853F4 800EBF44 00000000 */ nop /* 0853F8 800EBF48 46201000 */ add.d $f0, $f2, $f0 /* 0853FC 800EBF4C 46200020 */ cvt.s.d $f0, $f0 /* 085400 800EBF50 0803B005 */ j .L800EC014 /* 085404 800EBF54 E6200018 */ swc1 $f0, 0x18($s1) .L800EBF58: /* 085408 800EBF58 C62C0038 */ lwc1 $f12, 0x38($s1) /* 08540C 800EBF5C C62E0040 */ lwc1 $f14, 0x40($s1) /* 085410 800EBF60 AE200018 */ sw $zero, 0x18($s1) /* 085414 800EBF64 8E660028 */ lw $a2, 0x28($s3) /* 085418 800EBF68 0C00A720 */ jal atan2 /* 08541C 800EBF6C 8E670030 */ lw $a3, 0x30($s3) /* 085420 800EBF70 E620000C */ swc1 $f0, 0xc($s1) .L800EBF74: /* 085424 800EBF74 8E430000 */ lw $v1, ($s2) /* 085428 800EBF78 3C028011 */ lui $v0, 0x8011 /* 08542C 800EBF7C 8C42CFB8 */ lw $v0, -0x3048($v0) /* 085430 800EBF80 1062FF55 */ beq $v1, $v0, .L800EBCD8 /* 085434 800EBF84 24620001 */ addiu $v0, $v1, 1 /* 085438 800EBF88 AE420000 */ sw $v0, ($s2) /* 08543C 800EBF8C 28420028 */ slti $v0, $v0, 0x28 /* 085440 800EBF90 50400001 */ beql $v0, $zero, .L800EBF98 /* 085444 800EBF94 AE400000 */ sw $zero, ($s2) .L800EBF98: /* 085448 800EBF98 C62C0038 */ lwc1 $f12, 0x38($s1) /* 08544C 800EBF9C 8E420000 */ lw $v0, ($s2) /* 085450 800EBFA0 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085454 800EBFA4 00021100 */ sll $v0, $v0, 4 /* 085458 800EBFA8 00548021 */ addu $s0, $v0, $s4 /* 08545C 800EBFAC C6000004 */ lwc1 $f0, 4($s0) /* 085460 800EBFB0 C602000C */ lwc1 $f2, 0xc($s0) /* 085464 800EBFB4 44060000 */ mfc1 $a2, $f0 /* 085468 800EBFB8 44071000 */ mfc1 $a3, $f2 /* 08546C 800EBFBC AFA60020 */ sw $a2, 0x20($sp) /* 085470 800EBFC0 0C00A720 */ jal atan2 /* 085474 800EBFC4 AFA70024 */ sw $a3, 0x24($sp) /* 085478 800EBFC8 C62C000C */ lwc1 $f12, 0xc($s1) /* 08547C 800EBFCC 0C00A70A */ jal get_clamped_angle_diff /* 085480 800EBFD0 46000386 */ mov.s $f14, $f0 /* 085484 800EBFD4 3C0142B4 */ lui $at, 0x42b4 /* 085488 800EBFD8 44811000 */ mtc1 $at, $f2 /* 08548C 800EBFDC 46000005 */ abs.s $f0, $f0 /* 085490 800EBFE0 4600103C */ c.lt.s $f2, $f0 /* 085494 800EBFE4 00000000 */ nop /* 085498 800EBFE8 45010008 */ bc1t .L800EC00C /* 08549C 800EBFEC 24020005 */ addiu $v0, $zero, 5 /* 0854A0 800EBFF0 8E220000 */ lw $v0, ($s1) /* 0854A4 800EBFF4 30421000 */ andi $v0, $v0, 0x1000 /* 0854A8 800EBFF8 1040FF93 */ beqz $v0, .L800EBE48 /* 0854AC 800EBFFC 00000000 */ nop /* 0854B0 800EC000 82020000 */ lb $v0, ($s0) /* 0854B4 800EC004 1040FF90 */ beqz $v0, .L800EBE48 /* 0854B8 800EC008 24020001 */ addiu $v0, $zero, 1 .L800EC00C: /* 0854BC 800EC00C 3C018011 */ lui $at, 0x8011 /* 0854C0 800EC010 A422CFC8 */ sh $v0, -0x3038($at) .L800EC014: /* 0854C4 800EC014 8E220000 */ lw $v0, ($s1) /* 0854C8 800EC018 30421000 */ andi $v0, $v0, 0x1000 /* 0854CC 800EC01C 14400008 */ bnez $v0, .L800EC040 /* 0854D0 800EC020 00000000 */ nop /* 0854D4 800EC024 C6200018 */ lwc1 $f0, 0x18($s1) /* 0854D8 800EC028 3C013F00 */ lui $at, 0x3f00 /* 0854DC 800EC02C 44811000 */ mtc1 $at, $f2 /* 0854E0 800EC030 00000000 */ nop /* 0854E4 800EC034 46020002 */ mul.s $f0, $f0, $f2 /* 0854E8 800EC038 00000000 */ nop /* 0854EC 800EC03C E6200018 */ swc1 $f0, 0x18($s1) .L800EC040: /* 0854F0 800EC040 8E250018 */ lw $a1, 0x18($s1) /* 0854F4 800EC044 4406A000 */ mfc1 $a2, $f20 /* 0854F8 800EC048 0220202D */ daddu $a0, $s1, $zero /* 0854FC 800EC04C 0C00EA95 */ jal npc_move_heading /* 085500 800EC050 AE26000C */ sw $a2, 0xc($s1) /* 085504 800EC054 C6200018 */ lwc1 $f0, 0x18($s1) /* 085508 800EC058 3C014010 */ lui $at, 0x4010 /* 08550C 800EC05C 44811800 */ mtc1 $at, $f3 /* 085510 800EC060 44801000 */ mtc1 $zero, $f2 /* 085514 800EC064 46000021 */ cvt.d.s $f0, $f0 /* 085518 800EC068 4622003C */ c.lt.d $f0, $f2 /* 08551C 800EC06C 00000000 */ nop /* 085520 800EC070 45000002 */ bc1f .L800EC07C /* 085524 800EC074 24050001 */ addiu $a1, $zero, 1 /* 085528 800EC078 0000282D */ daddu $a1, $zero, $zero .L800EC07C: /* 08552C 800EC07C 0C00F598 */ jal func_8003D660 /* 085530 800EC080 0220202D */ daddu $a0, $s1, $zero /* 085534 800EC084 86240084 */ lh $a0, 0x84($s1) /* 085538 800EC088 0C016F6A */ jal get_collider_type_by_id /* 08553C 800EC08C 00000000 */ nop /* 085540 800EC090 2442FFFE */ addiu $v0, $v0, -2 /* 085544 800EC094 2C420002 */ sltiu $v0, $v0, 2 /* 085548 800EC098 14400005 */ bnez $v0, .L800EC0B0 /* 08554C 800EC09C 24035000 */ addiu $v1, $zero, 0x5000 /* 085550 800EC0A0 8E220000 */ lw $v0, ($s1) /* 085554 800EC0A4 30425000 */ andi $v0, $v0, 0x5000 /* 085558 800EC0A8 1443048E */ bne $v0, $v1, .L800ED2E4 /* 08555C 800EC0AC 00000000 */ nop .L800EC0B0: /* 085560 800EC0B0 0C03A92C */ jal func_800EA4B0 /* 085564 800EC0B4 86240086 */ lh $a0, 0x86($s1) /* 085568 800EC0B8 14400488 */ bnez $v0, .L800ED2DC /* 08556C 800EC0BC 24020001 */ addiu $v0, $zero, 1 /* 085570 800EC0C0 3C038011 */ lui $v1, 0x8011 /* 085574 800EC0C4 2463CFBC */ addiu $v1, $v1, -0x3044 /* 085578 800EC0C8 8C620000 */ lw $v0, ($v1) /* 08557C 800EC0CC 24420001 */ addiu $v0, $v0, 1 /* 085580 800EC0D0 AC620000 */ sw $v0, ($v1) /* 085584 800EC0D4 28420028 */ slti $v0, $v0, 0x28 /* 085588 800EC0D8 50400001 */ beql $v0, $zero, .L800EC0E0 /* 08558C 800EC0DC AC600000 */ sw $zero, ($v1) .L800EC0E0: /* 085590 800EC0E0 8C620000 */ lw $v0, ($v1) /* 085594 800EC0E4 3C038011 */ lui $v1, 0x8011 /* 085598 800EC0E8 2463CD38 */ addiu $v1, $v1, -0x32c8 /* 08559C 800EC0EC C62C0038 */ lwc1 $f12, 0x38($s1) /* 0855A0 800EC0F0 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0855A4 800EC0F4 00021100 */ sll $v0, $v0, 4 /* 0855A8 800EC0F8 00438021 */ addu $s0, $v0, $v1 /* 0855AC 800EC0FC C6000004 */ lwc1 $f0, 4($s0) /* 0855B0 800EC100 C602000C */ lwc1 $f2, 0xc($s0) /* 0855B4 800EC104 44060000 */ mfc1 $a2, $f0 /* 0855B8 800EC108 44071000 */ mfc1 $a3, $f2 /* 0855BC 800EC10C AFA60020 */ sw $a2, 0x20($sp) /* 0855C0 800EC110 0C00A720 */ jal atan2 /* 0855C4 800EC114 AFA70024 */ sw $a3, 0x24($sp) /* 0855C8 800EC118 C62C000C */ lwc1 $f12, 0xc($s1) /* 0855CC 800EC11C 0C00A70A */ jal get_clamped_angle_diff /* 0855D0 800EC120 46000386 */ mov.s $f14, $f0 /* 0855D4 800EC124 3C0142B4 */ lui $at, 0x42b4 /* 0855D8 800EC128 44811000 */ mtc1 $at, $f2 /* 0855DC 800EC12C 46000005 */ abs.s $f0, $f0 /* 0855E0 800EC130 4600103C */ c.lt.s $f2, $f0 /* 0855E4 800EC134 00000000 */ nop /* 0855E8 800EC138 4500046A */ bc1f .L800ED2E4 /* 0855EC 800EC13C 24020005 */ addiu $v0, $zero, 5 /* 0855F0 800EC140 0803B4B7 */ j .L800ED2DC /* 0855F4 800EC144 00000000 */ nop /* 0855F8 800EC148 0C016F6A */ jal get_collider_type_by_id /* 0855FC 800EC14C 86240084 */ lh $a0, 0x84($s1) /* 085600 800EC150 3C058011 */ lui $a1, 0x8011 /* 085604 800EC154 24A5CFBC */ addiu $a1, $a1, -0x3044 /* 085608 800EC158 8CA40000 */ lw $a0, ($a1) /* 08560C 800EC15C 3C038011 */ lui $v1, 0x8011 /* 085610 800EC160 8C63CFB8 */ lw $v1, -0x3048($v1) /* 085614 800EC164 14830016 */ bne $a0, $v1, .L800EC1C0 /* 085618 800EC168 0040902D */ daddu $s2, $v0, $zero /* 08561C 800EC16C 2642FFFE */ addiu $v0, $s2, -2 /* 085620 800EC170 2C420002 */ sltiu $v0, $v0, 2 /* 085624 800EC174 1040045B */ beqz $v0, .L800ED2E4 /* 085628 800EC178 00000000 */ nop /* 08562C 800EC17C C674002C */ lwc1 $f20, 0x2c($s3) /* 085630 800EC180 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085634 800EC184 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085638 800EC188 8E660028 */ lw $a2, 0x28($s3) /* 08563C 800EC18C 8E670030 */ lw $a3, 0x30($s3) /* 085640 800EC190 46006006 */ mov.s $f0, $f12 /* 085644 800EC194 46007086 */ mov.s $f2, $f14 /* 085648 800EC198 E7A00020 */ swc1 $f0, 0x20($sp) /* 08564C 800EC19C 0C00A720 */ jal atan2 /* 085650 800EC1A0 E7A20024 */ swc1 $f2, 0x24($sp) /* 085654 800EC1A4 27A40020 */ addiu $a0, $sp, 0x20 /* 085658 800EC1A8 3C0640C0 */ lui $a2, 0x40c0 /* 08565C 800EC1AC 44070000 */ mfc1 $a3, $f0 /* 085660 800EC1B0 0C00A7E7 */ jal add_vec2D_polar /* 085664 800EC1B4 27A50024 */ addiu $a1, $sp, 0x24 /* 085668 800EC1B8 0803B07F */ j .L800EC1FC /* 08566C 800EC1BC 00000000 */ nop .L800EC1C0: /* 085670 800EC1C0 24820001 */ addiu $v0, $a0, 1 /* 085674 800EC1C4 ACA20000 */ sw $v0, ($a1) /* 085678 800EC1C8 28420028 */ slti $v0, $v0, 0x28 /* 08567C 800EC1CC 50400001 */ beql $v0, $zero, .L800EC1D4 /* 085680 800EC1D0 ACA00000 */ sw $zero, ($a1) .L800EC1D4: /* 085684 800EC1D4 8CA20000 */ lw $v0, ($a1) /* 085688 800EC1D8 3C038011 */ lui $v1, 0x8011 /* 08568C 800EC1DC 2463CD38 */ addiu $v1, $v1, -0x32c8 /* 085690 800EC1E0 00021100 */ sll $v0, $v0, 4 /* 085694 800EC1E4 00438021 */ addu $s0, $v0, $v1 /* 085698 800EC1E8 C6000004 */ lwc1 $f0, 4($s0) /* 08569C 800EC1EC C6140008 */ lwc1 $f20, 8($s0) /* 0856A0 800EC1F0 C602000C */ lwc1 $f2, 0xc($s0) /* 0856A4 800EC1F4 E7A00020 */ swc1 $f0, 0x20($sp) /* 0856A8 800EC1F8 E7A20024 */ swc1 $f2, 0x24($sp) .L800EC1FC: /* 0856AC 800EC1FC C7A00020 */ lwc1 $f0, 0x20($sp) /* 0856B0 800EC200 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0856B4 800EC204 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0856B8 800EC208 3C0140C0 */ lui $at, 0x40c0 /* 0856BC 800EC20C 44811000 */ mtc1 $at, $f2 /* 0856C0 800EC210 E6200060 */ swc1 $f0, 0x60($s1) /* 0856C4 800EC214 44060000 */ mfc1 $a2, $f0 /* 0856C8 800EC218 C7A00024 */ lwc1 $f0, 0x24($sp) /* 0856CC 800EC21C E6200068 */ swc1 $f0, 0x68($s1) /* 0856D0 800EC220 44070000 */ mfc1 $a3, $f0 /* 0856D4 800EC224 3C014040 */ lui $at, 0x4040 /* 0856D8 800EC228 44810000 */ mtc1 $at, $f0 /* 0856DC 800EC22C E6340064 */ swc1 $f20, 0x64($s1) /* 0856E0 800EC230 A620008E */ sh $zero, 0x8e($s1) /* 0856E4 800EC234 E6220018 */ swc1 $f2, 0x18($s1) /* 0856E8 800EC238 0C00A7B5 */ jal dist2D /* 0856EC 800EC23C E6200014 */ swc1 $f0, 0x14($s1) /* 0856F0 800EC240 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0856F4 800EC244 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0856F8 800EC248 8E260060 */ lw $a2, 0x60($s1) /* 0856FC 800EC24C 8E270068 */ lw $a3, 0x68($s1) /* 085700 800EC250 0C00A720 */ jal atan2 /* 085704 800EC254 E6200010 */ swc1 $f0, 0x10($s1) /* 085708 800EC258 E620000C */ swc1 $f0, 0xc($s1) /* 08570C 800EC25C C6200010 */ lwc1 $f0, 0x10($s1) /* 085710 800EC260 3C014049 */ lui $at, 0x4049 /* 085714 800EC264 44811800 */ mtc1 $at, $f3 /* 085718 800EC268 44801000 */ mtc1 $zero, $f2 /* 08571C 800EC26C 46000021 */ cvt.d.s $f0, $f0 /* 085720 800EC270 4620103C */ c.lt.d $f2, $f0 /* 085724 800EC274 00000000 */ nop /* 085728 800EC278 45000005 */ bc1f .L800EC290 /* 08572C 800EC27C 00000000 */ nop /* 085730 800EC280 3C014248 */ lui $at, 0x4248 /* 085734 800EC284 44810000 */ mtc1 $at, $f0 /* 085738 800EC288 00000000 */ nop /* 08573C 800EC28C E6200010 */ swc1 $f0, 0x10($s1) .L800EC290: /* 085740 800EC290 C6220064 */ lwc1 $f2, 0x64($s1) /* 085744 800EC294 C620003C */ lwc1 $f0, 0x3c($s1) /* 085748 800EC298 C6240010 */ lwc1 $f4, 0x10($s1) /* 08574C 800EC29C 46001081 */ sub.s $f2, $f2, $f0 /* 085750 800EC2A0 3C018011 */ lui $at, 0x8011 /* 085754 800EC2A4 C420CFC0 */ lwc1 $f0, -0x3040($at) /* 085758 800EC2A8 E7A40034 */ swc1 $f4, 0x34($sp) /* 08575C 800EC2AC 4600203C */ c.lt.s $f4, $f0 /* 085760 800EC2B0 00000000 */ nop /* 085764 800EC2B4 45000010 */ bc1f .L800EC2F8 /* 085768 800EC2B8 E7A2002C */ swc1 $f2, 0x2c($sp) /* 08576C 800EC2BC 2642FFFE */ addiu $v0, $s2, -2 /* 085770 800EC2C0 2C420002 */ sltiu $v0, $v0, 2 /* 085774 800EC2C4 1440000C */ bnez $v0, .L800EC2F8 /* 085778 800EC2C8 00000000 */ nop /* 08577C 800EC2CC C62C0038 */ lwc1 $f12, 0x38($s1) /* 085780 800EC2D0 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085784 800EC2D4 AE20001C */ sw $zero, 0x1c($s1) /* 085788 800EC2D8 8E660028 */ lw $a2, 0x28($s3) /* 08578C 800EC2DC 0C00A720 */ jal atan2 /* 085790 800EC2E0 8E670030 */ lw $a3, 0x30($s3) /* 085794 800EC2E4 E620000C */ swc1 $f0, 0xc($s1) .L800EC2E8: /* 085798 800EC2E8 3C018011 */ lui $at, 0x8011 /* 08579C 800EC2EC A420CFC8 */ sh $zero, -0x3038($at) /* 0857A0 800EC2F0 0803B4B9 */ j .L800ED2E4 /* 0857A4 800EC2F4 00000000 */ nop .L800EC2F8: /* 0857A8 800EC2F8 C6220018 */ lwc1 $f2, 0x18($s1) /* 0857AC 800EC2FC C7A00034 */ lwc1 $f0, 0x34($sp) /* 0857B0 800EC300 46020003 */ div.s $f0, $f0, $f2 /* 0857B4 800EC304 4600028D */ trunc.w.s $f10, $f0 /* 0857B8 800EC308 44025000 */ mfc1 $v0, $f10 /* 0857BC 800EC30C 00000000 */ nop /* 0857C0 800EC310 A622008E */ sh $v0, 0x8e($s1) /* 0857C4 800EC314 00021400 */ sll $v0, $v0, 0x10 /* 0857C8 800EC318 00021403 */ sra $v0, $v0, 0x10 /* 0857CC 800EC31C 2842000A */ slti $v0, $v0, 0xa /* 0857D0 800EC320 10400002 */ beqz $v0, .L800EC32C /* 0857D4 800EC324 2402000A */ addiu $v0, $zero, 0xa /* 0857D8 800EC328 A622008E */ sh $v0, 0x8e($s1) .L800EC32C: /* 0857DC 800EC32C 8622008E */ lh $v0, 0x8e($s1) /* 0857E0 800EC330 C6220014 */ lwc1 $f2, 0x14($s1) /* 0857E4 800EC334 44823000 */ mtc1 $v0, $f6 /* 0857E8 800EC338 00000000 */ nop /* 0857EC 800EC33C 468031A0 */ cvt.s.w $f6, $f6 /* 0857F0 800EC340 46061082 */ mul.s $f2, $f2, $f6 /* 0857F4 800EC344 00000000 */ nop /* 0857F8 800EC348 46061082 */ mul.s $f2, $f2, $f6 /* 0857FC 800EC34C 00000000 */ nop /* 085800 800EC350 3C013F00 */ lui $at, 0x3f00 /* 085804 800EC354 44810000 */ mtc1 $at, $f0 /* 085808 800EC358 00000000 */ nop /* 08580C 800EC35C 46001082 */ mul.s $f2, $f2, $f0 /* 085810 800EC360 00000000 */ nop /* 085814 800EC364 C7A4002C */ lwc1 $f4, 0x2c($sp) /* 085818 800EC368 C6200010 */ lwc1 $f0, 0x10($s1) /* 08581C 800EC36C 46003206 */ mov.s $f8, $f6 /* 085820 800EC370 46080003 */ div.s $f0, $f0, $f8 /* 085824 800EC374 46022100 */ add.s $f4, $f4, $f2 /* 085828 800EC378 E6200018 */ swc1 $f0, 0x18($s1) /* 08582C 800EC37C 3C014034 */ lui $at, 0x4034 /* 085830 800EC380 44811800 */ mtc1 $at, $f3 /* 085834 800EC384 44801000 */ mtc1 $zero, $f2 /* 085838 800EC388 46062103 */ div.s $f4, $f4, $f6 /* 08583C 800EC38C 46002021 */ cvt.d.s $f0, $f4 /* 085840 800EC390 4620103C */ c.lt.d $f2, $f0 /* 085844 800EC394 00000000 */ nop /* 085848 800EC398 45000005 */ bc1f .L800EC3B0 /* 08584C 800EC39C E624001C */ swc1 $f4, 0x1c($s1) /* 085850 800EC3A0 3C0141A0 */ lui $at, 0x41a0 /* 085854 800EC3A4 44810000 */ mtc1 $at, $f0 /* 085858 800EC3A8 00000000 */ nop /* 08585C 800EC3AC E620001C */ swc1 $f0, 0x1c($s1) .L800EC3B0: /* 085860 800EC3B0 C620001C */ lwc1 $f0, 0x1c($s1) /* 085864 800EC3B4 44801000 */ mtc1 $zero, $f2 /* 085868 800EC3B8 44801800 */ mtc1 $zero, $f3 /* 08586C 800EC3BC 46000021 */ cvt.d.s $f0, $f0 /* 085870 800EC3C0 4622003C */ c.lt.d $f0, $f2 /* 085874 800EC3C4 00000000 */ nop /* 085878 800EC3C8 45030001 */ bc1tl .L800EC3D0 /* 08587C 800EC3CC AE20001C */ sw $zero, 0x1c($s1) .L800EC3D0: /* 085880 800EC3D0 2642FFFE */ addiu $v0, $s2, -2 /* 085884 800EC3D4 2C420002 */ sltiu $v0, $v0, 2 /* 085888 800EC3D8 1440000B */ bnez $v0, .L800EC408 /* 08588C 800EC3DC 00000000 */ nop /* 085890 800EC3E0 3C028011 */ lui $v0, 0x8011 /* 085894 800EC3E4 8C42CFD8 */ lw $v0, -0x3028($v0) /* 085898 800EC3E8 000218C0 */ sll $v1, $v0, 3 /* 08589C 800EC3EC 00621821 */ addu $v1, $v1, $v0 /* 0858A0 800EC3F0 00031880 */ sll $v1, $v1, 2 /* 0858A4 800EC3F4 3C028010 */ lui $v0, 0x8010 /* 0858A8 800EC3F8 00431021 */ addu $v0, $v0, $v1 /* 0858AC 800EC3FC 8C428350 */ lw $v0, -0x7cb0($v0) /* 0858B0 800EC400 0803B10B */ j .L800EC42C /* 0858B4 800EC404 AE220028 */ sw $v0, 0x28($s1) .L800EC408: /* 0858B8 800EC408 3C028011 */ lui $v0, 0x8011 /* 0858BC 800EC40C 8C42CFD8 */ lw $v0, -0x3028($v0) /* 0858C0 800EC410 000218C0 */ sll $v1, $v0, 3 /* 0858C4 800EC414 00621821 */ addu $v1, $v1, $v0 /* 0858C8 800EC418 00031880 */ sll $v1, $v1, 2 /* 0858CC 800EC41C 3C028010 */ lui $v0, 0x8010 /* 0858D0 800EC420 00431021 */ addu $v0, $v0, $v1 /* 0858D4 800EC424 8C428368 */ lw $v0, -0x7c98($v0) /* 0858D8 800EC428 AE220028 */ sw $v0, 0x28($s1) .L800EC42C: /* 0858DC 800EC42C C6200038 */ lwc1 $f0, 0x38($s1) /* 0858E0 800EC430 C622003C */ lwc1 $f2, 0x3c($s1) /* 0858E4 800EC434 C6240040 */ lwc1 $f4, 0x40($s1) /* 0858E8 800EC438 8E230000 */ lw $v1, ($s1) /* 0858EC 800EC43C 24020002 */ addiu $v0, $zero, 2 /* 0858F0 800EC440 3C018011 */ lui $at, 0x8011 /* 0858F4 800EC444 A422CFC8 */ sh $v0, -0x3038($at) /* 0858F8 800EC448 34630800 */ ori $v1, $v1, 0x800 /* 0858FC 800EC44C E6200060 */ swc1 $f0, 0x60($s1) /* 085900 800EC450 E6220064 */ swc1 $f2, 0x64($s1) /* 085904 800EC454 E6240068 */ swc1 $f4, 0x68($s1) /* 085908 800EC458 AE230000 */ sw $v1, ($s1) /* 08590C 800EC45C C620001C */ lwc1 $f0, 0x1c($s1) /* 085910 800EC460 C6220014 */ lwc1 $f2, 0x14($s1) /* 085914 800EC464 46020001 */ sub.s $f0, $f0, $f2 /* 085918 800EC468 C622003C */ lwc1 $f2, 0x3c($s1) /* 08591C 800EC46C 46001080 */ add.s $f2, $f2, $f0 /* 085920 800EC470 4480A000 */ mtc1 $zero, $f20 /* 085924 800EC474 00000000 */ nop /* 085928 800EC478 4614003E */ c.le.s $f0, $f20 /* 08592C 800EC47C E620001C */ swc1 $f0, 0x1c($s1) /* 085930 800EC480 4500000A */ bc1f .L800EC4AC /* 085934 800EC484 E622003C */ swc1 $f2, 0x3c($s1) /* 085938 800EC488 3C028011 */ lui $v0, 0x8011 /* 08593C 800EC48C 8C42CFD8 */ lw $v0, -0x3028($v0) /* 085940 800EC490 000218C0 */ sll $v1, $v0, 3 /* 085944 800EC494 00621821 */ addu $v1, $v1, $v0 /* 085948 800EC498 00031880 */ sll $v1, $v1, 2 /* 08594C 800EC49C 3C028010 */ lui $v0, 0x8010 /* 085950 800EC4A0 00431021 */ addu $v0, $v0, $v1 /* 085954 800EC4A4 8C428354 */ lw $v0, -0x7cac($v0) /* 085958 800EC4A8 AE220028 */ sw $v0, 0x28($s1) .L800EC4AC: /* 08595C 800EC4AC C622003C */ lwc1 $f2, 0x3c($s1) /* 085960 800EC4B0 3C01C4FA */ lui $at, 0xc4fa /* 085964 800EC4B4 44810000 */ mtc1 $at, $f0 /* 085968 800EC4B8 00000000 */ nop /* 08596C 800EC4BC 4600103C */ c.lt.s $f2, $f0 /* 085970 800EC4C0 00000000 */ nop /* 085974 800EC4C4 4500001B */ bc1f .L800EC534 /* 085978 800EC4C8 2404F7FF */ addiu $a0, $zero, -0x801 /* 08597C 800EC4CC C62C0038 */ lwc1 $f12, 0x38($s1) /* 085980 800EC4D0 3C028011 */ lui $v0, 0x8011 /* 085984 800EC4D4 8C42CFD8 */ lw $v0, -0x3028($v0) /* 085988 800EC4D8 C62E0040 */ lwc1 $f14, 0x40($s1) /* 08598C 800EC4DC 000218C0 */ sll $v1, $v0, 3 /* 085990 800EC4E0 00621821 */ addu $v1, $v1, $v0 /* 085994 800EC4E4 00031880 */ sll $v1, $v1, 2 /* 085998 800EC4E8 8E220000 */ lw $v0, ($s1) /* 08599C 800EC4EC 3C018010 */ lui $at, 0x8010 /* 0859A0 800EC4F0 00230821 */ addu $at, $at, $v1 /* 0859A4 800EC4F4 8C238358 */ lw $v1, -0x7ca8($at) /* 0859A8 800EC4F8 E634001C */ swc1 $f20, 0x1c($s1) /* 0859AC 800EC4FC 00441024 */ and $v0, $v0, $a0 /* 0859B0 800EC500 AE220000 */ sw $v0, ($s1) /* 0859B4 800EC504 AE230028 */ sw $v1, 0x28($s1) /* 0859B8 800EC508 8E660028 */ lw $a2, 0x28($s3) /* 0859BC 800EC50C 0C00A720 */ jal atan2 /* 0859C0 800EC510 8E670030 */ lw $a3, 0x30($s3) /* 0859C4 800EC514 E620000C */ swc1 $f0, 0xc($s1) /* 0859C8 800EC518 C6600028 */ lwc1 $f0, 0x28($s3) /* 0859CC 800EC51C E6200038 */ swc1 $f0, 0x38($s1) /* 0859D0 800EC520 C660002C */ lwc1 $f0, 0x2c($s3) /* 0859D4 800EC524 E620003C */ swc1 $f0, 0x3c($s1) /* 0859D8 800EC528 C6600030 */ lwc1 $f0, 0x30($s3) /* 0859DC 800EC52C 0803B47C */ j .L800ED1F0 /* 0859E0 800EC530 24020005 */ addiu $v0, $zero, 5 .L800EC534: /* 0859E4 800EC534 C624001C */ lwc1 $f4, 0x1c($s1) /* 0859E8 800EC538 4614203E */ c.le.s $f4, $f20 /* 0859EC 800EC53C 00000000 */ nop /* 0859F0 800EC540 45000068 */ bc1f .L800EC6E4 /* 0859F4 800EC544 27A50028 */ addiu $a1, $sp, 0x28 /* 0859F8 800EC548 27A20034 */ addiu $v0, $sp, 0x34 /* 0859FC 800EC54C C6200038 */ lwc1 $f0, 0x38($s1) /* 085A00 800EC550 3C014130 */ lui $at, 0x4130 /* 085A04 800EC554 44811000 */ mtc1 $at, $f2 /* 085A08 800EC558 27A6002C */ addiu $a2, $sp, 0x2c /* 085A0C 800EC55C E7A00028 */ swc1 $f0, 0x28($sp) /* 085A10 800EC560 46002005 */ abs.s $f0, $f4 /* 085A14 800EC564 46020000 */ add.s $f0, $f0, $f2 /* 085A18 800EC568 C622003C */ lwc1 $f2, 0x3c($s1) /* 085A1C 800EC56C C6240040 */ lwc1 $f4, 0x40($s1) /* 085A20 800EC570 46001080 */ add.s $f2, $f2, $f0 /* 085A24 800EC574 E7A40030 */ swc1 $f4, 0x30($sp) /* 085A28 800EC578 E7A00034 */ swc1 $f0, 0x34($sp) /* 085A2C 800EC57C E7A2002C */ swc1 $f2, 0x2c($sp) /* 085A30 800EC580 AFA20010 */ sw $v0, 0x10($sp) /* 085A34 800EC584 C620000C */ lwc1 $f0, 0xc($s1) /* 085A38 800EC588 27A70030 */ addiu $a3, $sp, 0x30 /* 085A3C 800EC58C E7A00014 */ swc1 $f0, 0x14($sp) /* 085A40 800EC590 862200A6 */ lh $v0, 0xa6($s1) /* 085A44 800EC594 26320038 */ addiu $s2, $s1, 0x38 /* 085A48 800EC598 44820000 */ mtc1 $v0, $f0 /* 085A4C 800EC59C 00000000 */ nop /* 085A50 800EC5A0 46800020 */ cvt.s.w $f0, $f0 /* 085A54 800EC5A4 E7A00018 */ swc1 $f0, 0x18($sp) /* 085A58 800EC5A8 8E240080 */ lw $a0, 0x80($s1) /* 085A5C 800EC5AC 0C0371DE */ jal func_800DC778 /* 085A60 800EC5B0 26340040 */ addiu $s4, $s1, 0x40 /* 085A64 800EC5B4 1040004B */ beqz $v0, .L800EC6E4 /* 085A68 800EC5B8 00000000 */ nop /* 085A6C 800EC5BC C620001C */ lwc1 $f0, 0x1c($s1) /* 085A70 800EC5C0 3C0141B0 */ lui $at, 0x41b0 /* 085A74 800EC5C4 44811000 */ mtc1 $at, $f2 /* 085A78 800EC5C8 46000005 */ abs.s $f0, $f0 /* 085A7C 800EC5CC 46020000 */ add.s $f0, $f0, $f2 /* 085A80 800EC5D0 C7A20034 */ lwc1 $f2, 0x34($sp) /* 085A84 800EC5D4 4600103E */ c.le.s $f2, $f0 /* 085A88 800EC5D8 00000000 */ nop /* 085A8C 800EC5DC 45000041 */ bc1f .L800EC6E4 /* 085A90 800EC5E0 00000000 */ nop /* 085A94 800EC5E4 C7AC0028 */ lwc1 $f12, 0x28($sp) /* 085A98 800EC5E8 3C038011 */ lui $v1, 0x8011 /* 085A9C 800EC5EC 8C63CFD8 */ lw $v1, -0x3028($v1) /* 085AA0 800EC5F0 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 085AA4 800EC5F4 C7A0002C */ lwc1 $f0, 0x2c($sp) /* 085AA8 800EC5F8 000310C0 */ sll $v0, $v1, 3 /* 085AAC 800EC5FC 00431021 */ addu $v0, $v0, $v1 /* 085AB0 800EC600 00021080 */ sll $v0, $v0, 2 /* 085AB4 800EC604 3C048010 */ lui $a0, 0x8010 /* 085AB8 800EC608 00822021 */ addu $a0, $a0, $v0 /* 085ABC 800EC60C 8C848358 */ lw $a0, -0x7ca8($a0) /* 085AC0 800EC610 8E220000 */ lw $v0, ($s1) /* 085AC4 800EC614 2403F7FF */ addiu $v1, $zero, -0x801 /* 085AC8 800EC618 E634001C */ swc1 $f20, 0x1c($s1) /* 085ACC 800EC61C E620003C */ swc1 $f0, 0x3c($s1) /* 085AD0 800EC620 00431024 */ and $v0, $v0, $v1 /* 085AD4 800EC624 AE220000 */ sw $v0, ($s1) /* 085AD8 800EC628 AE240028 */ sw $a0, 0x28($s1) /* 085ADC 800EC62C 8E660028 */ lw $a2, 0x28($s3) /* 085AE0 800EC630 0C00A720 */ jal atan2 /* 085AE4 800EC634 8E670030 */ lw $a3, 0x30($s3) /* 085AE8 800EC638 0220202D */ daddu $a0, $s1, $zero /* 085AEC 800EC63C 24050002 */ addiu $a1, $zero, 2 /* 085AF0 800EC640 0C00F598 */ jal func_8003D660 /* 085AF4 800EC644 E620000C */ swc1 $f0, 0xc($s1) /* 085AF8 800EC648 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085AFC 800EC64C C62E0040 */ lwc1 $f14, 0x40($s1) /* 085B00 800EC650 8E260060 */ lw $a2, 0x60($s1) /* 085B04 800EC654 8E270068 */ lw $a3, 0x68($s1) /* 085B08 800EC658 3C108011 */ lui $s0, 0x8011 /* 085B0C 800EC65C 2610CFC8 */ addiu $s0, $s0, -0x3038 /* 085B10 800EC660 0C00A7B5 */ jal dist2D /* 085B14 800EC664 A6000000 */ sh $zero, ($s0) /* 085B18 800EC668 3C014014 */ lui $at, 0x4014 /* 085B1C 800EC66C 44811800 */ mtc1 $at, $f3 /* 085B20 800EC670 44801000 */ mtc1 $zero, $f2 /* 085B24 800EC674 E7A00034 */ swc1 $f0, 0x34($sp) /* 085B28 800EC678 46000021 */ cvt.d.s $f0, $f0 /* 085B2C 800EC67C 4622003C */ c.lt.d $f0, $f2 /* 085B30 800EC680 00000000 */ nop /* 085B34 800EC684 45000317 */ bc1f .L800ED2E4 /* 085B38 800EC688 00000000 */ nop /* 085B3C 800EC68C C6600028 */ lwc1 $f0, 0x28($s3) /* 085B40 800EC690 E6200038 */ swc1 $f0, 0x38($s1) /* 085B44 800EC694 C660002C */ lwc1 $f0, 0x2c($s3) /* 085B48 800EC698 E620003C */ swc1 $f0, 0x3c($s1) /* 085B4C 800EC69C C6600030 */ lwc1 $f0, 0x30($s3) /* 085B50 800EC6A0 E6200040 */ swc1 $f0, 0x40($s1) /* 085B54 800EC6A4 C6AC006C */ lwc1 $f12, 0x6c($s5) /* 085B58 800EC6A8 3C0142B4 */ lui $at, 0x42b4 /* 085B5C 800EC6AC 44810000 */ mtc1 $at, $f0 /* 085B60 800EC6B0 00000000 */ nop /* 085B64 800EC6B4 46006300 */ add.s $f12, $f12, $f0 /* 085B68 800EC6B8 C66000A8 */ lwc1 $f0, 0xa8($s3) /* 085B6C 800EC6BC 0C00A6C9 */ jal clamp_angle /* 085B70 800EC6C0 46006301 */ sub.s $f12, $f12, $f0 /* 085B74 800EC6C4 0240202D */ daddu $a0, $s2, $zero /* 085B78 800EC6C8 3C0640A0 */ lui $a2, 0x40a0 /* 085B7C 800EC6CC 44070000 */ mfc1 $a3, $f0 /* 085B80 800EC6D0 0C00A7E7 */ jal add_vec2D_polar /* 085B84 800EC6D4 0280282D */ daddu $a1, $s4, $zero /* 085B88 800EC6D8 24020005 */ addiu $v0, $zero, 5 /* 085B8C 800EC6DC 0803B4B9 */ j .L800ED2E4 /* 085B90 800EC6E0 A6020000 */ sh $v0, ($s0) .L800EC6E4: /* 085B94 800EC6E4 8E250018 */ lw $a1, 0x18($s1) /* 085B98 800EC6E8 8E26000C */ lw $a2, 0xc($s1) /* 085B9C 800EC6EC 0C00EA95 */ jal npc_move_heading /* 085BA0 800EC6F0 0220202D */ daddu $a0, $s1, $zero /* 085BA4 800EC6F4 0803B4B9 */ j .L800ED2E4 /* 085BA8 800EC6F8 00000000 */ nop /* 085BAC 800EC6FC 3C038011 */ lui $v1, 0x8011 /* 085BB0 800EC700 2463CD38 */ addiu $v1, $v1, -0x32c8 /* 085BB4 800EC704 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085BB8 800EC708 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085BBC 800EC70C 8E660028 */ lw $a2, 0x28($s3) /* 085BC0 800EC710 8E670030 */ lw $a3, 0x30($s3) /* 085BC4 800EC714 3C028011 */ lui $v0, 0x8011 /* 085BC8 800EC718 8C42CFBC */ lw $v0, -0x3044($v0) /* 085BCC 800EC71C C620003C */ lwc1 $f0, 0x3c($s1) /* 085BD0 800EC720 00021100 */ sll $v0, $v0, 4 /* 085BD4 800EC724 00438021 */ addu $s0, $v0, $v1 /* 085BD8 800EC728 46006106 */ mov.s $f4, $f12 /* 085BDC 800EC72C C6060004 */ lwc1 $f6, 4($s0) /* 085BE0 800EC730 C608000C */ lwc1 $f8, 0xc($s0) /* 085BE4 800EC734 46007086 */ mov.s $f2, $f14 /* 085BE8 800EC738 E7A40028 */ swc1 $f4, 0x28($sp) /* 085BEC 800EC73C E7A0002C */ swc1 $f0, 0x2c($sp) /* 085BF0 800EC740 E7A20030 */ swc1 $f2, 0x30($sp) /* 085BF4 800EC744 E7A60020 */ swc1 $f6, 0x20($sp) /* 085BF8 800EC748 0C00A7B5 */ jal dist2D /* 085BFC 800EC74C E7A80024 */ swc1 $f8, 0x24($sp) /* 085C00 800EC750 3C018011 */ lui $at, 0x8011 /* 085C04 800EC754 C422CFC0 */ lwc1 $f2, -0x3040($at) /* 085C08 800EC758 4602003E */ c.le.s $f0, $f2 /* 085C0C 800EC75C 00000000 */ nop /* 085C10 800EC760 450000E3 */ bc1f .L800ECAF0 /* 085C14 800EC764 E7A00034 */ swc1 $f0, 0x34($sp) /* 085C18 800EC768 3C048011 */ lui $a0, 0x8011 /* 085C1C 800EC76C 2484CFCA */ addiu $a0, $a0, -0x3036 /* 085C20 800EC770 84820000 */ lh $v0, ($a0) /* 085C24 800EC774 14400019 */ bnez $v0, .L800EC7DC /* 085C28 800EC778 00000000 */ nop /* 085C2C 800EC77C 3C038011 */ lui $v1, 0x8011 /* 085C30 800EC780 8C63CFD8 */ lw $v1, -0x3028($v1) /* 085C34 800EC784 AE200018 */ sw $zero, 0x18($s1) /* 085C38 800EC788 AE200014 */ sw $zero, 0x14($s1) /* 085C3C 800EC78C 000310C0 */ sll $v0, $v1, 3 /* 085C40 800EC790 00431021 */ addu $v0, $v0, $v1 /* 085C44 800EC794 00021080 */ sll $v0, $v0, 2 /* 085C48 800EC798 3C018010 */ lui $at, 0x8010 /* 085C4C 800EC79C 00220821 */ addu $at, $at, $v0 /* 085C50 800EC7A0 8C22835C */ lw $v0, -0x7ca4($at) /* 085C54 800EC7A4 AE220028 */ sw $v0, 0x28($s1) /* 085C58 800EC7A8 826300B4 */ lb $v1, 0xb4($s3) /* 085C5C 800EC7AC 2402000C */ addiu $v0, $zero, 0xc /* 085C60 800EC7B0 50620001 */ beql $v1, $v0, .L800EC7B8 /* 085C64 800EC7B4 A4800000 */ sh $zero, ($a0) .L800EC7B8: /* 085C68 800EC7B8 86240084 */ lh $a0, 0x84($s1) /* 085C6C 800EC7BC 0C016F6A */ jal get_collider_type_by_id /* 085C70 800EC7C0 00000000 */ nop /* 085C74 800EC7C4 2442FFFE */ addiu $v0, $v0, -2 /* 085C78 800EC7C8 2C420002 */ sltiu $v0, $v0, 2 /* 085C7C 800EC7CC 104000C8 */ beqz $v0, .L800ECAF0 /* 085C80 800EC7D0 00000000 */ nop /* 085C84 800EC7D4 0803B0BA */ j .L800EC2E8 /* 085C88 800EC7D8 00000000 */ nop .L800EC7DC: /* 085C8C 800EC7DC C66200A8 */ lwc1 $f2, 0xa8($s3) /* 085C90 800EC7E0 3C014334 */ lui $at, 0x4334 /* 085C94 800EC7E4 44810000 */ mtc1 $at, $f0 /* 085C98 800EC7E8 C6AC006C */ lwc1 $f12, 0x6c($s5) /* 085C9C 800EC7EC 4600103C */ c.lt.s $f2, $f0 /* 085CA0 800EC7F0 3C01C2B4 */ lui $at, 0xc2b4 /* 085CA4 800EC7F4 44810000 */ mtc1 $at, $f0 /* 085CA8 800EC7F8 45000003 */ bc1f .L800EC808 /* 085CAC 800EC7FC 00000000 */ nop /* 085CB0 800EC800 3C0142B4 */ lui $at, 0x42b4 /* 085CB4 800EC804 44810000 */ mtc1 $at, $f0 .L800EC808: /* 085CB8 800EC808 0C00A6C9 */ jal clamp_angle /* 085CBC 800EC80C 46006300 */ add.s $f12, $f12, $f0 /* 085CC0 800EC810 44070000 */ mfc1 $a3, $f0 /* 085CC4 800EC814 C6600028 */ lwc1 $f0, 0x28($s3) /* 085CC8 800EC818 3C018011 */ lui $at, 0x8011 /* 085CCC 800EC81C C424CFC0 */ lwc1 $f4, -0x3040($at) /* 085CD0 800EC820 26240060 */ addiu $a0, $s1, 0x60 /* 085CD4 800EC824 E6200060 */ swc1 $f0, 0x60($s1) /* 085CD8 800EC828 3C014120 */ lui $at, 0x4120 /* 085CDC 800EC82C 44810000 */ mtc1 $at, $f0 /* 085CE0 800EC830 C662002C */ lwc1 $f2, 0x2c($s3) /* 085CE4 800EC834 46002101 */ sub.s $f4, $f4, $f0 /* 085CE8 800EC838 E6220064 */ swc1 $f2, 0x64($s1) /* 085CEC 800EC83C C6600030 */ lwc1 $f0, 0x30($s3) /* 085CF0 800EC840 44062000 */ mfc1 $a2, $f4 /* 085CF4 800EC844 26250068 */ addiu $a1, $s1, 0x68 /* 085CF8 800EC848 0C00A7E7 */ jal add_vec2D_polar /* 085CFC 800EC84C E6200068 */ swc1 $f0, 0x68($s1) /* 085D00 800EC850 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085D04 800EC854 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085D08 800EC858 8E260060 */ lw $a2, 0x60($s1) /* 085D0C 800EC85C 0C00A720 */ jal atan2 /* 085D10 800EC860 8E270068 */ lw $a3, 0x68($s1) /* 085D14 800EC864 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085D18 800EC868 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085D1C 800EC86C 8E260060 */ lw $a2, 0x60($s1) /* 085D20 800EC870 8E270068 */ lw $a3, 0x68($s1) /* 085D24 800EC874 0C00A7B5 */ jal dist2D /* 085D28 800EC878 46000506 */ mov.s $f20, $f0 /* 085D2C 800EC87C 3C014000 */ lui $at, 0x4000 /* 085D30 800EC880 44811000 */ mtc1 $at, $f2 /* 085D34 800EC884 E7A00034 */ swc1 $f0, 0x34($sp) /* 085D38 800EC888 4600103C */ c.lt.s $f2, $f0 /* 085D3C 800EC88C 00000000 */ nop /* 085D40 800EC890 45000022 */ bc1f .L800EC91C /* 085D44 800EC894 E6220018 */ swc1 $f2, 0x18($s1) /* 085D48 800EC898 3C038011 */ lui $v1, 0x8011 /* 085D4C 800EC89C 8C63CFD8 */ lw $v1, -0x3028($v1) /* 085D50 800EC8A0 3C048010 */ lui $a0, 0x8010 /* 085D54 800EC8A4 24848348 */ addiu $a0, $a0, -0x7cb8 /* 085D58 800EC8A8 E634000C */ swc1 $f20, 0xc($s1) /* 085D5C 800EC8AC 000310C0 */ sll $v0, $v1, 3 /* 085D60 800EC8B0 00431021 */ addu $v0, $v0, $v1 /* 085D64 800EC8B4 00021080 */ sll $v0, $v0, 2 /* 085D68 800EC8B8 00442021 */ addu $a0, $v0, $a0 /* 085D6C 800EC8BC 8E220000 */ lw $v0, ($s1) /* 085D70 800EC8C0 8C830018 */ lw $v1, 0x18($a0) /* 085D74 800EC8C4 30424000 */ andi $v0, $v0, 0x4000 /* 085D78 800EC8C8 14400004 */ bnez $v0, .L800EC8DC /* 085D7C 800EC8CC AE230028 */ sw $v1, 0x28($s1) /* 085D80 800EC8D0 3C018010 */ lui $at, 0x8010 /* 085D84 800EC8D4 0803B263 */ j .L800EC98C /* 085D88 800EC8D8 A420803A */ sh $zero, -0x7fc6($at) .L800EC8DC: /* 085D8C 800EC8DC 3C038010 */ lui $v1, 0x8010 /* 085D90 800EC8E0 2463803A */ addiu $v1, $v1, -0x7fc6 /* 085D94 800EC8E4 94620000 */ lhu $v0, ($v1) /* 085D98 800EC8E8 24420001 */ addiu $v0, $v0, 1 /* 085D9C 800EC8EC A4620000 */ sh $v0, ($v1) /* 085DA0 800EC8F0 00021400 */ sll $v0, $v0, 0x10 /* 085DA4 800EC8F4 00021403 */ sra $v0, $v0, 0x10 /* 085DA8 800EC8F8 2842000B */ slti $v0, $v0, 0xb /* 085DAC 800EC8FC 14400023 */ bnez $v0, .L800EC98C /* 085DB0 800EC900 00000000 */ nop /* 085DB4 800EC904 C6740080 */ lwc1 $f20, 0x80($s3) /* 085DB8 800EC908 AE200018 */ sw $zero, 0x18($s1) /* 085DBC 800EC90C AE200014 */ sw $zero, 0x14($s1) /* 085DC0 800EC910 E6340034 */ swc1 $f20, 0x34($s1) /* 085DC4 800EC914 0803B258 */ j .L800EC960 /* 085DC8 800EC918 8C820014 */ lw $v0, 0x14($a0) .L800EC91C: /* 085DCC 800EC91C C62C0038 */ lwc1 $f12, 0x38($s1) /* 085DD0 800EC920 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085DD4 800EC924 8E660028 */ lw $a2, 0x28($s3) /* 085DD8 800EC928 0C00A720 */ jal atan2 /* 085DDC 800EC92C 8E670030 */ lw $a3, 0x30($s3) /* 085DE0 800EC930 3C038011 */ lui $v1, 0x8011 /* 085DE4 800EC934 8C63CFD8 */ lw $v1, -0x3028($v1) /* 085DE8 800EC938 46000506 */ mov.s $f20, $f0 /* 085DEC 800EC93C E634000C */ swc1 $f20, 0xc($s1) /* 085DF0 800EC940 AE200018 */ sw $zero, 0x18($s1) /* 085DF4 800EC944 AE200014 */ sw $zero, 0x14($s1) /* 085DF8 800EC948 000310C0 */ sll $v0, $v1, 3 /* 085DFC 800EC94C 00431021 */ addu $v0, $v0, $v1 /* 085E00 800EC950 00021080 */ sll $v0, $v0, 2 /* 085E04 800EC954 3C018010 */ lui $at, 0x8010 /* 085E08 800EC958 00220821 */ addu $at, $at, $v0 /* 085E0C 800EC95C 8C22835C */ lw $v0, -0x7ca4($at) .L800EC960: /* 085E10 800EC960 3C048011 */ lui $a0, 0x8011 /* 085E14 800EC964 2484CFCA */ addiu $a0, $a0, -0x3036 /* 085E18 800EC968 AE220028 */ sw $v0, 0x28($s1) /* 085E1C 800EC96C 84830000 */ lh $v1, ($a0) /* 085E20 800EC970 24020002 */ addiu $v0, $zero, 2 /* 085E24 800EC974 10620004 */ beq $v1, $v0, .L800EC988 /* 085E28 800EC978 2402000C */ addiu $v0, $zero, 0xc /* 085E2C 800EC97C 826300B4 */ lb $v1, 0xb4($s3) /* 085E30 800EC980 14620002 */ bne $v1, $v0, .L800EC98C /* 085E34 800EC984 00000000 */ nop .L800EC988: /* 085E38 800EC988 A4800000 */ sh $zero, ($a0) .L800EC98C: /* 085E3C 800EC98C 8E250018 */ lw $a1, 0x18($s1) /* 085E40 800EC990 4406A000 */ mfc1 $a2, $f20 /* 085E44 800EC994 0220202D */ daddu $a0, $s1, $zero /* 085E48 800EC998 0C00EA95 */ jal npc_move_heading /* 085E4C 800EC99C E634000C */ swc1 $f20, 0xc($s1) /* 085E50 800EC9A0 C6200018 */ lwc1 $f0, 0x18($s1) /* 085E54 800EC9A4 3C014010 */ lui $at, 0x4010 /* 085E58 800EC9A8 44811800 */ mtc1 $at, $f3 /* 085E5C 800EC9AC 44801000 */ mtc1 $zero, $f2 /* 085E60 800EC9B0 46000021 */ cvt.d.s $f0, $f0 /* 085E64 800EC9B4 4622003C */ c.lt.d $f0, $f2 /* 085E68 800EC9B8 00000000 */ nop /* 085E6C 800EC9BC 45000002 */ bc1f .L800EC9C8 /* 085E70 800EC9C0 24050001 */ addiu $a1, $zero, 1 /* 085E74 800EC9C4 0000282D */ daddu $a1, $zero, $zero .L800EC9C8: /* 085E78 800EC9C8 0C00F598 */ jal func_8003D660 /* 085E7C 800EC9CC 0220202D */ daddu $a0, $s1, $zero /* 085E80 800EC9D0 862200A8 */ lh $v0, 0xa8($s1) /* 085E84 800EC9D4 3C01447A */ lui $at, 0x447a /* 085E88 800EC9D8 44810000 */ mtc1 $at, $f0 /* 085E8C 800EC9DC 44822000 */ mtc1 $v0, $f4 /* 085E90 800EC9E0 00000000 */ nop /* 085E94 800EC9E4 46802120 */ cvt.s.w $f4, $f4 /* 085E98 800EC9E8 27A20034 */ addiu $v0, $sp, 0x34 /* 085E9C 800EC9EC E7A00034 */ swc1 $f0, 0x34($sp) /* 085EA0 800EC9F0 C6260038 */ lwc1 $f6, 0x38($s1) /* 085EA4 800EC9F4 C620003C */ lwc1 $f0, 0x3c($s1) /* 085EA8 800EC9F8 C6220040 */ lwc1 $f2, 0x40($s1) /* 085EAC 800EC9FC 46040000 */ add.s $f0, $f0, $f4 /* 085EB0 800ECA00 E7A60028 */ swc1 $f6, 0x28($sp) /* 085EB4 800ECA04 E7A20030 */ swc1 $f2, 0x30($sp) /* 085EB8 800ECA08 E7A0002C */ swc1 $f0, 0x2c($sp) /* 085EBC 800ECA0C AFA20010 */ sw $v0, 0x10($sp) /* 085EC0 800ECA10 C620000C */ lwc1 $f0, 0xc($s1) /* 085EC4 800ECA14 27A50028 */ addiu $a1, $sp, 0x28 /* 085EC8 800ECA18 E7A00014 */ swc1 $f0, 0x14($sp) /* 085ECC 800ECA1C 862200A6 */ lh $v0, 0xa6($s1) /* 085ED0 800ECA20 27A6002C */ addiu $a2, $sp, 0x2c /* 085ED4 800ECA24 44820000 */ mtc1 $v0, $f0 /* 085ED8 800ECA28 00000000 */ nop /* 085EDC 800ECA2C 46800020 */ cvt.s.w $f0, $f0 /* 085EE0 800ECA30 E7A00018 */ swc1 $f0, 0x18($sp) /* 085EE4 800ECA34 8E240080 */ lw $a0, 0x80($s1) /* 085EE8 800ECA38 0C0371DE */ jal func_800DC778 /* 085EEC 800ECA3C 27A70030 */ addiu $a3, $sp, 0x30 /* 085EF0 800ECA40 10400228 */ beqz $v0, .L800ED2E4 /* 085EF4 800ECA44 00000000 */ nop /* 085EF8 800ECA48 3C108011 */ lui $s0, 0x8011 /* 085EFC 800ECA4C 2610C978 */ addiu $s0, $s0, -0x3688 /* 085F00 800ECA50 0C016F6A */ jal get_collider_type_by_id /* 085F04 800ECA54 8E040000 */ lw $a0, ($s0) /* 085F08 800ECA58 2442FFFE */ addiu $v0, $v0, -2 /* 085F0C 800ECA5C 2C420002 */ sltiu $v0, $v0, 2 /* 085F10 800ECA60 10400020 */ beqz $v0, .L800ECAE4 /* 085F14 800ECA64 00000000 */ nop /* 085F18 800ECA68 3C014334 */ lui $at, 0x4334 /* 085F1C 800ECA6C 44816000 */ mtc1 $at, $f12 /* 085F20 800ECA70 0C00A6C9 */ jal clamp_angle /* 085F24 800ECA74 460CA300 */ add.s $f12, $f20, $f12 /* 085F28 800ECA78 8E250018 */ lw $a1, 0x18($s1) /* 085F2C 800ECA7C 44060000 */ mfc1 $a2, $f0 /* 085F30 800ECA80 0220202D */ daddu $a0, $s1, $zero /* 085F34 800ECA84 0C00EA95 */ jal npc_move_heading /* 085F38 800ECA88 AE26000C */ sw $a2, 0xc($s1) /* 085F3C 800ECA8C 3C038011 */ lui $v1, 0x8011 /* 085F40 800ECA90 8C63CFD8 */ lw $v1, -0x3028($v1) /* 085F44 800ECA94 AE200018 */ sw $zero, 0x18($s1) /* 085F48 800ECA98 AE200014 */ sw $zero, 0x14($s1) /* 085F4C 800ECA9C 000310C0 */ sll $v0, $v1, 3 /* 085F50 800ECAA0 00431021 */ addu $v0, $v0, $v1 /* 085F54 800ECAA4 00021080 */ sll $v0, $v0, 2 /* 085F58 800ECAA8 3C018010 */ lui $at, 0x8010 /* 085F5C 800ECAAC 00220821 */ addu $at, $at, $v0 /* 085F60 800ECAB0 8C22835C */ lw $v0, -0x7ca4($at) /* 085F64 800ECAB4 3C048011 */ lui $a0, 0x8011 /* 085F68 800ECAB8 2484CFCA */ addiu $a0, $a0, -0x3036 /* 085F6C 800ECABC AE220028 */ sw $v0, 0x28($s1) /* 085F70 800ECAC0 84830000 */ lh $v1, ($a0) /* 085F74 800ECAC4 24020002 */ addiu $v0, $zero, 2 /* 085F78 800ECAC8 10620177 */ beq $v1, $v0, .L800ED0A8 /* 085F7C 800ECACC 2402000C */ addiu $v0, $zero, 0xc /* 085F80 800ECAD0 826300B4 */ lb $v1, 0xb4($s3) /* 085F84 800ECAD4 14620203 */ bne $v1, $v0, .L800ED2E4 /* 085F88 800ECAD8 00000000 */ nop /* 085F8C 800ECADC 0803B4B9 */ j .L800ED2E4 /* 085F90 800ECAE0 A4800000 */ sh $zero, ($a0) .L800ECAE4: /* 085F94 800ECAE4 8E040000 */ lw $a0, ($s0) /* 085F98 800ECAE8 0803B2C9 */ j .L800ECB24 /* 085F9C 800ECAEC 00000000 */ nop .L800ECAF0: /* 085FA0 800ECAF0 C62C0038 */ lwc1 $f12, 0x38($s1) /* 085FA4 800ECAF4 C62E0040 */ lwc1 $f14, 0x40($s1) /* 085FA8 800ECAF8 8E660028 */ lw $a2, 0x28($s3) /* 085FAC 800ECAFC 0C00A7B5 */ jal dist2D /* 085FB0 800ECB00 8E670030 */ lw $a3, 0x30($s3) /* 085FB4 800ECB04 3C018011 */ lui $at, 0x8011 /* 085FB8 800ECB08 C422CFC0 */ lwc1 $f2, -0x3040($at) /* 085FBC 800ECB0C 4602003E */ c.le.s $f0, $f2 /* 085FC0 800ECB10 00000000 */ nop /* 085FC4 800ECB14 4500000B */ bc1f .L800ECB44 /* 085FC8 800ECB18 E7A00034 */ swc1 $f0, 0x34($sp) /* 085FCC 800ECB1C 3C048011 */ lui $a0, 0x8011 /* 085FD0 800ECB20 8C84C978 */ lw $a0, -0x3688($a0) .L800ECB24: /* 085FD4 800ECB24 0C03A92C */ jal func_800EA4B0 /* 085FD8 800ECB28 00000000 */ nop /* 085FDC 800ECB2C 144001ED */ bnez $v0, .L800ED2E4 /* 085FE0 800ECB30 24020002 */ addiu $v0, $zero, 2 /* 085FE4 800ECB34 3C018011 */ lui $at, 0x8011 /* 085FE8 800ECB38 A422CFCA */ sh $v0, -0x3036($at) /* 085FEC 800ECB3C 0803B4B9 */ j .L800ED2E4 /* 085FF0 800ECB40 00000000 */ nop .L800ECB44: /* 085FF4 800ECB44 3C0142B4 */ lui $at, 0x42b4 /* 085FF8 800ECB48 4481B000 */ mtc1 $at, $f22 /* 085FFC 800ECB4C 3C128011 */ lui $s2, 0x8011 /* 086000 800ECB50 2652CFBC */ addiu $s2, $s2, -0x3044 /* 086004 800ECB54 3C148011 */ lui $s4, 0x8011 /* 086008 800ECB58 2694CD38 */ addiu $s4, $s4, -0x32c8 .L800ECB5C: /* 08600C 800ECB5C 82020000 */ lb $v0, ($s0) /* 086010 800ECB60 14400028 */ bnez $v0, .L800ECC04 /* 086014 800ECB64 00000000 */ nop /* 086018 800ECB68 C62C0038 */ lwc1 $f12, 0x38($s1) /* 08601C 800ECB6C C62E0040 */ lwc1 $f14, 0x40($s1) /* 086020 800ECB70 8FA60020 */ lw $a2, 0x20($sp) /* 086024 800ECB74 0C00A720 */ jal atan2 /* 086028 800ECB78 8FA70024 */ lw $a3, 0x24($sp) /* 08602C 800ECB7C C62C0038 */ lwc1 $f12, 0x38($s1) /* 086030 800ECB80 C62E0040 */ lwc1 $f14, 0x40($s1) /* 086034 800ECB84 8E660028 */ lw $a2, 0x28($s3) /* 086038 800ECB88 8E670030 */ lw $a3, 0x30($s3) /* 08603C 800ECB8C 0C00A720 */ jal atan2 /* 086040 800ECB90 46000506 */ mov.s $f20, $f0 /* 086044 800ECB94 4600A306 */ mov.s $f12, $f20 /* 086048 800ECB98 0C00A70A */ jal get_clamped_angle_diff /* 08604C 800ECB9C 46000386 */ mov.s $f14, $f0 /* 086050 800ECBA0 46000005 */ abs.s $f0, $f0 /* 086054 800ECBA4 4616003C */ c.lt.s $f0, $f22 /* 086058 800ECBA8 00000000 */ nop /* 08605C 800ECBAC 45010012 */ bc1t .L800ECBF8 /* 086060 800ECBB0 00000000 */ nop /* 086064 800ECBB4 8E430000 */ lw $v1, ($s2) /* 086068 800ECBB8 3C028011 */ lui $v0, 0x8011 /* 08606C 800ECBBC 8C42CFB8 */ lw $v0, -0x3048($v0) /* 086070 800ECBC0 1062000D */ beq $v1, $v0, .L800ECBF8 /* 086074 800ECBC4 24620001 */ addiu $v0, $v1, 1 /* 086078 800ECBC8 AE420000 */ sw $v0, ($s2) /* 08607C 800ECBCC 28420028 */ slti $v0, $v0, 0x28 /* 086080 800ECBD0 50400001 */ beql $v0, $zero, .L800ECBD8 /* 086084 800ECBD4 AE400000 */ sw $zero, ($s2) .L800ECBD8: /* 086088 800ECBD8 8E420000 */ lw $v0, ($s2) /* 08608C 800ECBDC 00021100 */ sll $v0, $v0, 4 /* 086090 800ECBE0 00548021 */ addu $s0, $v0, $s4 /* 086094 800ECBE4 C6000004 */ lwc1 $f0, 4($s0) /* 086098 800ECBE8 C602000C */ lwc1 $f2, 0xc($s0) /* 08609C 800ECBEC E7A00020 */ swc1 $f0, 0x20($sp) /* 0860A0 800ECBF0 0803B2D7 */ j .L800ECB5C /* 0860A4 800ECBF4 E7A20024 */ swc1 $f2, 0x24($sp) .L800ECBF8: /* 0860A8 800ECBF8 82020000 */ lb $v0, ($s0) /* 0860AC 800ECBFC 1040FDBA */ beqz $v0, .L800EC2E8 /* 0860B0 800ECC00 00000000 */ nop .L800ECC04: /* 0860B4 800ECC04 3C0142B4 */ lui $at, 0x42b4 /* 0860B8 800ECC08 4481B000 */ mtc1 $at, $f22 /* 0860BC 800ECC0C 3C128011 */ lui $s2, 0x8011 /* 0860C0 800ECC10 2652CFBC */ addiu $s2, $s2, -0x3044 /* 0860C4 800ECC14 3C148011 */ lui $s4, 0x8011 /* 0860C8 800ECC18 2694CD38 */ addiu $s4, $s4, -0x32c8 .L800ECC1C: /* 0860CC 800ECC1C 82020000 */ lb $v0, ($s0) /* 0860D0 800ECC20 104001AE */ beqz $v0, .L800ED2DC /* 0860D4 800ECC24 24020001 */ addiu $v0, $zero, 1 /* 0860D8 800ECC28 C62C0038 */ lwc1 $f12, 0x38($s1) /* 0860DC 800ECC2C C62E0040 */ lwc1 $f14, 0x40($s1) /* 0860E0 800ECC30 8FA60020 */ lw $a2, 0x20($sp) /* 0860E4 800ECC34 0C00A720 */ jal atan2 /* 0860E8 800ECC38 8FA70024 */ lw $a3, 0x24($sp) /* 0860EC 800ECC3C C62C0038 */ lwc1 $f12, 0x38($s1) /* 0860F0 800ECC40 C62E0040 */ lwc1 $f14, 0x40($s1) /* 0860F4 800ECC44 8E660028 */ lw $a2, 0x28($s3) /* 0860F8 800ECC48 8E670030 */ lw $a3, 0x30($s3) /* 0860FC 800ECC4C 0C00A720 */ jal atan2 /* 086100 800ECC50 46000506 */ mov.s $f20, $f0 /* 086104 800ECC54 4600A306 */ mov.s $f12, $f20 /* 086108 800ECC58 0C00A70A */ jal get_clamped_angle_diff /* 08610C 800ECC5C 46000386 */ mov.s $f14, $f0 /* 086110 800ECC60 46000005 */ abs.s $f0, $f0 /* 086114 800ECC64 4616003C */ c.lt.s $f0, $f22 /* 086118 800ECC68 00000000 */ nop /* 08611C 800ECC6C 4501019B */ bc1t .L800ED2DC /* 086120 800ECC70 24020001 */ addiu $v0, $zero, 1 /* 086124 800ECC74 8E430000 */ lw $v1, ($s2) /* 086128 800ECC78 3C028011 */ lui $v0, 0x8011 /* 08612C 800ECC7C 8C42CFB8 */ lw $v0, -0x3048($v0) /* 086130 800ECC80 1062000D */ beq $v1, $v0, .L800ECCB8 /* 086134 800ECC84 24620001 */ addiu $v0, $v1, 1 /* 086138 800ECC88 AE420000 */ sw $v0, ($s2) /* 08613C 800ECC8C 28420028 */ slti $v0, $v0, 0x28 /* 086140 800ECC90 50400001 */ beql $v0, $zero, .L800ECC98 /* 086144 800ECC94 AE400000 */ sw $zero, ($s2) .L800ECC98: /* 086148 800ECC98 8E420000 */ lw $v0, ($s2) /* 08614C 800ECC9C 00021100 */ sll $v0, $v0, 4 /* 086150 800ECCA0 00548021 */ addu $s0, $v0, $s4 /* 086154 800ECCA4 C6000004 */ lwc1 $f0, 4($s0) /* 086158 800ECCA8 C602000C */ lwc1 $f2, 0xc($s0) /* 08615C 800ECCAC E7A00020 */ swc1 $f0, 0x20($sp) /* 086160 800ECCB0 0803B307 */ j .L800ECC1C /* 086164 800ECCB4 E7A20024 */ swc1 $f2, 0x24($sp) .L800ECCB8: /* 086168 800ECCB8 0803B4B7 */ j .L800ED2DC /* 08616C 800ECCBC 24020001 */ addiu $v0, $zero, 1 /* 086170 800ECCC0 3C048011 */ lui $a0, 0x8011 /* 086174 800ECCC4 2484CFCE */ addiu $a0, $a0, -0x3032 /* 086178 800ECCC8 84830000 */ lh $v1, ($a0) /* 08617C 800ECCCC 24020001 */ addiu $v0, $zero, 1 /* 086180 800ECCD0 10620050 */ beq $v1, $v0, .L800ECE14 /* 086184 800ECCD4 28620002 */ slti $v0, $v1, 2 /* 086188 800ECCD8 50400005 */ beql $v0, $zero, .L800ECCF0 /* 08618C 800ECCDC 24020002 */ addiu $v0, $zero, 2 /* 086190 800ECCE0 10600007 */ beqz $v1, .L800ECD00 /* 086194 800ECCE4 00000000 */ nop /* 086198 800ECCE8 0803B4B9 */ j .L800ED2E4 /* 08619C 800ECCEC 00000000 */ nop .L800ECCF0: /* 0861A0 800ECCF0 106200E2 */ beq $v1, $v0, .L800ED07C /* 0861A4 800ECCF4 00000000 */ nop /* 0861A8 800ECCF8 0803B4B9 */ j .L800ED2E4 /* 0861AC 800ECCFC 00000000 */ nop .L800ECD00: /* 0861B0 800ECD00 0C0394D2 */ jal func_800E5348 /* 0861B4 800ECD04 00000000 */ nop /* 0861B8 800ECD08 3C014334 */ lui $at, 0x4334 /* 0861BC 800ECD0C 44816000 */ mtc1 $at, $f12 /* 0861C0 800ECD10 0C00A6C9 */ jal clamp_angle /* 0861C4 800ECD14 460C0300 */ add.s $f12, $f0, $f12 /* 0861C8 800ECD18 C6620028 */ lwc1 $f2, 0x28($s3) /* 0861CC 800ECD1C E6220060 */ swc1 $f2, 0x60($s1) /* 0861D0 800ECD20 C662002C */ lwc1 $f2, 0x2c($s3) /* 0861D4 800ECD24 E6220064 */ swc1 $f2, 0x64($s1) /* 0861D8 800ECD28 C6620030 */ lwc1 $f2, 0x30($s3) /* 0861DC 800ECD2C 26240060 */ addiu $a0, $s1, 0x60 /* 0861E0 800ECD30 E6220068 */ swc1 $f2, 0x68($s1) /* 0861E4 800ECD34 866200B2 */ lh $v0, 0xb2($s3) /* 0861E8 800ECD38 44070000 */ mfc1 $a3, $f0 /* 0861EC 800ECD3C 44825000 */ mtc1 $v0, $f10 /* 0861F0 800ECD40 00000000 */ nop /* 0861F4 800ECD44 468052A0 */ cvt.s.w $f10, $f10 /* 0861F8 800ECD48 44065000 */ mfc1 $a2, $f10 /* 0861FC 800ECD4C 0C00A7E7 */ jal add_vec2D_polar /* 086200 800ECD50 26250068 */ addiu $a1, $s1, 0x68 /* 086204 800ECD54 C62C0038 */ lwc1 $f12, 0x38($s1) /* 086208 800ECD58 C62E0040 */ lwc1 $f14, 0x40($s1) /* 08620C 800ECD5C 8E260060 */ lw $a2, 0x60($s1) /* 086210 800ECD60 0C00A7B5 */ jal dist2D /* 086214 800ECD64 8E270068 */ lw $a3, 0x68($s1) /* 086218 800ECD68 3C018010 */ lui $at, 0x8010 /* 08621C 800ECD6C C422802C */ lwc1 $f2, -0x7fd4($at) /* 086220 800ECD70 468010A0 */ cvt.s.w $f2, $f2 /* 086224 800ECD74 E7A00034 */ swc1 $f0, 0x34($sp) /* 086228 800ECD78 46020003 */ div.s $f0, $f0, $f2 /* 08622C 800ECD7C 3C018010 */ lui $at, 0x8010 /* 086230 800ECD80 E4208030 */ swc1 $f0, -0x7fd0($at) /* 086234 800ECD84 E6200018 */ swc1 $f0, 0x18($s1) /* 086238 800ECD88 46000021 */ cvt.d.s $f0, $f0 /* 08623C 800ECD8C 26240028 */ addiu $a0, $s1, 0x28 /* 086240 800ECD90 3C038011 */ lui $v1, 0x8011 /* 086244 800ECD94 8C63CFD8 */ lw $v1, -0x3028($v1) /* 086248 800ECD98 3C014010 */ lui $at, 0x4010 /* 08624C 800ECD9C 44811800 */ mtc1 $at, $f3 /* 086250 800ECDA0 44801000 */ mtc1 $zero, $f2 /* 086254 800ECDA4 000310C0 */ sll $v0, $v1, 3 /* 086258 800ECDA8 00431021 */ addu $v0, $v0, $v1 /* 08625C 800ECDAC 4620103E */ c.le.d $f2, $f0 /* 086260 800ECDB0 00000000 */ nop /* 086264 800ECDB4 45000003 */ bc1f .L800ECDC4 /* 086268 800ECDB8 00021080 */ sll $v0, $v0, 2 /* 08626C 800ECDBC 0803B372 */ j .L800ECDC8 /* 086270 800ECDC0 24430018 */ addiu $v1, $v0, 0x18 .L800ECDC4: /* 086274 800ECDC4 24430004 */ addiu $v1, $v0, 4 .L800ECDC8: /* 086278 800ECDC8 3C028010 */ lui $v0, 0x8010 /* 08627C 800ECDCC 24428348 */ addiu $v0, $v0, -0x7cb8 /* 086280 800ECDD0 00431021 */ addu $v0, $v0, $v1 /* 086284 800ECDD4 8C420000 */ lw $v0, ($v0) /* 086288 800ECDD8 AC820000 */ sw $v0, ($a0) /* 08628C 800ECDDC C62C0038 */ lwc1 $f12, 0x38($s1) /* 086290 800ECDE0 C62E0040 */ lwc1 $f14, 0x40($s1) /* 086294 800ECDE4 8E260060 */ lw $a2, 0x60($s1) /* 086298 800ECDE8 0C00A720 */ jal atan2 /* 08629C 800ECDEC 8E270068 */ lw $a3, 0x68($s1) /* 0862A0 800ECDF0 3C038011 */ lui $v1, 0x8011 /* 0862A4 800ECDF4 2463CFCE */ addiu $v1, $v1, -0x3032 /* 0862A8 800ECDF8 94620000 */ lhu $v0, ($v1) /* 0862AC 800ECDFC 46000506 */ mov.s $f20, $f0 /* 0862B0 800ECE00 3C018010 */ lui $at, 0x8010 /* 0862B4 800ECE04 E4348034 */ swc1 $f20, -0x7fcc($at) /* 0862B8 800ECE08 E634000C */ swc1 $f20, 0xc($s1) /* 0862BC 800ECE0C 24420001 */ addiu $v0, $v0, 1 /* 0862C0 800ECE10 A4620000 */ sh $v0, ($v1) .L800ECE14: /* 0862C4 800ECE14 3C108010 */ lui $s0, 0x8010 /* 0862C8 800ECE18 2610802C */ addiu $s0, $s0, -0x7fd4 /* 0862CC 800ECE1C 8E020000 */ lw $v0, ($s0) /* 0862D0 800ECE20 10400079 */ beqz $v0, .L800ED008 /* 0862D4 800ECE24 2442FFFF */ addiu $v0, $v0, -1 /* 0862D8 800ECE28 C6220014 */ lwc1 $f2, 0x14($s1) /* 0862DC 800ECE2C 44803000 */ mtc1 $zero, $f6 /* 0862E0 800ECE30 00000000 */ nop /* 0862E4 800ECE34 46061032 */ c.eq.s $f2, $f6 /* 0862E8 800ECE38 00000000 */ nop /* 0862EC 800ECE3C 4501005A */ bc1t .L800ECFA8 /* 0862F0 800ECE40 AE020000 */ sw $v0, ($s0) /* 0862F4 800ECE44 C620001C */ lwc1 $f0, 0x1c($s1) /* 0862F8 800ECE48 46020001 */ sub.s $f0, $f0, $f2 /* 0862FC 800ECE4C C622003C */ lwc1 $f2, 0x3c($s1) /* 086300 800ECE50 46001080 */ add.s $f2, $f2, $f0 /* 086304 800ECE54 E620001C */ swc1 $f0, 0x1c($s1) /* 086308 800ECE58 4606003E */ c.le.s $f0, $f6 /* 08630C 800ECE5C 00000000 */ nop /* 086310 800ECE60 4500000A */ bc1f .L800ECE8C /* 086314 800ECE64 E622003C */ swc1 $f2, 0x3c($s1) /* 086318 800ECE68 3C028011 */ lui $v0, 0x8011 /* 08631C 800ECE6C 8C42CFD8 */ lw $v0, -0x3028($v0) /* 086320 800ECE70 000218C0 */ sll $v1, $v0, 3 /* 086324 800ECE74 00621821 */ addu $v1, $v1, $v0 /* 086328 800ECE78 00031880 */ sll $v1, $v1, 2 /* 08632C 800ECE7C 3C028010 */ lui $v0, 0x8010 /* 086330 800ECE80 00431021 */ addu $v0, $v0, $v1 /* 086334 800ECE84 8C428354 */ lw $v0, -0x7cac($v0) /* 086338 800ECE88 AE220028 */ sw $v0, 0x28($s1) .L800ECE8C: /* 08633C 800ECE8C C624001C */ lwc1 $f4, 0x1c($s1) /* 086340 800ECE90 4606203E */ c.le.s $f4, $f6 /* 086344 800ECE94 00000000 */ nop /* 086348 800ECE98 45000043 */ bc1f .L800ECFA8 /* 08634C 800ECE9C 27A20034 */ addiu $v0, $sp, 0x34 /* 086350 800ECEA0 C6200038 */ lwc1 $f0, 0x38($s1) /* 086354 800ECEA4 3C014130 */ lui $at, 0x4130 /* 086358 800ECEA8 44811000 */ mtc1 $at, $f2 /* 08635C 800ECEAC E7A00028 */ swc1 $f0, 0x28($sp) /* 086360 800ECEB0 46002005 */ abs.s $f0, $f4 /* 086364 800ECEB4 46020000 */ add.s $f0, $f0, $f2 /* 086368 800ECEB8 C622003C */ lwc1 $f2, 0x3c($s1) /* 08636C 800ECEBC C6240040 */ lwc1 $f4, 0x40($s1) /* 086370 800ECEC0 46001080 */ add.s $f2, $f2, $f0 /* 086374 800ECEC4 E7A40030 */ swc1 $f4, 0x30($sp) /* 086378 800ECEC8 E7A00034 */ swc1 $f0, 0x34($sp) /* 08637C 800ECECC E7A2002C */ swc1 $f2, 0x2c($sp) /* 086380 800ECED0 AFA20010 */ sw $v0, 0x10($sp) /* 086384 800ECED4 C620000C */ lwc1 $f0, 0xc($s1) /* 086388 800ECED8 27A50028 */ addiu $a1, $sp, 0x28 /* 08638C 800ECEDC E7A00014 */ swc1 $f0, 0x14($sp) /* 086390 800ECEE0 862200A6 */ lh $v0, 0xa6($s1) /* 086394 800ECEE4 27A6002C */ addiu $a2, $sp, 0x2c /* 086398 800ECEE8 44820000 */ mtc1 $v0, $f0 /* 08639C 800ECEEC 00000000 */ nop /* 0863A0 800ECEF0 46800020 */ cvt.s.w $f0, $f0 /* 0863A4 800ECEF4 E7A00018 */ swc1 $f0, 0x18($sp) /* 0863A8 800ECEF8 8E240080 */ lw $a0, 0x80($s1) /* 0863AC 800ECEFC 0C0371DE */ jal func_800DC778 /* 0863B0 800ECF00 27A70030 */ addiu $a3, $sp, 0x30 /* 0863B4 800ECF04 10400028 */ beqz $v0, .L800ECFA8 /* 0863B8 800ECF08 00000000 */ nop /* 0863BC 800ECF0C C620001C */ lwc1 $f0, 0x1c($s1) /* 0863C0 800ECF10 3C0141B0 */ lui $at, 0x41b0 /* 0863C4 800ECF14 44811000 */ mtc1 $at, $f2 /* 0863C8 800ECF18 46000005 */ abs.s $f0, $f0 /* 0863CC 800ECF1C 46020000 */ add.s $f0, $f0, $f2 /* 0863D0 800ECF20 C7A20034 */ lwc1 $f2, 0x34($sp) /* 0863D4 800ECF24 4600103E */ c.le.s $f2, $f0 /* 0863D8 800ECF28 00000000 */ nop /* 0863DC 800ECF2C 4500001E */ bc1f .L800ECFA8 /* 0863E0 800ECF30 26240028 */ addiu $a0, $s1, 0x28 /* 0863E4 800ECF34 C6200018 */ lwc1 $f0, 0x18($s1) /* 0863E8 800ECF38 3C014010 */ lui $at, 0x4010 /* 0863EC 800ECF3C 44811800 */ mtc1 $at, $f3 /* 0863F0 800ECF40 44801000 */ mtc1 $zero, $f2 /* 0863F4 800ECF44 3C038011 */ lui $v1, 0x8011 /* 0863F8 800ECF48 8C63CFD8 */ lw $v1, -0x3028($v1) /* 0863FC 800ECF4C 46000021 */ cvt.d.s $f0, $f0 /* 086400 800ECF50 000310C0 */ sll $v0, $v1, 3 /* 086404 800ECF54 00431021 */ addu $v0, $v0, $v1 /* 086408 800ECF58 4620103E */ c.le.d $f2, $f0 /* 08640C 800ECF5C 00000000 */ nop /* 086410 800ECF60 45000003 */ bc1f .L800ECF70 /* 086414 800ECF64 00021080 */ sll $v0, $v0, 2 /* 086418 800ECF68 0803B3DD */ j .L800ECF74 /* 08641C 800ECF6C 24430018 */ addiu $v1, $v0, 0x18 .L800ECF70: /* 086420 800ECF70 24430004 */ addiu $v1, $v0, 4 .L800ECF74: /* 086424 800ECF74 3C028010 */ lui $v0, 0x8010 /* 086428 800ECF78 24428348 */ addiu $v0, $v0, -0x7cb8 /* 08642C 800ECF7C 00431021 */ addu $v0, $v0, $v1 /* 086430 800ECF80 8C420000 */ lw $v0, ($v0) /* 086434 800ECF84 C7A0002C */ lwc1 $f0, 0x2c($sp) /* 086438 800ECF88 AC820000 */ sw $v0, ($a0) /* 08643C 800ECF8C 8E220000 */ lw $v0, ($s1) /* 086440 800ECF90 2403F7FF */ addiu $v1, $zero, -0x801 /* 086444 800ECF94 AE200014 */ sw $zero, 0x14($s1) /* 086448 800ECF98 AE20001C */ sw $zero, 0x1c($s1) /* 08644C 800ECF9C E620003C */ swc1 $f0, 0x3c($s1) /* 086450 800ECFA0 00431024 */ and $v0, $v0, $v1 /* 086454 800ECFA4 AE220000 */ sw $v0, ($s1) .L800ECFA8: /* 086458 800ECFA8 3C018010 */ lui $at, 0x8010 /* 08645C 800ECFAC C4208030 */ lwc1 $f0, -0x7fd0($at) /* 086460 800ECFB0 E6200018 */ swc1 $f0, 0x18($s1) /* 086464 800ECFB4 3C018010 */ lui $at, 0x8010 /* 086468 800ECFB8 C4208034 */ lwc1 $f0, -0x7fcc($at) /* 08646C 800ECFBC 8E250018 */ lw $a1, 0x18($s1) /* 086470 800ECFC0 44060000 */ mfc1 $a2, $f0 /* 086474 800ECFC4 0220202D */ daddu $a0, $s1, $zero /* 086478 800ECFC8 0C00EA95 */ jal npc_move_heading /* 08647C 800ECFCC AE26000C */ sw $a2, 0xc($s1) /* 086480 800ECFD0 C6200018 */ lwc1 $f0, 0x18($s1) /* 086484 800ECFD4 3C014010 */ lui $at, 0x4010 /* 086488 800ECFD8 44811800 */ mtc1 $at, $f3 /* 08648C 800ECFDC 44801000 */ mtc1 $zero, $f2 /* 086490 800ECFE0 46000021 */ cvt.d.s $f0, $f0 /* 086494 800ECFE4 4622003C */ c.lt.d $f0, $f2 /* 086498 800ECFE8 00000000 */ nop /* 08649C 800ECFEC 45000002 */ bc1f .L800ECFF8 /* 0864A0 800ECFF0 24050001 */ addiu $a1, $zero, 1 /* 0864A4 800ECFF4 0000282D */ daddu $a1, $zero, $zero .L800ECFF8: /* 0864A8 800ECFF8 0C00F598 */ jal func_8003D660 /* 0864AC 800ECFFC 0220202D */ daddu $a0, $s1, $zero /* 0864B0 800ED000 0803B4B9 */ j .L800ED2E4 /* 0864B4 800ED004 00000000 */ nop .L800ED008: /* 0864B8 800ED008 0C03BD17 */ jal clear_partner_move_history /* 0864BC 800ED00C 0220202D */ daddu $a0, $s1, $zero /* 0864C0 800ED010 3C038011 */ lui $v1, 0x8011 /* 0864C4 800ED014 8C63CFD8 */ lw $v1, -0x3028($v1) /* 0864C8 800ED018 3C014387 */ lui $at, 0x4387 /* 0864CC 800ED01C 44810000 */ mtc1 $at, $f0 /* 0864D0 800ED020 AE200018 */ sw $zero, 0x18($s1) /* 0864D4 800ED024 AE200014 */ sw $zero, 0x14($s1) /* 0864D8 800ED028 000310C0 */ sll $v0, $v1, 3 /* 0864DC 800ED02C 00431021 */ addu $v0, $v0, $v1 /* 0864E0 800ED030 00021080 */ sll $v0, $v0, 2 /* 0864E4 800ED034 3C018010 */ lui $at, 0x8010 /* 0864E8 800ED038 00220821 */ addu $at, $at, $v0 /* 0864EC 800ED03C 8C22835C */ lw $v0, -0x7ca4($at) /* 0864F0 800ED040 AE220028 */ sw $v0, 0x28($s1) /* 0864F4 800ED044 C6AC006C */ lwc1 $f12, 0x6c($s5) /* 0864F8 800ED048 46006300 */ add.s $f12, $f12, $f0 /* 0864FC 800ED04C C66000A8 */ lwc1 $f0, 0xa8($s3) /* 086500 800ED050 0C00A6C9 */ jal clamp_angle /* 086504 800ED054 46006301 */ sub.s $f12, $f12, $f0 /* 086508 800ED058 3C048011 */ lui $a0, 0x8011 /* 08650C 800ED05C 2484CFCE */ addiu $a0, $a0, -0x3032 /* 086510 800ED060 E620000C */ swc1 $f0, 0xc($s1) /* 086514 800ED064 94820000 */ lhu $v0, ($a0) /* 086518 800ED068 2403001E */ addiu $v1, $zero, 0x1e /* 08651C 800ED06C AE030000 */ sw $v1, ($s0) /* 086520 800ED070 24420001 */ addiu $v0, $v0, 1 /* 086524 800ED074 0803B4B9 */ j .L800ED2E4 /* 086528 800ED078 A4820000 */ sh $v0, ($a0) .L800ED07C: /* 08652C 800ED07C 3C038010 */ lui $v1, 0x8010 /* 086530 800ED080 2463802C */ addiu $v1, $v1, -0x7fd4 /* 086534 800ED084 8C620000 */ lw $v0, ($v1) /* 086538 800ED088 10400003 */ beqz $v0, .L800ED098 /* 08653C 800ED08C 2442FFFF */ addiu $v0, $v0, -1 /* 086540 800ED090 0803B4B9 */ j .L800ED2E4 /* 086544 800ED094 AC620000 */ sw $v0, ($v1) .L800ED098: /* 086548 800ED098 3C018011 */ lui $at, 0x8011 /* 08654C 800ED09C A420CFC8 */ sh $zero, -0x3038($at) /* 086550 800ED0A0 3C018011 */ lui $at, 0x8011 /* 086554 800ED0A4 A420CFCA */ sh $zero, -0x3036($at) .L800ED0A8: /* 086558 800ED0A8 0803B4B9 */ j .L800ED2E4 /* 08655C 800ED0AC A4800000 */ sh $zero, ($a0) /* 086560 800ED0B0 0220202D */ daddu $a0, $s1, $zero /* 086564 800ED0B4 0C03BE0B */ jal func_800EF82C /* 086568 800ED0B8 0000282D */ daddu $a1, $zero, $zero /* 08656C 800ED0BC 0803B4B9 */ j .L800ED2E4 /* 086570 800ED0C0 00000000 */ nop /* 086574 800ED0C4 8E220000 */ lw $v0, ($s1) /* 086578 800ED0C8 30421000 */ andi $v0, $v0, 0x1000 /* 08657C 800ED0CC 10400012 */ beqz $v0, .L800ED118 /* 086580 800ED0D0 00000000 */ nop /* 086584 800ED0D4 0C03A92C */ jal func_800EA4B0 /* 086588 800ED0D8 86240084 */ lh $a0, 0x84($s1) /* 08658C 800ED0DC 1040007F */ beqz $v0, .L800ED2DC /* 086590 800ED0E0 24020001 */ addiu $v0, $zero, 1 /* 086594 800ED0E4 3C038011 */ lui $v1, 0x8011 /* 086598 800ED0E8 8C63CFD8 */ lw $v1, -0x3028($v1) /* 08659C 800ED0EC 000310C0 */ sll $v0, $v1, 3 /* 0865A0 800ED0F0 00431021 */ addu $v0, $v0, $v1 /* 0865A4 800ED0F4 00021080 */ sll $v0, $v0, 2 /* 0865A8 800ED0F8 3C038010 */ lui $v1, 0x8010 /* 0865AC 800ED0FC 00621821 */ addu $v1, $v1, $v0 /* 0865B0 800ED100 8C63835C */ lw $v1, -0x7ca4($v1) /* 0865B4 800ED104 24020032 */ addiu $v0, $zero, 0x32 /* 0865B8 800ED108 3C018011 */ lui $at, 0x8011 /* 0865BC 800ED10C A422CFC8 */ sh $v0, -0x3038($at) /* 0865C0 800ED110 0803B4B9 */ j .L800ED2E4 /* 0865C4 800ED114 AE230028 */ sw $v1, 0x28($s1) .L800ED118: /* 0865C8 800ED118 3C014040 */ lui $at, 0x4040 /* 0865CC 800ED11C 44812000 */ mtc1 $at, $f4 /* 0865D0 800ED120 C620001C */ lwc1 $f0, 0x1c($s1) /* 0865D4 800ED124 46040001 */ sub.s $f0, $f0, $f4 /* 0865D8 800ED128 C622003C */ lwc1 $f2, 0x3c($s1) /* 0865DC 800ED12C 4480A000 */ mtc1 $zero, $f20 /* 0865E0 800ED130 46001080 */ add.s $f2, $f2, $f0 /* 0865E4 800ED134 E6240014 */ swc1 $f4, 0x14($s1) /* 0865E8 800ED138 4614003E */ c.le.s $f0, $f20 /* 0865EC 800ED13C E620001C */ swc1 $f0, 0x1c($s1) /* 0865F0 800ED140 4500000A */ bc1f .L800ED16C /* 0865F4 800ED144 E622003C */ swc1 $f2, 0x3c($s1) /* 0865F8 800ED148 3C028011 */ lui $v0, 0x8011 /* 0865FC 800ED14C 8C42CFD8 */ lw $v0, -0x3028($v0) /* 086600 800ED150 000218C0 */ sll $v1, $v0, 3 /* 086604 800ED154 00621821 */ addu $v1, $v1, $v0 /* 086608 800ED158 00031880 */ sll $v1, $v1, 2 /* 08660C 800ED15C 3C028010 */ lui $v0, 0x8010 /* 086610 800ED160 00431021 */ addu $v0, $v0, $v1 /* 086614 800ED164 8C428354 */ lw $v0, -0x7cac($v0) /* 086618 800ED168 AE220028 */ sw $v0, 0x28($s1) .L800ED16C: /* 08661C 800ED16C C622003C */ lwc1 $f2, 0x3c($s1) /* 086620 800ED170 3C01C4FA */ lui $at, 0xc4fa /* 086624 800ED174 44810000 */ mtc1 $at, $f0 /* 086628 800ED178 00000000 */ nop /* 08662C 800ED17C 4600103C */ c.lt.s $f2, $f0 /* 086630 800ED180 00000000 */ nop /* 086634 800ED184 4500001E */ bc1f .L800ED200 /* 086638 800ED188 2404F7FF */ addiu $a0, $zero, -0x801 /* 08663C 800ED18C C62C0038 */ lwc1 $f12, 0x38($s1) /* 086640 800ED190 3C028011 */ lui $v0, 0x8011 /* 086644 800ED194 8C42CFD8 */ lw $v0, -0x3028($v0) /* 086648 800ED198 C62E0040 */ lwc1 $f14, 0x40($s1) /* 08664C 800ED19C 000218C0 */ sll $v1, $v0, 3 /* 086650 800ED1A0 00621821 */ addu $v1, $v1, $v0 /* 086654 800ED1A4 00031880 */ sll $v1, $v1, 2 /* 086658 800ED1A8 8E220000 */ lw $v0, ($s1) /* 08665C 800ED1AC 3C018010 */ lui $at, 0x8010 /* 086660 800ED1B0 00230821 */ addu $at, $at, $v1 /* 086664 800ED1B4 8C23835C */ lw $v1, -0x7ca4($at) /* 086668 800ED1B8 E634001C */ swc1 $f20, 0x1c($s1) /* 08666C 800ED1BC 00441024 */ and $v0, $v0, $a0 /* 086670 800ED1C0 AE220000 */ sw $v0, ($s1) /* 086674 800ED1C4 AE230028 */ sw $v1, 0x28($s1) /* 086678 800ED1C8 8E660028 */ lw $a2, 0x28($s3) /* 08667C 800ED1CC 0C00A720 */ jal atan2 /* 086680 800ED1D0 8E670030 */ lw $a3, 0x30($s3) /* 086684 800ED1D4 E620000C */ swc1 $f0, 0xc($s1) /* 086688 800ED1D8 C6600028 */ lwc1 $f0, 0x28($s3) /* 08668C 800ED1DC E6200038 */ swc1 $f0, 0x38($s1) /* 086690 800ED1E0 C660002C */ lwc1 $f0, 0x2c($s3) /* 086694 800ED1E4 E620003C */ swc1 $f0, 0x3c($s1) /* 086698 800ED1E8 C6600030 */ lwc1 $f0, 0x30($s3) /* 08669C 800ED1EC 24020032 */ addiu $v0, $zero, 0x32 .L800ED1F0: /* 0866A0 800ED1F0 3C018011 */ lui $at, 0x8011 /* 0866A4 800ED1F4 A422CFC8 */ sh $v0, -0x3038($at) /* 0866A8 800ED1F8 0803B4B9 */ j .L800ED2E4 /* 0866AC 800ED1FC E6200040 */ swc1 $f0, 0x40($s1) .L800ED200: /* 0866B0 800ED200 C6200038 */ lwc1 $f0, 0x38($s1) /* 0866B4 800ED204 27A20034 */ addiu $v0, $sp, 0x34 /* 0866B8 800ED208 E7A00028 */ swc1 $f0, 0x28($sp) /* 0866BC 800ED20C C620001C */ lwc1 $f0, 0x1c($s1) /* 0866C0 800ED210 3C014130 */ lui $at, 0x4130 /* 0866C4 800ED214 44811000 */ mtc1 $at, $f2 /* 0866C8 800ED218 46000005 */ abs.s $f0, $f0 /* 0866CC 800ED21C 46020000 */ add.s $f0, $f0, $f2 /* 0866D0 800ED220 C622003C */ lwc1 $f2, 0x3c($s1) /* 0866D4 800ED224 C6240040 */ lwc1 $f4, 0x40($s1) /* 0866D8 800ED228 46001080 */ add.s $f2, $f2, $f0 /* 0866DC 800ED22C E7A40030 */ swc1 $f4, 0x30($sp) /* 0866E0 800ED230 E7A00034 */ swc1 $f0, 0x34($sp) /* 0866E4 800ED234 E7A2002C */ swc1 $f2, 0x2c($sp) /* 0866E8 800ED238 AFA20010 */ sw $v0, 0x10($sp) /* 0866EC 800ED23C C620000C */ lwc1 $f0, 0xc($s1) /* 0866F0 800ED240 27A50028 */ addiu $a1, $sp, 0x28 /* 0866F4 800ED244 E7A00014 */ swc1 $f0, 0x14($sp) /* 0866F8 800ED248 862200A6 */ lh $v0, 0xa6($s1) /* 0866FC 800ED24C 27A6002C */ addiu $a2, $sp, 0x2c /* 086700 800ED250 44820000 */ mtc1 $v0, $f0 /* 086704 800ED254 00000000 */ nop /* 086708 800ED258 46800020 */ cvt.s.w $f0, $f0 /* 08670C 800ED25C E7A00018 */ swc1 $f0, 0x18($sp) /* 086710 800ED260 8E240080 */ lw $a0, 0x80($s1) /* 086714 800ED264 0C0371DE */ jal func_800DC778 /* 086718 800ED268 27A70030 */ addiu $a3, $sp, 0x30 /* 08671C 800ED26C 1040001D */ beqz $v0, .L800ED2E4 /* 086720 800ED270 00000000 */ nop /* 086724 800ED274 C7AC0028 */ lwc1 $f12, 0x28($sp) /* 086728 800ED278 3C038011 */ lui $v1, 0x8011 /* 08672C 800ED27C 8C63CFD8 */ lw $v1, -0x3028($v1) /* 086730 800ED280 C7AE0030 */ lwc1 $f14, 0x30($sp) /* 086734 800ED284 C7A0002C */ lwc1 $f0, 0x2c($sp) /* 086738 800ED288 000310C0 */ sll $v0, $v1, 3 /* 08673C 800ED28C 00431021 */ addu $v0, $v0, $v1 /* 086740 800ED290 00021080 */ sll $v0, $v0, 2 /* 086744 800ED294 3C048010 */ lui $a0, 0x8010 /* 086748 800ED298 00822021 */ addu $a0, $a0, $v0 /* 08674C 800ED29C 8C84835C */ lw $a0, -0x7ca4($a0) /* 086750 800ED2A0 8E220000 */ lw $v0, ($s1) /* 086754 800ED2A4 2403F7FF */ addiu $v1, $zero, -0x801 /* 086758 800ED2A8 E634001C */ swc1 $f20, 0x1c($s1) /* 08675C 800ED2AC E620003C */ swc1 $f0, 0x3c($s1) /* 086760 800ED2B0 00431024 */ and $v0, $v0, $v1 /* 086764 800ED2B4 AE220000 */ sw $v0, ($s1) /* 086768 800ED2B8 AE240028 */ sw $a0, 0x28($s1) /* 08676C 800ED2BC 8E660028 */ lw $a2, 0x28($s3) /* 086770 800ED2C0 0C00A720 */ jal atan2 /* 086774 800ED2C4 8E670030 */ lw $a3, 0x30($s3) /* 086778 800ED2C8 0220202D */ daddu $a0, $s1, $zero /* 08677C 800ED2CC 24050002 */ addiu $a1, $zero, 2 /* 086780 800ED2D0 0C00F598 */ jal func_8003D660 /* 086784 800ED2D4 E480000C */ swc1 $f0, 0xc($a0) /* 086788 800ED2D8 24020032 */ addiu $v0, $zero, 0x32 .L800ED2DC: /* 08678C 800ED2DC 3C018011 */ lui $at, 0x8011 /* 086790 800ED2E0 A422CFC8 */ sh $v0, -0x3038($at) .L800ED2E4: /* 086794 800ED2E4 8FBF0050 */ lw $ra, 0x50($sp) /* 086798 800ED2E8 8FB5004C */ lw $s5, 0x4c($sp) /* 08679C 800ED2EC 8FB40048 */ lw $s4, 0x48($sp) /* 0867A0 800ED2F0 8FB30044 */ lw $s3, 0x44($sp) /* 0867A4 800ED2F4 8FB20040 */ lw $s2, 0x40($sp) /* 0867A8 800ED2F8 8FB1003C */ lw $s1, 0x3c($sp) /* 0867AC 800ED2FC 8FB00038 */ lw $s0, 0x38($sp) /* 0867B0 800ED300 D7B60060 */ ldc1 $f22, 0x60($sp) /* 0867B4 800ED304 D7B40058 */ ldc1 $f20, 0x58($sp) /* 0867B8 800ED308 03E00008 */ jr $ra /* 0867BC 800ED30C 27BD0068 */ addiu $sp, $sp, 0x68