Проанализируй приведенный ниже код:int main(int param_1,char **param_2)

{
  char cVar1;
  bool bVar2;
  __fd_mask *p_Var3;
  int iVar4;
  int *piVar5;
  FILE *pFVar6;
  __pid_t _Var7;
  __fd_mask *p_Var8;
  int *piVar9;
  int ***pppiVar10;
  int **ppiVar11;
  size_t sVar12;
  char *pcVar13;
  char *pcVar14;
  size_t sVar15;
  size_t sVar16;
  int iVar17;
  undefined *puVar18;
  uint uVar19;
  tm *__tp;
  __fd_mask _Var20;
  byte *pbVar21;
  __fd_mask _Var22;
  undefined4 uVar23;
  __fd_mask _Var24;
  uint uVar25;
  char *pcVar26;
  __fd_mask *p_Var27;
  timeval *ptVar28;
  undefined1 *puVar29;
  int iVar30;
  undefined **ppuVar31;
  undefined *puVar32;
  undefined *puVar33;
  char *pcVar34;
  int **ppiVar35;
  code *pcVar36;
  socklen_t local_29d8;
  char *local_29d4;
  char *local_29d0;
  char *local_29cc;
  time_t local_29c8;
  timeval local_29c4;
  timeval local_29bc;
  int **local_29b4;
  int ***local_29b0;
  int local_29ac;
  undefined auStack_29a8 [16];
  char acStack_2998 [32];
  char acStack_2978 [32];
  fd_set local_2958;
  fd_set local_28d8;
  char acStack_2858 [256];
  char local_2758 [10000];
  char *local_48;
  char *local_44;
  undefined *local_40;
  char *local_3c;
  int local_38;
  ulong local_34;
  int **local_30;
  int local_2c;
  
  do_ssl = 0;
  while (iVar4 = getopt(param_1,param_2,"sp:i:"), iVar4 != -1) {
    if (iVar4 == L'i') {
      http_ifname = _optarg;
    }
    else if (iVar4 == L'p') {
      http_port = atoi(_optarg);
    }
    else if (iVar4 != L's') {
      fprintf(_stderr,"ERROR: unknown option %c\n",iVar4);
    }
  }
  if (http_port == 0) {
    http_port = 80;
  }
  nvram_unset("login_timestamp");
  nvram_unset("login_ip");
  nvram_unset("login_ip_str");
  MAX_login = nvram_get_int("login_max_num");
  if (MAX_login < 6) {
    MAX_login = 5;
  }
  detect_timestamp_old = 0;
  detect_timestamp = 0;
  signal_timestamp = 0;
  http_get_access_ip();
  signal(0xd,(__sighandler_t)&DAT_00000001);
  signal(0x12,reapchild);
  local_29c4.tv_usec = iVar4;
  local_29c4.tv_sec = FUN_00403d74(auStack_29a8,http_ifname);
  if (local_29c4.tv_sec < 2) {
    pcVar26 = http_ifname;
    if (http_ifname == (char *)0x0) {
      pcVar26 = "any";
    }
    fprintf(_stderr,"can\'t bind to %s address\n",pcVar26);
    piVar5 = __errno_location();
                    /* WARNING: Subroutine does not return */
    exit(*piVar5);
  }
  if (((http_ifname != (char *)0x0) && (iVar4 = strcmp(http_ifname,"lo"), iVar4 != 0)) &&
     (local_29c4.tv_usec = FUN_00403d74(auStack_29a8,&DAT_004357c8), local_29c4.tv_usec < 2)) {
    fprintf(_stderr,"can\'t bind to %s address\n","loopback");
  }
  if (http_port == 0x50) {
    strcpy(acStack_2998,"/var/run/httpd.pid");
  }
  else {
    sprintf(acStack_2998,"/var/run/httpd-%d.pid");
  }
  pcVar26 = acStack_2998;
  pFVar6 = fopen(pcVar26,"w");
  if (pFVar6 == (FILE *)0x0) {
LAB_00406418:
    perror(pcVar26);
    piVar5 = __errno_location();
    return *piVar5;
  }
  _Var7 = getpid();
  fprintf(pFVar6,"%d",_Var7);
  fclose(pFVar6);
  p_Var8 = local_2958.fds_bits;
  do {
    *p_Var8 = 0;
    p_Var8 = p_Var8 + 1;
  } while ((fd_set *)p_Var8 != &local_28d8);
  local_29b0 = &local_29b4;
  local_29b4 = (int **)0x0;
  local_29ac = 0;
LAB_0040629c:
  do {
    p_Var27 = local_2958.fds_bits;
    p_Var8 = local_28d8.fds_bits;
    do {
      p_Var3 = p_Var27;
      _Var20 = p_Var27[1];
      _Var22 = p_Var27[2];
      _Var24 = p_Var27[3];
      p_Var27 = p_Var27 + 4;
      *p_Var8 = *p_Var3;
      p_Var8[1] = _Var20;
      p_Var8[2] = _Var22;
      p_Var8[3] = _Var24;
      p_Var8 = p_Var8 + 4;
    } while ((fd_set *)p_Var27 != &local_28d8);
    ppiVar11 = local_29b4;
    if (local_29ac < 0x40) {
      piVar5 = (int *)0xffffffff;
      for (ptVar28 = &local_29c4; ptVar28 != &local_29bc; ptVar28 = (timeval *)&ptVar28->tv_usec) {
        piVar9 = (int *)ptVar28->tv_sec;
        if ((-1 < (int)piVar9) &&
           (local_28d8.fds_bits[(uint)piVar9 >> 5] =
                 local_28d8.fds_bits[(uint)piVar9 >> 5] | 1 << ((uint)piVar9 & 0x1f),
           (int)piVar5 < (int)piVar9)) {
          piVar5 = piVar9;
        }
      }
    }
    else {
      piVar5 = (int *)0xffffffff;
    }
    while (ppiVar11 != (int **)0x0) {
      ppiVar35 = ppiVar11 + 2;
      ppiVar11 = (int **)*ppiVar11;
      if ((int)piVar5 < (int)*ppiVar35) {
        piVar5 = *ppiVar35;
      }
    }
    local_29bc.tv_sec = 0x3c;
    local_29bc.tv_usec = 0;
    while (local_2c = select((int)piVar5 + 1,&local_28d8,(fd_set *)0x0,(fd_set *)0x0,&local_29bc),
          local_2c < 0) {
      piVar9 = __errno_location();
      if (*piVar9 != 4) {
        perror("select");
        return *piVar9;
      }
    }
    ppiVar11 = local_29b4;
    if (local_2c == 0) break;
    pppiVar10 = (int ***)0x0;
    for (ptVar28 = &local_29c4; ptVar28 != &local_29bc; ptVar28 = (timeval *)&ptVar28->tv_usec) {
      uVar19 = ptVar28->tv_sec;
      if ((-1 < (int)uVar19) && ((local_28d8.fds_bits[uVar19 >> 5] >> (uVar19 & 0x1f) & 1U) != 0)) {
        pppiVar10 = (int ***)malloc(0x1c);
        if (pppiVar10 == (int ***)0x0) {
          pcVar26 = "malloc";
          goto LAB_00406418;
        }
        local_29d8 = 0x10;
        do {
          ppiVar11 = (int **)accept(uVar19,(sockaddr *)(pppiVar10 + 3),&local_29d8);
          pppiVar10[2] = ppiVar11;
          if (-1 < (int)ppiVar11) {
            setsockopt((int)ppiVar11,0xffff,8,&int_1,4);
            uVar19 = (uint)pppiVar10[2] >> 5;
            local_2958.fds_bits[uVar19] =
                 local_2958.fds_bits[uVar19] | 1 << ((uint)pppiVar10[2] & 0x1f);
            *pppiVar10 = (int **)0x0;
            pppiVar10[1] = (int **)local_29b0;
            *local_29b0 = (int **)pppiVar10;
            local_29ac = local_29ac + 1;
            local_29b0 = pppiVar10;
            goto LAB_0040653c;
          }
          piVar5 = __errno_location();
        } while (*piVar5 == 4);
        perror("accept");
        free(pppiVar10);
      }