Program: 141563
Project: 141563
Buggy source:
@Override public void run(final CommandSender cs,String label,String[] args){
  if (!r.checkArgs(args,0)) {
    r.sendMes(cs,"String_Node_Str");
    return;
  }
  String ip;
  OfflinePlayer t=null;
  if (FormatUtil.validIP(args[0])) {
    ip=args[0];
    for (    Player p : r.getOnlinePlayers()) {
      if (ip.equalsIgnoreCase(UC.getPlayer(t).getLastIp())) {
        t=p;
      }
    }
  }
 else {
    t=r.searchOfflinePlayer(args[0]);
    if (UC.getPlayer(t).getLastIp() != null) {
      ip=UC.getPlayer(t).getLastIp();
    }
 else {
      r.sendMes(cs,"String_Node_Str","String_Node_Str",args[0]);
      return;
    }
  }
  Long time=0L;
  String reason=r.mes("String_Node_Str");
  if (!r.checkArgs(args,1)) {
  }
 else   if (DateUtil.parseDateDiff(args[1]) == -1) {
    reason=r.getFinalArg(args,1);
  }
 else {
    time=DateUtil.parseDateDiff(args[1]);
    if (r.checkArgs(args,2)) {
      reason=r.getFinalArg(args,2);
    }
  }
  String timen=DateUtil.format(time);
  if (time == 0) {
    timen=r.mes("String_Node_Str");
  }
 else {
    timen="String_Node_Str" + timen;
  }
  if (!r.perm(cs,"String_Node_Str",false,false) && !r.perm(cs,"String_Node_Str",false,false) && time <= 0L) {
    r.sendMes(cs,"String_Node_Str");
    return;
  }
  if (!r.perm(cs,"String_Node_Str",false,false) && !r.perm(cs,"String_Node_Str",false,false) && !(time <= 0L)) {
    r.sendMes(cs,"String_Node_Str");
    return;
  }
  String msg=r.mes("String_Node_Str").replace("String_Node_Str",timen).replace("String_Node_Str",reason);
  if (t != null && t.isOnline()) {
    t.getPlayer().kickPlayer(msg);
  }
  Date date=time == 0 ? null : new Date(time + System.currentTimeMillis());
  Bukkit.getBanList(BanList.Type.IP).addBan(ip,reason,date,cs.getName());
  if (r.getCnfg().getBoolean("String_Node_Str")) {
    Bukkit.broadcastMessage(r.mes("String_Node_Str","String_Node_Str",((cs instanceof Player) ? r.getDisplayName(cs) : r.getDisplayName(cs).toLowerCase()),"String_Node_Str",ip,"String_Node_Str",timen,"String_Node_Str",reason));
  }
 else {
    r.sendMes(cs,"String_Node_Str","String_Node_Str",((cs instanceof Player) ? r.getDisplayName(cs) : r.getDisplayName(cs).toLowerCase()),"String_Node_Str",ip,"String_Node_Str",timen,"String_Node_Str",reason);
  }
}

Fixed version (ground truth):
@Override public void run(final CommandSender cs,String label,String[] args){
  if (!r.checkArgs(args,0)) {
    r.sendMes(cs,"String_Node_Str");
    return;
  }
  String ip;
  OfflinePlayer t=null;
  if (FormatUtil.validIP(args[0])) {
    ip=args[0];
    for (    Player p : r.getOnlinePlayers()) {
      if (ip.equalsIgnoreCase(UC.getPlayer(p).getLastIp())) {
        t=p;
      }
    }
  }
 else {
    t=r.searchOfflinePlayer(args[0]);
    if (UC.getPlayer(t).getLastIp() != null) {
      ip=UC.getPlayer(t).getLastIp();
    }
 else {
      r.sendMes(cs,"String_Node_Str","String_Node_Str",args[0]);
      return;
    }
  }
  Long time=0L;
  String reason=r.mes("String_Node_Str");
  if (!r.checkArgs(args,1)) {
  }
 else   if (DateUtil.parseDateDiff(args[1]) == -1) {
    reason=r.getFinalArg(args,1);
  }
 else {
    time=DateUtil.parseDateDiff(args[1]);
    if (r.checkArgs(args,2)) {
      reason=r.getFinalArg(args,2);
    }
  }
  String timen=DateUtil.format(time);
  if (time == 0) {
    timen=r.mes("String_Node_Str");
  }
 else {
    timen="String_Node_Str" + timen;
  }
  if (!r.perm(cs,"String_Node_Str",false,false) && !r.perm(cs,"String_Node_Str",false,false) && time <= 0L) {
    r.sendMes(cs,"String_Node_Str");
    return;
  }
  if (!r.perm(cs,"String_Node_Str",false,false) && !r.perm(cs,"String_Node_Str",false,false) && !(time <= 0L)) {
    r.sendMes(cs,"String_Node_Str");
    return;
  }
  String msg=r.mes("String_Node_Str").replace("String_Node_Str",timen).replace("String_Node_Str",reason);
  if (t != null && t.isOnline()) {
    t.getPlayer().kickPlayer(msg);
  }
  Date date=time == 0 ? null : new Date(time + System.currentTimeMillis());
  Bukkit.getBanList(BanList.Type.IP).addBan(ip,reason,date,cs.getName());
  if (r.getCnfg().getBoolean("String_Node_Str")) {
    Bukkit.broadcastMessage(r.mes("String_Node_Str","String_Node_Str",((cs instanceof Player) ? r.getDisplayName(cs) : r.getDisplayName(cs).toLowerCase()),"String_Node_Str",ip,"String_Node_Str",timen,"String_Node_Str",reason));
  }
 else {
    r.sendMes(cs,"String_Node_Str","String_Node_Str",((cs instanceof Player) ? r.getDisplayName(cs) : r.getDisplayName(cs).toLowerCase()),"String_Node_Str",ip,"String_Node_Str",timen,"String_Node_Str",reason);
  }
}