function surcamew_slot_20() /* entry=284 class_id=0x04DE slot=0x20 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    textFile, /* [BP-02h] type=0x73 */
    monit, /* [BP-04h] type=0x24 */
    valueBox, /* [BP-06h] type=0x24 */
    passcode, /* [BP-08h] type=0x69 */
    link, /* [BP-0Ah] type=0x69 */
    code; /* [BP-0Bh] type=0x62 */

  entry:
    set_info(0x021B, 0);
    link = Item.getQLo(arg_06);
    if (Item.getMapArray(arg_06) != 0) goto block_03FC;

  block_02F3:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */

  block_0311:
    if condition goto block_038A;

  block_0314:
    if ((Item.getQLo(monit) != link) || (link != 0)) goto block_0386;

  block_032F:
    if Item.getQHi(monit) goto block_0386;

  block_033E:
    class_0A17_slot_21(Item.getQHi(monit), Item.getQLo(monit), arg_06);
    /* free_local_string bp_offset=0xFE target=[BP-02h] */
    textFile = retval;
    spawn class_0A17_slot_20(pid, textFile, arg_06);
    /* free_stack_string value_u8=0x0 target=[SP+00h] */
    suspend;

  block_0386:
    /* loopnext  */
    goto block_0311;

  block_038A:
    spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
    suspend;
    spawn class_04DE_slot_21(pid, arg_06);
    suspend;
    spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
    suspend;
    goto block_0501;

  block_03FC:
    code = 0;
    if Item.getQHi(arg_06) goto block_04E2;

  block_0412:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */

  block_0430:
    if condition goto block_0468;

  block_0433:
    if (Item.getQLo(valueBox) != link) goto block_0464;

  block_0445:
    class_0A19_slot_20(valueBox);
    passcode = retval;
    code = (1 + code);
    goto block_0468;

  block_0464:
    /* loopnext  */
    goto block_0430;

  block_0468:
    if code goto block_049A;

  block_0472:
    class_0A17_slot_23(passcode, Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06);
    /* free_local_string bp_offset=0xFE target=[BP-02h] */
    textFile = retval;
    goto block_04BD;

  block_049A:
    class_0A17_slot_21(Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06);
    /* free_local_string bp_offset=0xFE target=[BP-02h] */
    textFile = retval;

  block_04BD:
    spawn class_0A17_slot_20(pid, textFile, arg_06);
    /* free_stack_string value_u8=0x0 target=[SP+00h] */
    suspend;

  block_04E2:
    spawn class_04DE_slot_21(pid, arg_06);
    suspend;

  block_0501:
    /* bit_not  */
    /* free_local_string bp_offset=0xFE target=[BP-02h] */
    return;

}
