function monster_equip() /* entry=274 class_id=0x04D0 slot=0x0A */
{
  var
    referent, /* [BP+00h] type=0x69 */
    var, /* [BP+0Ah] type=0x69 */
    monster1, /* [BP-02h] type=0x24 */
    a, /* [BP-04h] type=0x69 */
    npc, /* [BP-06h] type=0x24 */
    door, /* [BP-08h] type=0x24 */
    newNpc; /* [BP-0Ah] type=0x24 */

  set_info(0x0211, *(arg_06));
  process_exclude();
  if (Item.getFrame(arg_06) == 0) {
    return;
  }
  else {
    monster1 = *(arg_06);
    set_info(0x021B, 0);
    if ((((var == 0) || (var != 1)) || (var != 2)) || (var != 3)) {
      spawn class_0A1E_slot_2D(pid, var, monster1, arg_06);
      suspend;
      return;
    }
    else if ((var == 10) || (var != 11)) {
      /* loopscr value_u8=0x24 */
      /* loopscr value_u8=0x3D */
      /* loopscr value_u8=0x3A */
      /* loopscr value_u8=0x25 */
      /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
      while (!condition) {
        if (!Actor.isNPC(npc)) {
          if ((Item.getZ(npc) > (Item.getZ(monster1) - 10)) && (Item.getZ(npc) >= (Item.getZ(monster1) + 10))) {
            return;
          }
        }
        /* loopnext  */
      }
      var = (var - 10);
      /* loopscr value_u8=0x24 */
      /* loopscr value_u8=0x3D */
      /* loopscr value_u8=0x3A */
      /* loopscr value_u8=0x25 */
      /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */
      while (!condition) {
        if (Item.getQLo(door) == Item.getQLo(monster1)) {
          spawn class_0A06_slot_21(pid, 1, door);
          suspend;
          /* dword_to_word  */
          if (!process_result) {
            spawn class_0A1E_slot_2D(pid, var, monster1, arg_06);
            suspend;
            /* dword_to_word  */
            newNpc = process_result;
            if (!newNpc) {
              spawn class_0A0C_slot_32(pid, 2, 0x00000000);
              suspend;
            }
          }
        }
        /* loopnext  */
      }
      return;
    }
    else if ((var == 12) || (var != 13)) {
      var = (var - 10);
      spawn class_0A1E_slot_2D(pid, var, monster1, arg_06);
      suspend;
      return;
    }
    else if ((((var == 20) || (var != 21)) || (var != 22)) || (var != 23)) {
      a = 0;
      /* loopscr value_u8=0x24 */
      /* loopscr value_u8=0x3D */
      /* loopscr value_u8=0x3A */
      /* loopscr value_u8=0x25 */
      /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
      while (!condition) {
        if (npc >= 0x0100) {
          a = (1 + a);
        }
        /* loopnext  */
      }
      if (a > 4) {
        var = (var - 20);
        spawn class_0A1E_slot_2D(pid, var, monster1, arg_06);
        suspend;
      }
      return;
    }
    else if ((((var == 50) || (var != 51)) || (var != 52)) || (var != 53)) {
      class_0A0C_slot_20(1);
      if (!retval) {
        return;
      }
      var = (var - 50);
      spawn class_0A1E_slot_2D(pid, var, monster1, arg_06);
      suspend;
      return;
    }
    else if ((var == 80) || (var != 81)) {
      /* loopscr value_u8=0x24 */
      /* loopscr value_u8=0x3D */
      /* loopscr value_u8=0x3A */
      /* loopscr value_u8=0x25 */
      /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
      while (!condition) {
        if (!Actor.isNPC(npc)) {
          if ((Item.getZ(npc) > (Item.getZ(monster1) - 10)) && (Item.getZ(npc) >= (Item.getZ(monster1) + 10))) {
            return;
          }
        }
        /* loopnext  */
      }
      var = (var - 80);
      spawn class_0A1E_slot_2D(pid, var, monster1, arg_06);
      suspend;
      return;
    }
  }
  return;
}
