function cameraew_enterFastArea() /* entry=110 class_id=0x01D7 slot=0x0F */
{
  var
    referent, /* [BP+00h] type=0x69 */
    delay, /* [BP-02h] type=0x69 */
    iSeeYou, /* [BP-04h] type=0x69 */
    trackedEnough, /* [BP-06h] type=0x69 */
    fram, /* [BP-08h] type=0x69 */
    counter, /* [BP-0Ah] type=0x69 */
    sawCrusader, /* [BP-0Ch] type=0x69 */
    movement, /* [BP-0Eh] type=0x69 */
    target, /* [BP-10h] type=0x24 */
    range, /* [BP-12h] type=0x69 */
    dir; /* [BP-14h] type=0x69 */

  entry:
    set_info(0x021B, *(arg_06));
    process_exclude();
    delay = ((5 - Intrinsic0029()) * 5);
    iSeeYou = (5 - (Intrinsic0029() * 5));
    if (Item.getFrame(arg_06) != 9) goto block_0126;

  block_0120:
    goto block_04A7;

  block_0126:
    if (!Intrinsic0007(arg_06)) goto block_0162;

  block_0139:
    spawn class_0A0C_slot_32(pid, delay, 0x00000000);
    suspend;
    goto block_0126;

  block_0162:
    sawCrusader = 0;
    movement = 1;

  block_0170:
    suspend;
    range = 0;

  block_0184:
    if (!Intrinsic0007(arg_06)) goto block_01C0;

  block_0197:
    spawn class_0A0C_slot_32(pid, delay, 0x00000000);
    suspend;
    goto block_0184;

  block_01C0:
    spawn class_0A0C_slot_32(pid, delay, 0x00000000);
    suspend;
    if (Item.pop() != 0) goto block_0204;

  block_01F7:
    target = Item.pop();
    goto block_020B;

  block_0204:
    target = 1;

  block_020B:
    dir = Intrinsic0027(15, 0, 16, Item.legal_create(target), Intrinsic0013(target), Item.legal_create(arg_06), Intrinsic0013(arg_06));
    fram = Item.getFrame(arg_06);
    if ((8 - dir) != fram) goto block_03B4;

  block_025D:
    range = Item.getQHi(target, arg_06);
    if range goto block_0310;

  block_0275:
    sawCrusader = 1;
    trackedEnough = (1 + trackedEnough);
    if ((trackedEnough > iSeeYou) && (!(Item.getStatus(arg_06) & 0x1000))) goto block_030D;

  block_02A3:
    spawn class_0A0C_slot_32(pid, delay, 0x00000000);
    suspend;
    spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
    suspend;
    class_0A1E_slot_23(0x1000, arg_06);

  block_030D:
    goto block_03B1;

  block_0310:
    sawCrusader = 0;
    if ((fram + movement) < 0) goto block_0355;

  block_0325:
    movement = 1;
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    goto block_0393;

  block_0355:
    if ((fram + movement) > 8) goto block_0393;

  block_0363:
    movement = -1;
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    goto block_0393;

  block_0393:

  block_03B1:
    goto block_04A4;

  block_03B4:
    if (trackedEnough && sawCrusader) goto block_03ED;

  block_03C5:
    if ((8 - dir) > fram) goto block_03E3;

  block_03D9:
    movement = 1;
    goto block_03EA;

  block_03E3:
    movement = -1;

  block_03EA:
    goto block_040A;

  block_03ED:
    trackedEnough = 0;
    sawCrusader = 0;
    /* bit_not  */

  block_040A:
    if ((fram + movement) < 0) goto block_0448;

  block_0418:
    movement = 1;
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    goto block_0486;

  block_0448:
    if ((fram + movement) > 8) goto block_0486;

  block_0456:
    movement = -1;
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    goto block_0486;

  block_0486:

  block_04A4:
    goto block_0170;

  block_04A7:
    return;

}
