function trigger_slot_2B() /* entry=394 class_id=0x0A18 slot=0x2B */
{
  var
    referent, /* [BP+00h] type=0x69 */
    ref, /* [BP+0Ah] type=0x69 */
    qHi, /* [BP+0Ch] type=0x69 */
    npcNum, /* [BP+0Eh] type=0x69 */
    mapNum, /* [BP+10h] type=0x69 */
    baseLink, /* [BP+12h] type=0x69 */
    searchtype, /* [BP+14h] type=0x69 */
    scmd, /* [BP-02h] type=0x69 */
    cmd, /* [BP-04h] type=0x69 */
    a, /* [BP-06h] type=0x69 */
    b, /* [BP-08h] type=0x69 */
    c, /* [BP-0Ah] type=0x69 */
    d, /* [BP-0Ch] type=0x69 */
    aitem, /* [BP-0Eh] type=0x24 */
    npc, /* [BP-10h] type=0x24 */
    counter, /* [BP-12h] type=0x69 */
    k; /* [BP-14h] type=0x69 */

  entry:
    set_info(0x021B, 0);
    aitem = ref;
    cmd = (mapNum & 3);
    if (cmd != 0) goto block_3CB2;

  block_3AD7:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_3AF4:
    if condition goto block_3CAD;

  block_3AF7:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_3CA9;

  block_3B0D:
    if (Item.getQLo(npc) != baseLink) goto block_3CA9;

  block_3B1F:
    a = (qHi / 16);
    b = (qHi & 15);
    if (a != 0) goto block_3BAA;

  block_3B3E:
    suspend;
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_3CA9;

  block_3BAA:
    suspend;
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    if (Kernel.resetRef(npc) != 1) goto block_3C17;

  block_3C11:
    goto block_40FE;

  block_3C17:
    counter = 1;

  block_3C1E:
    if (counter <= a) goto block_3C95;

  block_3C29:
    if (Kernel.resetRef(npc) != 0) goto block_3C62;

  block_3C3B:
    suspend;

  block_3C62:
    spawn class_0A0C_slot_32(pid, 1, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_3C1E;

  block_3C95:

  block_3CA9:
    /* loopnext  */
    goto block_3AF4;

  block_3CAD:
    goto block_40FE;

  block_3CB2:
    if (cmd != 1) goto block_3D18;

  block_3CBA:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_3CD7:
    if condition goto block_3D13;

  block_3CDA:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_3D0F;

  block_3CF0:
    if (Item.getQLo(npc) != baseLink) goto block_3D0F;

  block_3D02:

  block_3D0F:
    /* loopnext  */
    goto block_3CD7;

  block_3D13:
    goto block_40FE;

  block_3D18:
    if (cmd != 2) goto block_3D8E;

  block_3D20:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_3D3D:
    if condition goto block_3D89;

  block_3D40:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_3D85;

  block_3D56:
    if (Item.getQLo(npc) != baseLink) goto block_3D85;

  block_3D68:

  block_3D85:
    /* loopnext  */
    goto block_3D3D;

  block_3D89:
    goto block_40FE;

  block_3D8E:
    if (cmd != 3) goto block_40FE;

  block_3D96:
    scmd = (qHi & 7);
    a = (qHi / 8);
    if (scmd != 0) goto block_3E58;

  block_3DB2:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_3DCF:
    if condition goto block_3E53;

  block_3DD2:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_3E4F;

  block_3DE8:
    if (Item.getQLo(npc) != baseLink) goto block_3E4F;

  block_3DFA:
    if (a != 1) goto block_3E12;

  block_3E02:
    goto block_3E4F;

  block_3E12:
    if (a != 2) goto block_3E2A;

  block_3E1A:
    goto block_3E4F;

  block_3E2A:
    if (a != 3) goto block_3E42;

  block_3E32:
    goto block_3E4F;

  block_3E42:

  block_3E4F:
    /* loopnext  */
    goto block_3DCF;

  block_3E53:
    goto block_40FB;

  block_3E58:
    if (scmd != 1) goto block_3EF1;

  block_3E60:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_3E7D:
    if condition goto block_3EEC;

  block_3E80:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_3EE8;

  block_3E96:
    if (Item.getQLo(npc) != baseLink) goto block_3EE8;

  block_3EA8:
    spawn class_0A0C_slot_32(pid, 1, 0x00000000);
    suspend;

  block_3EE8:
    /* loopnext  */
    goto block_3E7D;

  block_3EEC:
    goto block_40FB;

  block_3EF1:
    if (scmd != 2) goto block_3F8A;

  block_3EF9:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_3F16:
    if condition goto block_3F85;

  block_3F19:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_3F81;

  block_3F2F:
    if (Item.getQLo(npc) != baseLink) goto block_3F81;

  block_3F41:
    spawn class_0A0C_slot_32(pid, 1, 0x00000000);
    suspend;

  block_3F81:
    /* loopnext  */
    goto block_3F16;

  block_3F85:
    goto block_40FB;

  block_3F8A:
    if (scmd != 3) goto block_4023;

  block_3F92:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_3FAF:
    if condition goto block_401E;

  block_3FB2:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_401A;

  block_3FC8:
    if (Item.getQLo(npc) != baseLink) goto block_401A;

  block_3FDA:
    spawn class_0A0C_slot_32(pid, 1, 0x00000000);
    suspend;

  block_401A:
    /* loopnext  */
    goto block_3FAF;

  block_401E:
    goto block_40FB;

  block_4023:
    if (scmd != 4) goto block_4090;

  block_402B:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_4048:
    if condition goto block_408B;

  block_404B:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_4087;

  block_4061:
    if (Item.getQLo(npc) != baseLink) goto block_4087;

  block_4073:
    k = a;

  block_4087:
    /* loopnext  */
    goto block_4048;

  block_408B:
    goto block_40FB;

  block_4090:
    if (scmd != 5) goto block_40FB;

  block_4098:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */

  block_40B5:
    if condition goto block_40F6;

  block_40B8:
    if Intrinsic00BD(Intrinsic0016(npc)) goto block_40F2;

  block_40CE:
    if (Item.getQLo(npc) != baseLink) goto block_40F2;

  block_40E0:
    spawn class_0A11_equip(a, npc);

  block_40F2:
    /* loopnext  */
    goto block_40B5;

  block_40F6:
    goto block_40FB;

  block_40FB:
    goto block_40FE;

  block_40FE:
    return;

}
