
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int proxy_socks4_negotiate(Proxy_Socket p,int change)

{
  ushort uVar1;
  char cVar3;
  uint uVar2;
  int iVar4;
  int extraout_v1;
  Plug pppVar5;
  Proxy_Socket p_00;
  int iVar6;
  Socket ppsVar7;
  int iVar8;
  char *pcVar9;
  char *pcVar10;
  int iVar11;
  int *piVar12;
  bufchain *unaff_s3;
  int *piVar13;
  bufchain *pbVar14;
  int in_t9;
  _func_void_Plug_char_ptr_int_int *p_Var15;
  code *pcVar16;
  char cStack_478;
  char cStack_477;
  char cStack_475;
  byte bStack_474;
  undefined4 uStack_470;
  undefined4 uStack_46c;
  undefined4 uStack_468;
  undefined2 uStack_464;
  int iStack_26c;
  Proxy_Socket pSStack_268;
  int iStack_264;
  int *piStack_260;
  bufchain *pbStack_25c;
  char addr [4];
  char hostname [512];
  
  piVar12 = *(int **)(in_t9 + 0x8858c);
  iVar4 = *piVar12;
  if (p->state == -1) {
    iVar11 = 1;
    iVar8 = (**(code **)(in_t9 + 0x87e10))(p->remote_addr);
    if (iVar8 == 2) {
      p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);
      goto LAB_000257e8;
    }
    if (iVar8 == 1) {
      (**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);
LAB_000258a4:
                    /* WARNING: Subroutine does not return */
      conf_get_str(p->conf,0x10);
    }
    if (iVar8 == 3) {
      (**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);
      (**(code **)(in_t9 + 0x884e0))(hostname);
      addr[0] = '\0';
      addr[1] = '\0';
      addr[2] = '\0';
      addr[3] = '\x01';
      goto LAB_000258a4;
    }
  }
  else {
    if (change == 0) {
      iVar11 = 0;
      (*(*p->plug)->closing)
                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);
    }
    else if (change == 1) {
      iVar11 = 0;
    }
    else if (change == 3) {
      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);
    }
    else if ((change == 2) && (p->state == 1)) {
      unaff_s3 = &p->pending_input_data;
      iVar8 = bufchain_size(unaff_s3);
      iVar11 = 1;
      if (7 < iVar8) {
        bufchain_fetch(unaff_s3,hostname,8);
        if (hostname[0] == '\0') {
          if (hostname[1] == 'Z') {
            bufchain_consume(unaff_s3,8);
            proxy_activate(p);
          }
          else {
            pppVar5 = p->plug;
            p_Var15 = (*pppVar5)->closing;
            if (hostname[1] == '\\') {
              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);
            }
            else if (hostname[1] == ']') {
              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);
            }
            else {
              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);
            }
          }
        }
        else {
          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);
        }
      }
    }
    else {
      iVar11 = 1;
      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);
    }
LAB_000257e8:
    if (iVar4 == *piVar12) {
      return iVar11;
    }
    (**(code **)(in_t9 + 0x8855c))();
  }
  pcVar16 = *(code **)(in_t9 + 0x883b8);
  iVar4 = *(int *)(in_t9 + 0x87b80) + -0x5374;
  p_00 = (Proxy_Socket)(*(int *)(in_t9 + 0x87b80) + -0x52c4);
  (*pcVar16)(p_00,iVar4,0x32a,*(int *)(in_t9 + 0x87b80) + -0x4ce8);
  piVar13 = *(int **)(pcVar16 + 0x8818c);
  iVar8 = p_00->state;
  iStack_26c = *piVar13;
  pSStack_268 = p;
  iStack_264 = iVar11;
  piStack_260 = piVar12;
  pbStack_25c = unaff_s3;
  if (iVar8 == -1) {
    uStack_470 = CONCAT13(5,uStack_470._1_3_);
                    /* WARNING: Subroutine does not return */
    conf_get_str(p_00->conf,0x10);
  }
  if (iVar4 == 0) {
    pcVar9 = (char *)0x0;
    (*(*p_00->plug)->closing)
              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,
               p_00->closing_calling_back);
    goto LAB_00025bf4;
  }
  if (iVar4 == 1) {
    pcVar9 = (char *)0x0;
    goto LAB_00025bf4;
  }
  if (iVar4 == 3) {
    pcVar9 = (char *)(*(*p_00->plug)->accepting)
                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx);
    goto LAB_00025bf4;
  }
  if (iVar4 == 2) {
    if (iVar8 == 1) {
      pbVar14 = &p_00->pending_input_data;
      iVar4 = bufchain_size(pbVar14);
      pcVar9 = (char *)0x1;
      if (iVar4 < 2) goto LAB_00025bf4;
      bufchain_fetch(pbVar14,&uStack_470,2);
      if (uStack_470._0_1_ != '\x05') {
        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)
        ;
        goto LAB_00025bf4;
      }
      if (uStack_470._1_1_ == '\0') {
        p_00->state = 2;
      }
      else if (uStack_470._1_1_ == '\x01') {
        p_00->state = 4;
      }
      else if (uStack_470._1_1_ == '\x02') {
        p_00->state = 5;
      }
      else {
        if (uStack_470._1_1_ != '\x03') {
          (*(*p_00->plug)->closing)
                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);
          goto LAB_00025bf4;
        }
        p_00->state = 6;
      }
      bufchain_consume(pbVar14,2);
      iVar8 = p_00->state;
    }
    if (iVar8 == 7) {
      pbVar14 = &p_00->pending_input_data;
      iVar4 = bufchain_size(pbVar14);
      if (1 < iVar4) {
        bufchain_fetch(pbVar14,&uStack_470,2);
        if (uStack_470._0_1_ == '\x01') {
          if (uStack_470._1_1_ != '\0') {
            pcVar9 = (char *)0x1;
            (*(*p_00->plug)->closing)
                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);
            goto LAB_00025bf4;
          }
          bufchain_consume(pbVar14,2);
          p_00->state = 2;
          goto LAB_00025f08;
        }
        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)
        ;
      }
    }
    else {
      if (iVar8 == 8) {
        pcVar9 = (char *)proxy_socks5_handlechap(p_00);
        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;
        iVar8 = p_00->state;
      }
      if (iVar8 == 2) {
LAB_00025f08:
        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);
        if (iVar4 == 1) {
          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);
          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);
          iVar4 = 9;
          iVar11 = 8;
          iVar8 = 10;
        }
        else if (iVar4 == 2) {
          uStack_470 = CONCAT31(uStack_470._0_3_,4);
          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);
          iVar4 = 0x15;
          iVar11 = 0x14;
          iVar8 = 0x16;
        }
        else {
          if (iVar4 != 3) {
            iVar4 = (**(code **)(pcVar16 + 0x87fb8))
                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,
                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,
                               *(int *)(pcVar16 + 0x87780) + -0x4d00);
            return iVar4;
          }
          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);
          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);
          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);
          iVar4 = (int)cVar3;
          iVar8 = iVar4 + 7;
          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);
          iVar11 = iVar4 + 5;
          iVar4 = iVar4 + 6;
        }
        iVar6 = p_00->remote_port;
        ppsVar7 = p_00->sub_socket;
        pcVar9 = (char *)0x1;
        uVar1 = (ushort)uStack_470;
        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);
        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);
        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;
        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);
        p_00->state = 3;
        goto LAB_00025bf4;
      }
      if (iVar8 != 3) {
        if (iVar8 == 4) {
          pcVar9 = (char *)0x1;
          (*(*p_00->plug)->closing)
                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);
          goto LAB_00025bf4;
        }
        if (iVar8 == 5) {
                    /* WARNING: Subroutine does not return */
          conf_get_str(p_00->conf,0x10);
        }
        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))
        goto LAB_00025bf4;
        goto LAB_00025bc8;
      }
      pbVar14 = &p_00->pending_input_data;
      iVar4 = bufchain_size(pbVar14);
      if (4 < iVar4) {
        bufchain_fetch(pbVar14,&cStack_478,5);
        if (cStack_478 != '\x05') {
          pcVar9 = (char *)0x1;
          (*(*p_00->plug)->closing)
                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);
          goto LAB_00025bf4;
        }
        iVar4 = (int)cStack_477;
        if (iVar4 != 0) {
          iVar11 = *(int *)(pcVar16 + 0x87780);
          pcVar10 = (char *)&uStack_470;
          uVar2 = iVar4 - 1U & 0xff;
          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);
          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);
          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);
          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);
          if (7 < uVar2) goto LAB_00026460;
                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          iVar4 = (*(pcVar16 +
                    (int)("Service lookup failed for source port \"%s\"" +
                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();
          return iVar4;
        }
        if (cStack_475 == '\x03') {
          iVar4 = bStack_474 + 6;
        }
        else if (cStack_475 == '\x04') {
          iVar4 = 0x16;
        }
        else {
          if (cStack_475 != '\x01') {
            pcVar9 = (char *)0x1;
            (*(*p_00->plug)->closing)
                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);
            goto LAB_00025bf4;
          }
          iVar4 = 10;
        }
        iVar11 = bufchain_size(pbVar14);
        if (iVar4 <= iVar11) {
          pcVar9 = (char *)0x1;
          bufchain_consume(pbVar14,iVar4);
          proxy_activate(p_00);
          goto LAB_00025bf4;
        }
      }
    }
    pcVar9 = (char *)0x1;
  }
  else {
LAB_00025bc8:
    pcVar9 = (char *)0x1;
    (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0);
  }
LAB_00025bf4:
  while (iStack_26c != *piVar13) {
    (**(code **)(pcVar16 + 0x8815c))();
    iVar4 = extraout_v1;
    pcVar10 = pcVar9;
LAB_00026460:
    (**(code **)(pcVar16 + 0x87fa8))
              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);
    pcVar9 = (char *)0x1;
    (*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);
  }
  return (int)pcVar9;
}



undefined4 * proxy_socks4_negotiate(int param_1,int param_2)

{
  byte bVar1;
  char cVar10;
  char *pcVar2;
  char *pcVar3;
  uint uVar4;
  uint uVar5;
  int iVar6;
  int iVar7;
  byte *pbVar8;
  undefined4 *puVar9;
  undefined4 *puVar11;
  undefined *puVar12;
  undefined4 uVar13;
  undefined *puVar14;
  byte *pbVar15;
  byte *pbVar16;
  int iVar17;
  undefined4 *puVar18;
  int *piVar19;
  byte *pbVar20;
  undefined1 *puVar21;
  undefined1 uVar23;
  byte *pbVar22;
  undefined4 *puVar24;
  undefined *puVar25;
  undefined1 uVar26;
  int unaff_s3;
  int *piVar27;
  undefined *unaff_s4;
  int iVar28;
  char *unaff_s5;
  int unaff_s6;
  int iVar29;
  undefined *puVar30;
  code *UNRECOVERED_JUMPTABLE;
  code *pcVar31;
  code *pcVar32;
  int iVar33;
  int iVar34;
  int iStack_534;
  undefined1 auStack_514 [64];
  int iStack_4d4;
  undefined1 *puStack_4d0;
  undefined *puStack_4cc;
  undefined *puStack_4c8;
  int *piStack_4c4;
  undefined *puStack_4c0;
  char *pcStack_4bc;
  int iStack_4b8;
  int iStack_47c;
  char cStack_478;
  char cStack_477;
  char cStack_475;
  byte bStack_474;
  undefined4 uStack_470;
  undefined4 uStack_46c;
  undefined4 uStack_468;
  undefined2 uStack_464;
  int iStack_26c;
  int iStack_268;
  undefined4 *puStack_264;
  undefined *puStack_260;
  int iStack_25c;
  undefined *puStack_258;
  char *pcStack_254;
  int iStack_250;
  undefined4 local_228;
  char local_224;
  char local_223;
  int local_24;
  
  puVar25 = PTR___stack_chk_guard_000adcd4;
  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;
  if (*(int *)(param_1 + 0x44) == -1) {
    puVar24 = (undefined4 *)0x1;
    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));
    if (iVar29 == 2) {
      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;
      goto LAB_000257e8;
    }
    if (iVar29 == 1) {
      unaff_s6 = 0;
      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);
LAB_000258a4:
      unaff_s5 = &local_224;
      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);
      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);
      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);
      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);
      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);
      *puVar21 = 4;
      puVar21[1] = 1;
      puVar30 = PTR_strlen_000adc28;
      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);
      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);
      *(undefined4 *)(puVar21 + 4) = local_228;
      iVar29 = (*(code *)puVar30)(unaff_s3);
      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);
      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);
      safefree(unaff_s3);
      puVar24 = (undefined4 *)0x0;
      safefree(puVar21);
      *(undefined4 *)(param_1 + 0x44) = 1;
      goto LAB_000257e8;
    }
    if (iVar29 == 3) {
      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);
      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);
      unaff_s6 = iVar29 + 1;
      local_228 = 1;
      goto LAB_000258a4;
    }
  }
  else {
    if (param_2 == 0) {
      puVar24 = (undefined4 *)0x0;
      (**(code **)(**(int **)(param_1 + 0xc) + 4))
                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),
                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));
    }
    else if (param_2 == 1) {
      puVar24 = (undefined4 *)0x0;
    }
    else if (param_2 == 3) {
      puVar24 = (undefined4 *)
                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))
                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),
                           *(undefined4 *)(param_1 + 0x70));
    }
    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {
      unaff_s3 = param_1 + 0x34;
      iVar29 = bufchain_size(unaff_s3);
      puVar24 = (undefined4 *)0x1;
      if (7 < iVar29) {
        bufchain_fetch(unaff_s3,&local_224,8);
        if (local_224 == '\0') {
          if (local_223 == 'Z') {
            bufchain_consume(unaff_s3,8);
            proxy_activate(param_1);
          }
          else {
            piVar27 = *(int **)(param_1 + 0xc);
            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);
            if (local_223 == '\\') {
              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);
            }
            else if (local_223 == ']') {
              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);
            }
            else {
              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);
            }
          }
        }
        else {
          (**(code **)(**(int **)(param_1 + 0xc) + 4))
                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);
        }
      }
    }
    else {
      puVar24 = (undefined4 *)0x1;
      (**(code **)(**(int **)(param_1 + 0xc) + 4))
                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);
    }
LAB_000257e8:
    if (local_24 == *(int *)puVar25) {
      return puVar24;
    }
    (*(code *)PTR___stack_chk_fail_000adca4)();
  }
  puVar14 = PTR_DAT_000ad2c8 + -0x5374;
  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;
  puVar30 = PTR___assert_fail_000adb00;
  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);
  piVar27 = *(int **)(puVar30 + 0x8818c);
  puVar21 = *(undefined1 **)(puVar12 + 0x44);
  puStack_260 = puVar25;
  iStack_26c = *piVar27;
  iStack_268 = param_1;
  puStack_264 = puVar24;
  iStack_25c = unaff_s3;
  puStack_258 = unaff_s4;
  pcStack_254 = unaff_s5;
  iStack_250 = unaff_s6;
  if (puVar21 == (undefined1 *)0xffffffff) {
    uStack_470 = CONCAT13(5,uStack_470._1_3_);
    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);
    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);
    uVar13 = uStack_470;
    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {
      uStack_470._2_2_ = (ushort)(byte)uStack_470;
      uStack_470._0_1_ = SUB41(uVar13,3);
      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);
      iStack_47c = 3;
    }
    else {
      uStack_470._2_2_ = (ushort)(byte)uStack_470;
      iStack_47c = 3;
      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);
      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;
      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);
      iStack_47c = iStack_47c + 1;
    }
    puVar24 = (undefined4 *)0x0;
    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);
    *(undefined4 *)(puVar12 + 0x44) = 1;
    goto LAB_00025bf4;
  }
  if (puVar14 == (undefined *)0x0) {
    puVar24 = (undefined4 *)0x0;
    (**(code **)(**(int **)(puVar12 + 0xc) + 4))
              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),
               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));
    goto LAB_00025bf4;
  }
  if (puVar14 == (undefined *)0x1) {
    puVar24 = (undefined4 *)0x0;
    goto LAB_00025bf4;
  }
  if (puVar14 == (undefined *)0x3) {
    puVar24 = (undefined4 *)
              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))
                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),
                         *(undefined4 *)(puVar12 + 0x70));
    goto LAB_00025bf4;
  }
  if (puVar14 != (undefined *)0x2) {
LAB_00025bc8:
    puVar24 = (undefined4 *)0x1;
    (**(code **)(**(int **)(puVar12 + 0xc) + 4))
              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);
    goto LAB_00025bf4;
  }
  puVar25 = unaff_s4;
  if (puVar21 == (undefined1 *)0x1) {
    puVar25 = puVar12 + 0x34;
    iVar29 = bufchain_size(puVar25);
    puVar24 = (undefined4 *)0x1;
    if (iVar29 < 2) goto LAB_00025bf4;
    bufchain_fetch(puVar25,&uStack_470,2);
    if (uStack_470._0_1_ != '\x05') {
      (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);
      goto LAB_00025bf4;
    }
    if (uStack_470._1_1_ == '\0') {
      *(undefined4 *)(puVar12 + 0x44) = 2;
    }
    else if (uStack_470._1_1_ == '\x01') {
      *(undefined4 *)(puVar12 + 0x44) = 4;
    }
    else if (uStack_470._1_1_ == '\x02') {
      *(undefined4 *)(puVar12 + 0x44) = 5;
    }
    else {
      if (uStack_470._1_1_ != '\x03') {
        (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);
        goto LAB_00025bf4;
      }
      *(undefined4 *)(puVar12 + 0x44) = 6;
    }
    bufchain_consume(puVar25,2);
    puVar21 = *(undefined1 **)(puVar12 + 0x44);
  }
  if (puVar21 == (undefined1 *)0x7) {
    puVar21 = puVar12 + 0x34;
    iVar29 = bufchain_size(puVar21);
    if (1 < iVar29) {
      bufchain_fetch(puVar21,&uStack_470,2);
      if (uStack_470._0_1_ == '\x01') {
        if (uStack_470._1_1_ != '\0') {
          puVar24 = (undefined4 *)0x1;
          (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);
          goto LAB_00025bf4;
        }
        bufchain_consume(puVar21,2);
        *(undefined4 *)(puVar12 + 0x44) = 2;
        goto LAB_00025f08;
      }
      (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);
    }
  }
  else {
    if (puVar21 == (undefined1 *)0x8) {
      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);
      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;
      puVar21 = *(undefined1 **)(puVar12 + 0x44);
    }
    if (puVar21 == (undefined1 *)0x2) {
LAB_00025f08:
      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));
      if (iVar29 == 1) {
        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);
        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);
        iVar29 = 9;
        iVar33 = 8;
        iVar17 = 10;
      }
      else if (iVar29 == 2) {
        uStack_470 = CONCAT31(uStack_470._0_3_,4);
        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);
        iVar29 = 0x15;
        iVar33 = 0x14;
        iVar17 = 0x16;
      }
      else {
        if (iVar29 != 3) {
          puVar24 = (undefined4 *)0x46a;
          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);
          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;
          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);
          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;
          (*UNRECOVERED_JUMPTABLE)();
          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;
          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);
          iStack_4d4 = *piVar19;
          iVar29 = iVar17;
          puStack_4d0 = puVar21;
          puStack_4cc = puVar12;
          puStack_4c8 = puVar14;
          piStack_4c4 = piVar27;
          puStack_4c0 = puVar25;
          pcStack_4bc = unaff_s5;
          iStack_4b8 = unaff_s6;
          if (iVar33 == 0) {
            pbVar16 = (byte *)0xc;
            iVar6 = conf_get_int(iVar17,0xc);
            if (iVar6 == 0) {
              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);
              if (iVar6 != 0) goto LAB_00026900;
              iVar6 = 0;
              puVar18 = puVar24;
            }
            else {
              iVar6 = 0;
              puVar18 = puVar24;
            }
LAB_000267f0:
            iVar28 = 0;
            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);
            pbVar16 = (byte *)0xa;
            pbVar8 = (byte *)conf_get_str(iVar17,10);
            bVar1 = *pbVar8;
            while (puVar24 = puVar18, bVar1 != 0) {
              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();
              iVar34 = *piVar27;
              pbVar22 = pbVar8 + iVar28;
              iVar17 = iVar28;
              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),
                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {
                iVar17 = iVar17 + 1;
                pbVar22 = pbVar8 + iVar17;
                bVar1 = *pbVar22;
                puVar24 = puVar18;
                if (bVar1 == 0) goto LAB_00026894;
              }
              uVar4 = (uint)(char)*pbVar22;
              iVar28 = iVar17;
              if (uVar4 == 0) {
                puVar11 = (undefined4 *)0x0;
              }
              else {
                do {
                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&
                      (1 < (uVar4 & 0xff) - 0x2d)) &&
                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;
                  iVar28 = iVar28 + 1;
                  uVar4 = (uint)(char)pbVar8[iVar28];
                } while (uVar4 != 0);
                puVar11 = (undefined4 *)(iVar28 - iVar17);
              }
LAB_00026960:
              if (bVar1 == 0x2a) {
                puVar18 = (undefined4 *)((int)puVar11 + -1);
                pbVar20 = pbVar8 + iVar17 + 1;
                if ((iVar33 != 0) &&
                   (pbVar16 = pbVar20, puVar24 = puVar18,
                   puVar9 = (undefined4 *)
                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))
                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),
                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;
                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))
                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);
                if (iVar17 == 0) {
                  puVar9 = (undefined4 *)0x0;
                  pbVar16 = pbVar20;
                  puVar24 = puVar18;
                  goto LAB_0002689c;
                }
              }
              else {
                pbVar16 = pbVar20;
                if (pbVar8[iVar28 + -1] == 0x2a) {
                  puVar11 = (undefined4 *)((int)puVar11 + -1);
                  if ((iVar33 != 0) &&
                     (puVar24 = puVar11,
                     puVar9 = (undefined4 *)
                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),
                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;
                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);
                }
                else {
                  if ((iVar33 != 0) &&
                     (puVar24 = puVar11,
                     puVar9 = (undefined4 *)
                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),
                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;
                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);
                }
                iVar17 = (*pcVar31)(pbVar15,pbVar20);
                puVar18 = puVar11;
                if (iVar17 == 0) {
                  puVar9 = (undefined4 *)0x0;
                  pbVar16 = pbVar20;
                  puVar24 = puVar11;
                  goto LAB_0002689c;
                }
              }
              while( true ) {
                bVar1 = pbVar8[iVar28];
                puVar9 = (undefined4 *)0x1;
                pbVar16 = pbVar20;
                puVar24 = puVar18;
                if (bVar1 == 0) goto LAB_0002689c;
                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;
                iVar28 = iVar28 + 1;
              }
              bVar1 = pbVar8[iVar28];
            }
LAB_00026894:
            puVar9 = (undefined4 *)0x1;
          }
          else {
            pbVar16 = pbVar15;
            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();
            if (iVar6 == 0) {
              pbVar16 = (byte *)0xc;
              iVar6 = conf_get_int(iVar17,0xc);
              if ((iVar6 != 0) ||
                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&
                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {
                puVar18 = (undefined4 *)&DAT_00000040;
                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);
                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);
                goto LAB_000267f0;
              }
            }
LAB_00026900:
            puVar9 = (undefined4 *)0x0;
          }
LAB_0002689c:
          if (iStack_4d4 == *piVar19) {
            return puVar9;
          }
          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);
          iVar33 = iStack_4d4;
          (*UNRECOVERED_JUMPTABLE)();
          iVar17 = conf_get_int(iVar29,0xd);
          if ((iVar17 != 0) &&
             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||
               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&
                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&
              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {
            if (iStack_534 != 0) {
              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)
              ;
              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);
              safefree(uVar13);
            }
            uVar13 = dupstr(iVar33);
            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);
            *puVar24 = uVar13;
                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);
            return puVar24;
          }
          if (iStack_534 != 0) {
            if (pcVar32 == (code *)0x1) {
              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;
            }
            else if (pcVar32 == (code *)0x2) {
              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;
            }
            else {
              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;
            }
            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,
                               pbVar15);
            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);
            safefree(uVar13);
          }
                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          puVar24 = (undefined4 *)
                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);
          return puVar24;
        }
        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);
        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)
        ;
        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);
        iVar29 = (int)cVar10;
        iVar17 = iVar29 + 7;
        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);
        iVar33 = iVar29 + 5;
        iVar29 = iVar29 + 6;
      }
      uVar13 = *(undefined4 *)(puVar12 + 0x14);
      piVar19 = *(int **)(puVar12 + 8);
      puVar24 = (undefined4 *)0x1;
      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;
      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);
      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);
      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;
      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);
      *(undefined4 *)(puVar12 + 0x44) = 3;
      goto LAB_00025bf4;
    }
    if (puVar21 != (undefined1 *)0x3) {
      if (puVar21 == &DAT_00000004) {
        puVar24 = (undefined4 *)0x1;
        (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);
        goto LAB_00025bf4;
      }
      if (puVar21 == (undefined1 *)0x5) {
        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);
        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);
        if (*pcVar2 == '\0') {
          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);
          if (*pcVar3 == '\0') {
            puVar24 = (undefined4 *)0x1;
            (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);
            goto LAB_00025bf4;
          }
        }
        else {
          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);
        }
        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);
        if (uVar4 < 0x100) {
          if (uVar4 == 0) {
            iVar29 = 4;
            iVar33 = 3;
            uVar23 = 1;
            uVar4 = 1;
          }
          else {
            iVar33 = uVar4 + 2;
            iVar29 = uVar4 + 3;
            uVar23 = (undefined1)uVar4;
          }
        }
        else {
          iVar29 = 0x102;
          iVar33 = 0x101;
          uVar23 = 0xff;
          uVar4 = 0xff;
        }
        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);
        if (uVar5 < 0x100) {
          if (uVar5 == 0) {
            uVar5 = 1;
            uVar26 = 1;
          }
          else {
            uVar26 = (undefined1)uVar5;
          }
        }
        else {
          uVar5 = 0xff;
          uVar26 = 0xff;
        }
        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);
        uStack_470 = CONCAT13(1,uStack_470._1_3_);
        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);
        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);
        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;
        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);
        puVar24 = (undefined4 *)0x1;
        (**(code **)(**(int **)(puVar12 + 8) + 8))
                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);
        *(undefined4 *)(puVar12 + 0x44) = 7;
        goto LAB_00025bf4;
      }
      if ((puVar21 == (undefined1 *)0x6) &&
         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))
      goto LAB_00025bf4;
      goto LAB_00025bc8;
    }
    puVar25 = puVar12 + 0x34;
    iVar29 = bufchain_size(puVar25);
    if (4 < iVar29) {
      bufchain_fetch(puVar25,&cStack_478,5);
      if (cStack_478 != '\x05') {
        puVar24 = (undefined4 *)0x1;
        (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);
        goto LAB_00025bf4;
      }
      if (cStack_477 != 0) {
        iVar29 = *(int *)(puVar30 + 0x87780);
        puVar18 = &uStack_470;
        uVar4 = (int)cStack_477 - 1U & 0xff;
        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);
        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);
        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);
        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);
        if (7 < uVar4) goto LAB_00026460;
                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        puVar24 = (undefined4 *)
                  (*(code *)(puVar30 +
                            (int)("Service lookup failed for source port \"%s\"" +
                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)
                            ))();
        return puVar24;
      }
      if (cStack_475 == '\x03') {
        iVar29 = bStack_474 + 6;
      }
      else if (cStack_475 == '\x04') {
        iVar29 = 0x16;
      }
      else {
        if (cStack_475 != '\x01') {
          puVar24 = (undefined4 *)0x1;
          (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);
          goto LAB_00025bf4;
        }
        iVar29 = 10;
      }
      iVar33 = bufchain_size(puVar25);
      if (iVar29 <= iVar33) {
        puVar24 = (undefined4 *)0x1;
        bufchain_consume(puVar25,iVar29);
        proxy_activate(puVar12);
        goto LAB_00025bf4;
      }
    }
  }
  puVar24 = (undefined4 *)0x1;
LAB_00025bf4:
  while (iStack_26c != *piVar27) {
    (**(code **)(puVar30 + 0x8815c))();
    puVar18 = puVar24;
LAB_00026460:
    (**(code **)(puVar30 + 0x87fa8))
              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);
    puVar24 = (undefined4 *)0x1;
    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);
  }
  return puVar24;
}


lui gp,0x9
addiu gp,gp,-0x4b8
addu gp,gp,t9
addiu sp,sp,-0x240
li v0,-0x1
sw s2,0x228(sp)
sw s1,0x224(sp)
lw s2,-0x75bc(gp)
lw s1,0x44(a0)
sw gp,0x10(sp)
sw s0,0x220(sp)
or s0,a0,zero
sw ra,0x23c(sp)
sw s6,0x238(sp)
sw s5,0x234(sp)
sw s4,0x230(sp)
sw s3,0x22c(sp)
lw v1,0x0(s2)
sw v1,0x21c(sp)
beq s1,v0,0x0002584c
_lw t9,-0x7d38(gp)
beq a1,zero,0x00025820
_li v0,0x1
beq a1,v0,0x000259a8
_li v1,0x3
beq a1,v1,0x00025a34
_li v1,0x2
beq a1,v1,0x000259b0
_nop
lw v0,0xc(s0)
or a3,zero,zero
lw a1,-0x7fc8(gp)
li a2,0x1f41
li s1,0x1
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x4(v0)
jalr t9
_addiu a1,a1,-0x531c
lw gp,0x10(sp)
lw a0,0x21c(sp)
or v0,s1,zero
lw v1,0x0(s2)
bne a0,v1,0x00025b18
_lw ra,0x23c(sp)
lw s6,0x238(sp)
lw s5,0x234(sp)
lw s4,0x230(sp)
lw s3,0x22c(sp)
lw s2,0x228(sp)
lw s1,0x224(sp)
lw s0,0x220(sp)
jr ra
_addiu sp,sp,0x240
lw v0,0xc(a0)
lw a3,0x58(a0)
lw a2,0x54(a0)
lw a1,0x50(a0)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x4(v0)
jalr t9
_or s1,zero,zero
b 0x000257e8
_lw gp,0x10(sp)
li s1,0x1
jalr t9
_lw a0,0x10(a0)
li v1,0x2
beq v0,v1,0x00025a60
_lw gp,0x10(sp)
beq v0,s1,0x00025a70
_li v1,0x3
bne v0,v1,0x00025b24
_lw t9,-0x7e8c(gp)
addiu s5,sp,0x1c
lw a0,0x10(s0)
li a2,0x200
jalr t9
_or a1,s5,zero
lw gp,0x10(sp)
lw t9,-0x7668(gp)
jalr t9
_or a0,s5,zero
lw gp,0x10(sp)
addiu s6,v0,0x1
sw s1,0x18(sp)
lw t9,-0x7f18(gp)
li a1,0x10
bal 0x0001d010
_lw a0,0x74(s0)
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x7668(gp)
jalr t9
_or s3,v0,zero
li a1,0x1
lw gp,0x10(sp)
addu v0,v0,s6
addiu s4,v0,0x9
lw t9,-0x7e7c(gp)
bal 0x00022094
_or a0,s4,zero
or a1,s3,zero
lw gp,0x10(sp)
addiu a0,v0,0x8
lw t9,-0x761c(gp)
jalr t9
_or s1,v0,zero
li v0,0x4
lw gp,0x10(sp)
or a0,s3,zero
sb v0,0x0(s1)
li v0,0x1
sb v0,0x1(s1)
lw v0,0x14(s0)
lw t9,-0x7668(gp)
sra v0,v0,0x8
sb v0,0x2(s1)
lw v0,0x14(s0)
sb v0,0x3(s1)
lw v0,0x18(sp)
swl v0,0x4(s1)
jalr t9
_swr v0,0x7(s1)
or a2,s6,zero
lw gp,0x10(sp)
addiu v0,v0,0x9
or a1,s5,zero
lw t9,-0x75b8(gp)
jalr t9
_addu a0,s1,v0
or a1,s1,zero
lw v0,0x8(s0)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x8(v0)
jalr t9
_or a2,s4,zero
lw gp,0x10(sp)
lw t9,-0x7f10(gp)
bal 0x00022dc4
_or a0,s3,zero
or a0,s1,zero
lw gp,0x10(sp)
lw t9,-0x7f10(gp)
bal 0x00022dc4
_or s1,zero,zero
li v0,0x1
lw gp,0x10(sp)
b 0x000257e8
_sw v0,0x44(s0)
b 0x000257e8
_or s1,zero,zero
bne s1,v0,0x000257bc
_lw t9,-0x7f90(gp)
addiu s3,a0,0x34
bal 0x00021e70
_or a0,s3,zero
slti v0,v0,0x8
bne v0,zero,0x000257e8
_lw gp,0x10(sp)
lw t9,-0x7e78(gp)
li a2,0x8
addiu a1,sp,0x1c
bal 0x00021fa4
_or a0,s3,zero
lb v0,0x1c(sp)
bne v0,zero,0x00025a90
_lw gp,0x10(sp)
lb v0,0x1d(sp)
li v1,0x5a
beq v0,v1,0x00025af0
_li v1,0x5c
lw a0,0xc(s0)
lw a1,0x0(a0)
beq v0,v1,0x00025ad4
_lw t9,0x4(a1)
li v1,0x5d
beq v0,v1,0x00025abc
_or a3,zero,zero
lw a1,-0x7fc8(gp)
li a2,0x1f40
jalr t9
_addiu a1,a1,-0x51f8
b 0x000257e8
_lw gp,0x10(sp)
lw v0,0xc(a0)
lw a2,0x70(a0)
lw a1,0x6c(a0)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x10(v0)
jalr t9
_nop
lw gp,0x10(sp)
b 0x000257e8
_or s1,v0,zero
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x52f8
b 0x000257e8
_sw v0,0x4(s0)
lw t9,-0x7d34(gp)
addiu a1,sp,0x18
lw a0,0x10(s0)
addiu s5,sp,0x1c
jalr t9
_or s6,zero,zero
b 0x000258a4
_lw gp,0x10(sp)
lw v0,0xc(s0)
or a3,zero,zero
lw a1,-0x7fc8(gp)
li a2,0x1f40
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x4(v0)
jalr t9
_addiu a1,a1,-0x52ac
b 0x000257e8
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
li a2,0x1f40
jalr t9
_addiu a1,a1,-0x5230
b 0x000257e8
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a3,zero,zero
li a2,0x1f40
jalr t9
_addiu a1,a1,-0x5264
b 0x000257e8
_lw gp,0x10(sp)
lw t9,-0x7f7c(gp)
li a1,0x8
bal 0x00021e78
_or a0,s3,zero
lw gp,0x10(sp)
lw t9,-0x7d3c(gp)
bal 0x00024e24
_or a0,s0,zero
b 0x000257e8
_lw gp,0x10(sp)
lw t9,-0x75ec(gp)
jalr t9
_nop
lw a3,-0x7fc8(gp)
li a2,0x32a
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7790(gp)
addiu a3,a3,-0x4ce8
addiu a1,a1,-0x5374
jalr t9
_addiu a0,a0,-0x52c4
(translation_unit "undefined4 * proxy_socks4_negotiate(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar10;\n  char *pcVar2;\n  char *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  byte *pbVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  int *piVar19;\n  byte *pbVar20;\n  undefined1 *puVar21;\n  undefined1 uVar23;\n  byte *pbVar22;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  undefined1 uVar26;\n  int unaff_s3;\n  int *piVar27;\n  undefined *unaff_s4;\n  int iVar28;\n  char *unaff_s5;\n  int unaff_s6;\n  int iVar29;\n  undefined *puVar30;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar31;\n  code *pcVar32;\n  int iVar33;\n  int iVar34;\n  int iStack_534;\n  undefined1 auStack_514 [64];\n  int iStack_4d4;\n  undefined1 *puStack_4d0;\n  undefined *puStack_4cc;\n  undefined *puStack_4c8;\n  int *piStack_4c4;\n  undefined *puStack_4c0;\n  char *pcStack_4bc;\n  int iStack_4b8;\n  int iStack_47c;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  int iStack_268;\n  undefined4 *puStack_264;\n  undefined *puStack_260;\n  int iStack_25c;\n  undefined *puStack_258;\n  char *pcStack_254;\n  int iStack_250;\n  undefined4 local_228;\n  char local_224;\n  char local_223;\n  int local_24;\n  \n  puVar25 = PTR___stack_chk_guard_000adcd4;\n  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;\n  if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }\n  puVar14 = PTR_DAT_000ad2c8 + -0x5374;\n  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;\n  puVar30 = PTR___assert_fail_000adb00;\n  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);\n  piVar27 = *(int **)(puVar30 + 0x8818c);\n  puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  puStack_260 = puVar25;\n  iStack_26c = *piVar27;\n  iStack_268 = param_1;\n  puStack_264 = puVar24;\n  iStack_25c = unaff_s3;\n  puStack_258 = unaff_s4;\n  pcStack_254 = unaff_s5;\n  iStack_250 = unaff_s6;\n  if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }\n  puVar25 = unaff_s4;\n  if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }\n  if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }\n  puVar24 = (undefined4 *)0x1;\nLAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }\n  return puVar24;\n}\n\n" (function_definition "undefined4 * proxy_socks4_negotiate(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar10;\n  char *pcVar2;\n  char *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  byte *pbVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  int *piVar19;\n  byte *pbVar20;\n  undefined1 *puVar21;\n  undefined1 uVar23;\n  byte *pbVar22;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  undefined1 uVar26;\n  int unaff_s3;\n  int *piVar27;\n  undefined *unaff_s4;\n  int iVar28;\n  char *unaff_s5;\n  int unaff_s6;\n  int iVar29;\n  undefined *puVar30;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar31;\n  code *pcVar32;\n  int iVar33;\n  int iVar34;\n  int iStack_534;\n  undefined1 auStack_514 [64];\n  int iStack_4d4;\n  undefined1 *puStack_4d0;\n  undefined *puStack_4cc;\n  undefined *puStack_4c8;\n  int *piStack_4c4;\n  undefined *puStack_4c0;\n  char *pcStack_4bc;\n  int iStack_4b8;\n  int iStack_47c;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  int iStack_268;\n  undefined4 *puStack_264;\n  undefined *puStack_260;\n  int iStack_25c;\n  undefined *puStack_258;\n  char *pcStack_254;\n  int iStack_250;\n  undefined4 local_228;\n  char local_224;\n  char local_223;\n  int local_24;\n  \n  puVar25 = PTR___stack_chk_guard_000adcd4;\n  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;\n  if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }\n  puVar14 = PTR_DAT_000ad2c8 + -0x5374;\n  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;\n  puVar30 = PTR___assert_fail_000adb00;\n  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);\n  piVar27 = *(int **)(puVar30 + 0x8818c);\n  puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  puStack_260 = puVar25;\n  iStack_26c = *piVar27;\n  iStack_268 = param_1;\n  puStack_264 = puVar24;\n  iStack_25c = unaff_s3;\n  puStack_258 = unaff_s4;\n  pcStack_254 = unaff_s5;\n  iStack_250 = unaff_s6;\n  if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }\n  puVar25 = unaff_s4;\n  if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }\n  if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }\n  puVar24 = (undefined4 *)0x1;\nLAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }\n  return puVar24;\n}" type_identifier (pointer_declarator "* proxy_socks4_negotiate(int param_1,int param_2)" * (function_declarator "proxy_socks4_negotiate(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  byte bVar1;\n  char cVar10;\n  char *pcVar2;\n  char *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  byte *pbVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  int *piVar19;\n  byte *pbVar20;\n  undefined1 *puVar21;\n  undefined1 uVar23;\n  byte *pbVar22;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  undefined1 uVar26;\n  int unaff_s3;\n  int *piVar27;\n  undefined *unaff_s4;\n  int iVar28;\n  char *unaff_s5;\n  int unaff_s6;\n  int iVar29;\n  undefined *puVar30;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar31;\n  code *pcVar32;\n  int iVar33;\n  int iVar34;\n  int iStack_534;\n  undefined1 auStack_514 [64];\n  int iStack_4d4;\n  undefined1 *puStack_4d0;\n  undefined *puStack_4cc;\n  undefined *puStack_4c8;\n  int *piStack_4c4;\n  undefined *puStack_4c0;\n  char *pcStack_4bc;\n  int iStack_4b8;\n  int iStack_47c;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  int iStack_268;\n  undefined4 *puStack_264;\n  undefined *puStack_260;\n  int iStack_25c;\n  undefined *puStack_258;\n  char *pcStack_254;\n  int iStack_250;\n  undefined4 local_228;\n  char local_224;\n  char local_223;\n  int local_24;\n  \n  puVar25 = PTR___stack_chk_guard_000adcd4;\n  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;\n  if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }\n  puVar14 = PTR_DAT_000ad2c8 + -0x5374;\n  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;\n  puVar30 = PTR___assert_fail_000adb00;\n  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);\n  piVar27 = *(int **)(puVar30 + 0x8818c);\n  puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  puStack_260 = puVar25;\n  iStack_26c = *piVar27;\n  iStack_268 = param_1;\n  puStack_264 = puVar24;\n  iStack_25c = unaff_s3;\n  puStack_258 = unaff_s4;\n  pcStack_254 = unaff_s5;\n  iStack_250 = unaff_s6;\n  if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }\n  puVar25 = unaff_s4;\n  if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }\n  if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }\n  puVar24 = (undefined4 *)0x1;\nLAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }\n  return puVar24;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 uVar23;" type_identifier identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 uVar26;" type_identifier identifier ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "undefined *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "char *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "undefined *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "int iStack_534;" primitive_type identifier ;) (declaration "undefined1 auStack_514 [64];" type_identifier (array_declarator "auStack_514 [64]" identifier [ number_literal ]) ;) (declaration "int iStack_4d4;" primitive_type identifier ;) (declaration "undefined1 *puStack_4d0;" type_identifier (pointer_declarator "*puStack_4d0" * identifier) ;) (declaration "undefined *puStack_4cc;" type_identifier (pointer_declarator "*puStack_4cc" * identifier) ;) (declaration "undefined *puStack_4c8;" type_identifier (pointer_declarator "*puStack_4c8" * identifier) ;) (declaration "int *piStack_4c4;" primitive_type (pointer_declarator "*piStack_4c4" * identifier) ;) (declaration "undefined *puStack_4c0;" type_identifier (pointer_declarator "*puStack_4c0" * identifier) ;) (declaration "char *pcStack_4bc;" primitive_type (pointer_declarator "*pcStack_4bc" * identifier) ;) (declaration "int iStack_4b8;" primitive_type identifier ;) (declaration "int iStack_47c;" primitive_type identifier ;) (declaration "char cStack_478;" primitive_type identifier ;) (declaration "char cStack_477;" primitive_type identifier ;) (declaration "char cStack_475;" primitive_type identifier ;) (declaration "byte bStack_474;" type_identifier identifier ;) (declaration "undefined4 uStack_470;" type_identifier identifier ;) (declaration "undefined4 uStack_46c;" type_identifier identifier ;) (declaration "undefined4 uStack_468;" type_identifier identifier ;) (declaration "undefined2 uStack_464;" type_identifier identifier ;) (declaration "int iStack_26c;" primitive_type identifier ;) (declaration "int iStack_268;" primitive_type identifier ;) (declaration "undefined4 *puStack_264;" type_identifier (pointer_declarator "*puStack_264" * identifier) ;) (declaration "undefined *puStack_260;" type_identifier (pointer_declarator "*puStack_260" * identifier) ;) (declaration "int iStack_25c;" primitive_type identifier ;) (declaration "undefined *puStack_258;" type_identifier (pointer_declarator "*puStack_258" * identifier) ;) (declaration "char *pcStack_254;" primitive_type (pointer_declarator "*pcStack_254" * identifier) ;) (declaration "int iStack_250;" primitive_type identifier ;) (declaration "undefined4 local_228;" type_identifier identifier ;) (declaration "char local_224;" primitive_type identifier ;) (declaration "char local_223;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar25 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar25 = PTR___stack_chk_guard_000adcd4" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000adcd4" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" * (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x44) == -1)" ( (binary_expression "*(int *)(param_1 + 0x44) == -1" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));" (assignment_expression "iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10))" identifier = (call_expression "(*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10))" (parenthesized_expression "(*(code *)PTR_sk_addrtype_000ad558)" ( (pointer_expression "*(code *)PTR_sk_addrtype_000ad558" * (cast_expression "(code *)PTR_sk_addrtype_000ad558" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }" { (expression_statement "*(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;" (assignment_expression "*(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8" (pointer_expression "*(undefined **)(param_1 + 4)" * (cast_expression "(undefined **)(param_1 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "PTR_DAT_000ad2c8 + -0x52f8" identifier + number_literal)) ;) (goto_statement "goto LAB_000257e8;" goto statement_identifier ;) })) (if_statement "if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }" if (parenthesized_expression "(iVar29 == 1)" ( (binary_expression "iVar29 == 1" identifier == number_literal) )) (compound_statement "{\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }" { (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);" (call_expression "(*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228)" (parenthesized_expression "(*(code *)PTR_sk_addrcopy_000ad55c)" ( (pointer_expression "*(code *)PTR_sk_addrcopy_000ad55c" * (cast_expression "(code *)PTR_sk_addrcopy_000ad55c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10),&local_228)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (pointer_expression "&local_228" & identifier) ))) ;) (labeled_statement "LAB_000258a4:\n      unaff_s5 = &local_224;" statement_identifier : (expression_statement "unaff_s5 = &local_224;" (assignment_expression "unaff_s5 = &local_224" identifier = (pointer_expression "&local_224" & identifier)) ;)) (expression_statement "unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);" (assignment_expression "unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10)" identifier = (call_expression "conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x74),0x10)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x74)" * (cast_expression "(undefined4 *)(param_1 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_strlen_000adc28)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_000adc28)" ( (pointer_expression "*(code *)PTR_strlen_000adc28" * (cast_expression "(code *)PTR_strlen_000adc28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);" (assignment_expression "unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9)" identifier = (cast_expression "(undefined *)(iVar29 + unaff_s6 + 9)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + unaff_s6 + 9)" ( (binary_expression "iVar29 + unaff_s6 + 9" (binary_expression "iVar29 + unaff_s6" identifier + identifier) + number_literal) )))) ;) (expression_statement "puVar21 = (undefined1 *)safemalloc(unaff_s4,1);" (assignment_expression "puVar21 = (undefined1 *)safemalloc(unaff_s4,1)" identifier = (cast_expression "(undefined1 *)safemalloc(unaff_s4,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(unaff_s4,1)" identifier (argument_list "(unaff_s4,1)" ( identifier , number_literal ))))) ;) (expression_statement "(*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);" (call_expression "(*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3)" (parenthesized_expression "(*(code *)PTR_strcpy_000adc74)" ( (pointer_expression "*(code *)PTR_strcpy_000adc74" * (cast_expression "(code *)PTR_strcpy_000adc74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar21 + 8,unaff_s3)" ( (binary_expression "puVar21 + 8" identifier + number_literal) , identifier ))) ;) (expression_statement "*puVar21 = 4;" (assignment_expression "*puVar21 = 4" (pointer_expression "*puVar21" * identifier) = number_literal) ;) (expression_statement "puVar21[1] = 1;" (assignment_expression "puVar21[1] = 1" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30 = PTR_strlen_000adc28;" (assignment_expression "puVar30 = PTR_strlen_000adc28" identifier = identifier) ;) (expression_statement "puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);" (assignment_expression "puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" (subscript_expression "puVar21[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" ( (binary_expression "(uint)*(undefined4 *)(param_1 + 0x14) >> 8" (binary_expression "(uint)*(undefined4 *)(param_1 + 0x14)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);" (assignment_expression "puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14)" (subscript_expression "puVar21[3]" identifier [ number_literal ]) = (cast_expression "(char)*(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "*(undefined4 *)(puVar21 + 4) = local_228;" (assignment_expression "*(undefined4 *)(puVar21 + 4) = local_228" (pointer_expression "*(undefined4 *)(puVar21 + 4)" * (cast_expression "(undefined4 *)(puVar21 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 4)" ( (binary_expression "puVar21 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar29 = (*(code *)puVar30)(unaff_s3);" (assignment_expression "iVar29 = (*(code *)puVar30)(unaff_s3)" identifier = (call_expression "(*(code *)puVar30)(unaff_s3)" (parenthesized_expression "(*(code *)puVar30)" ( (pointer_expression "*(code *)puVar30" * (cast_expression "(code *)puVar30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);" (call_expression "(*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_memcpy_000adcd8)" ( (pointer_expression "*(code *)PTR_memcpy_000adcd8" * (cast_expression "(code *)PTR_memcpy_000adcd8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar21 + iVar29 + 9,unaff_s5,unaff_s6)" ( (binary_expression "puVar21 + iVar29 + 9" (binary_expression "puVar21 + iVar29" identifier + identifier) + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);" (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" * (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" ( (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" * (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 8),puVar21,unaff_s4)" ( (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "safefree(unaff_s3);" (call_expression "safefree(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "safefree(puVar21);" (call_expression "safefree(puVar21)" identifier (argument_list "(puVar21)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x44) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x44) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x44)" * (cast_expression "(undefined4 *)(param_1 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000257e8;" goto statement_identifier ;) })) (if_statement "if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }" if (parenthesized_expression "(iVar29 == 3)" ( (binary_expression "iVar29 == 3" identifier == number_literal) )) (compound_statement "{\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }" { (expression_statement "(*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);" (call_expression "(*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200)" (parenthesized_expression "(*(code *)PTR_sk_getaddr_000ad404)" ( (pointer_expression "*(code *)PTR_sk_getaddr_000ad404" * (cast_expression "(code *)PTR_sk_getaddr_000ad404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10),&local_224,0x200)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (pointer_expression "&local_224" & identifier) , number_literal ))) ;) (expression_statement "iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224)" identifier = (call_expression "(*(code *)PTR_strlen_000adc28)(&local_224)" (parenthesized_expression "(*(code *)PTR_strlen_000adc28)" ( (pointer_expression "*(code *)PTR_strlen_000adc28" * (cast_expression "(code *)PTR_strlen_000adc28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_224)" ( (pointer_expression "&local_224" & identifier) )))) ;) (expression_statement "unaff_s6 = iVar29 + 1;" (assignment_expression "unaff_s6 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "local_228 = 1;" (assignment_expression "local_228 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000258a4;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" else (compound_statement "{\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" { (if_statement "if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58))" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" ( (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" * (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58))" ( (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x50)" * (cast_expression "(undefined4 *)(param_1 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x54)" * (cast_expression "(undefined4 *)(param_1 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x58)" * (cast_expression "(undefined4 *)(param_1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) ))) ;) }) (else_clause "else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" else (if_statement "if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n      puVar24 = (undefined4 *)0x0;\n    }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" else (if_statement "if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" if (parenthesized_expression "(param_2 == 3)" ( (binary_expression "param_2 == 3" identifier == number_literal) )) (compound_statement "{\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }" { (expression_statement "puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));" (assignment_expression "puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" identifier = (cast_expression "(undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 0x10))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 0x10)" * (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 0x10)" * (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0xc) + 0x10)" ( (binary_expression "**(int **)(param_1 + 0xc) + 0x10" (pointer_expression "**(int **)(param_1 + 0xc)" * (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" ( (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" * (cast_expression "(undefined4 *)(param_1 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x70)" * (cast_expression "(undefined4 *)(param_1 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) ))))) ;) }) (else_clause "else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" else (if_statement "if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" if (parenthesized_expression "((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1))" ( (binary_expression "(param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)" (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x44) == 1)" ( (binary_expression "*(int *)(param_1 + 0x44) == 1" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }" { (expression_statement "unaff_s3 = param_1 + 0x34;" (assignment_expression "unaff_s3 = param_1 + 0x34" identifier = (binary_expression "param_1 + 0x34" identifier + number_literal)) ;) (expression_statement "iVar29 = bufchain_size(unaff_s3);" (assignment_expression "iVar29 = bufchain_size(unaff_s3)" identifier = (call_expression "bufchain_size(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }" if (parenthesized_expression "(7 < iVar29)" ( (binary_expression "7 < iVar29" number_literal < identifier) )) (compound_statement "{\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }" { (expression_statement "bufchain_fetch(unaff_s3,&local_224,8);" (call_expression "bufchain_fetch(unaff_s3,&local_224,8)" identifier (argument_list "(unaff_s3,&local_224,8)" ( identifier , (pointer_expression "&local_224" & identifier) , number_literal ))) ;) (if_statement "if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" if (parenthesized_expression "(local_224 == '\0')" ( (binary_expression "local_224 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }" { (if_statement "if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" if (parenthesized_expression "(local_223 == 'Z')" ( (binary_expression "local_223 == 'Z'" identifier == (char_literal "'Z'" ' character ')) )) (compound_statement "{\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }" { (expression_statement "bufchain_consume(unaff_s3,8);" (call_expression "bufchain_consume(unaff_s3,8)" identifier (argument_list "(unaff_s3,8)" ( identifier , number_literal ))) ;) (expression_statement "proxy_activate(param_1);" (call_expression "proxy_activate(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) }) (else_clause "else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" else (compound_statement "{\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" { (expression_statement "piVar27 = *(int **)(param_1 + 0xc);" (assignment_expression "piVar27 = *(int **)(param_1 + 0xc)" identifier = (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4)" identifier = (pointer_expression "*(code **)(*piVar27 + 4)" * (cast_expression "(code **)(*piVar27 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar27 + 4)" ( (binary_expression "*piVar27 + 4" (pointer_expression "*piVar27" * identifier) + number_literal) ))))) ;) (if_statement "if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" if (parenthesized_expression "(local_223 == '\\')" ( (binary_expression "local_223 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0)" ( identifier , (binary_expression "PTR_DAT_000ad2c8 + -0x5264" identifier + number_literal) , number_literal , number_literal ))) ;) }) (else_clause "else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" else (if_statement "if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" if (parenthesized_expression "(local_223 == ']')" ( (binary_expression "local_223 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0)" ( identifier , (binary_expression "PTR_DAT_000ad2c8 + -0x5230" identifier + number_literal) , number_literal , number_literal ))) ;) }) (else_clause "else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" else (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000)" ( identifier , (binary_expression "PTR_DAT_000ad2c8 + -0x51f8" identifier + number_literal) , number_literal ))) ;) }))))) }))) }) (else_clause "else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" else (compound_statement "{\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" { (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" ( (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" * (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0)" ( (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (binary_expression "PTR_DAT_000ad2c8 + -0x52ac" identifier + number_literal) , number_literal , number_literal ))) ;) }))) })) }) (else_clause "else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" else (compound_statement "{\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" ( (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" * (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0)" ( (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (binary_expression "PTR_DAT_000ad2c8 + -0x531c" identifier + number_literal) , number_literal , number_literal ))) ;) }))))))))) (labeled_statement "LAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }" statement_identifier : (if_statement "if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }" if (parenthesized_expression "(local_24 == *(int *)puVar25)" ( (binary_expression "local_24 == *(int *)puVar25" identifier == (pointer_expression "*(int *)puVar25" * (cast_expression "(int *)puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return puVar24;\n    }" { (return_statement "return puVar24;" return identifier ;) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" * (cast_expression "(code *)PTR___stack_chk_fail_000adca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "puVar14 = PTR_DAT_000ad2c8 + -0x5374;" (assignment_expression "puVar14 = PTR_DAT_000ad2c8 + -0x5374" identifier = (binary_expression "PTR_DAT_000ad2c8 + -0x5374" identifier + number_literal)) ;) (expression_statement "puVar12 = PTR_DAT_000ad2c8 + -0x52c4;" (assignment_expression "puVar12 = PTR_DAT_000ad2c8 + -0x52c4" identifier = (binary_expression "PTR_DAT_000ad2c8 + -0x52c4" identifier + number_literal)) ;) (expression_statement "puVar30 = PTR___assert_fail_000adb00;" (assignment_expression "puVar30 = PTR___assert_fail_000adb00" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);" (call_expression "(*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8)" (parenthesized_expression "(*(code *)PTR___assert_fail_000adb00)" ( (pointer_expression "*(code *)PTR___assert_fail_000adb00" * (cast_expression "(code *)PTR___assert_fail_000adb00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8)" ( identifier , identifier , number_literal , (binary_expression "PTR_DAT_000ad2c8 + -0x4ce8" identifier + number_literal) ))) ;) (expression_statement "piVar27 = *(int **)(puVar30 + 0x8818c);" (assignment_expression "piVar27 = *(int **)(puVar30 + 0x8818c)" identifier = (pointer_expression "*(int **)(puVar30 + 0x8818c)" * (cast_expression "(int **)(puVar30 + 0x8818c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x8818c)" ( (binary_expression "puVar30 + 0x8818c" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" identifier = (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" * (cast_expression "(undefined1 **)(puVar12 + 0x44)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "puStack_260 = puVar25;" (assignment_expression "puStack_260 = puVar25" identifier = identifier) ;) (expression_statement "iStack_26c = *piVar27;" (assignment_expression "iStack_26c = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "iStack_268 = param_1;" (assignment_expression "iStack_268 = param_1" identifier = identifier) ;) (expression_statement "puStack_264 = puVar24;" (assignment_expression "puStack_264 = puVar24" identifier = identifier) ;) (expression_statement "iStack_25c = unaff_s3;" (assignment_expression "iStack_25c = unaff_s3" identifier = identifier) ;) (expression_statement "puStack_258 = unaff_s4;" (assignment_expression "puStack_258 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_254 = unaff_s5;" (assignment_expression "pcStack_254 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_250 = unaff_s6;" (assignment_expression "iStack_250 = unaff_s6" identifier = identifier) ;) (if_statement "if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar21 == (undefined1 *)0xffffffff)" ( (binary_expression "puVar21 == (undefined1 *)0xffffffff" identifier == (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }" { (expression_statement "uStack_470 = CONCAT13(5,uStack_470._1_3_);" (assignment_expression "uStack_470 = CONCAT13(5,uStack_470._1_3_)" identifier = (call_expression "CONCAT13(5,uStack_470._1_3_)" identifier (argument_list "(5,uStack_470._1_3_)" ( number_literal , (field_expression "uStack_470._1_3_" identifier . field_identifier) )))) ;) (expression_statement "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);" (assignment_expression "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" identifier = (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" identifier (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x10)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" * (cast_expression "(undefined4 *)(puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x74)" ( (binary_expression "puVar12 + 0x74" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);" (assignment_expression "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" identifier = (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" identifier (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x11)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" * (cast_expression "(undefined4 *)(puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x74)" ( (binary_expression "puVar12 + 0x74" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "uVar13 = uStack_470;" (assignment_expression "uVar13 = uStack_470" identifier = identifier) ;) (if_statement "if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" if (parenthesized_expression "((*pcVar2 == '\0') && (*pcVar3 == '\0'))" ( (binary_expression "(*pcVar2 == '\0') && (*pcVar3 == '\0')" (parenthesized_expression "(*pcVar2 == '\0')" ( (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*pcVar3 == '\0')" ( (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }" { (expression_statement "uStack_470._2_2_ = (ushort)(byte)uStack_470;" (assignment_expression "uStack_470._2_2_ = (ushort)(byte)uStack_470" (field_expression "uStack_470._2_2_" identifier . field_identifier) = (cast_expression "(ushort)(byte)uStack_470" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(byte)uStack_470" ( (type_descriptor "byte" type_identifier) ) identifier))) ;) (expression_statement "uStack_470._0_1_ = SUB41(uVar13,3);" (assignment_expression "uStack_470._0_1_ = SUB41(uVar13,3)" (field_expression "uStack_470._0_1_" identifier . field_identifier) = (call_expression "SUB41(uVar13,3)" identifier (argument_list "(uVar13,3)" ( identifier , number_literal )))) ;) (expression_statement "uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" identifier . field_identifier) = (call_expression "CONCAT12(1,uStack_470._2_2_)" identifier (argument_list "(1,uStack_470._2_2_)" ( number_literal , (field_expression "uStack_470._2_2_" identifier . field_identifier) )))) ;) (expression_statement "iStack_47c = 3;" (assignment_expression "iStack_47c = 3" identifier = number_literal) ;) }) (else_clause "else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" else (compound_statement "{\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" { (expression_statement "uStack_470._2_2_ = (ushort)(byte)uStack_470;" (assignment_expression "uStack_470._2_2_ = (ushort)(byte)uStack_470" (field_expression "uStack_470._2_2_" identifier . field_identifier) = (cast_expression "(ushort)(byte)uStack_470" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(byte)uStack_470" ( (type_descriptor "byte" type_identifier) ) identifier))) ;) (expression_statement "iStack_47c = 3;" (assignment_expression "iStack_47c = 3" identifier = number_literal) ;) (expression_statement "proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);" (call_expression "proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c)" identifier (argument_list "(&uStack_470,&iStack_47c)" ( (pointer_expression "&uStack_470" & identifier) , (pointer_expression "&iStack_47c" & identifier) ))) ;) (expression_statement "*(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;" (assignment_expression "*(undefined1 *)((int)&uStack_470 + iStack_47c) = 2" (pointer_expression "*(undefined1 *)((int)&uStack_470 + iStack_47c)" * (cast_expression "(undefined1 *)((int)&uStack_470 + iStack_47c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iStack_47c)" ( (binary_expression "(int)&uStack_470 + iStack_47c" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = number_literal) ;) (expression_statement "uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" identifier . field_identifier) = (call_expression "CONCAT12((char)iStack_47c + -1,uStack_470._2_2_)" identifier (argument_list "((char)iStack_47c + -1,uStack_470._2_2_)" ( (binary_expression "(char)iStack_47c + -1" (cast_expression "(char)iStack_47c" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) , (field_expression "uStack_470._2_2_" identifier . field_identifier) )))) ;) (expression_statement "iStack_47c = iStack_47c + 1;" (assignment_expression "iStack_47c = iStack_47c + 1" identifier = (binary_expression "iStack_47c + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);" (call_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 8) + 8)" * (cast_expression "(code **)(**(int **)(puVar12 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 8) + 8)" ( (binary_expression "**(int **)(puVar12 + 8) + 8" (pointer_expression "**(int **)(puVar12 + 8)" * (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 8),&uStack_470,iStack_47c)" ( (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) )))) , (pointer_expression "&uStack_470" & identifier) , identifier ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 1;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 1" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar14 == (undefined *)0x0)" ( (binary_expression "puVar14 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58))" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58))" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x50)" * (cast_expression "(undefined4 *)(puVar12 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x50)" ( (binary_expression "puVar12 + 0x50" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x54)" * (cast_expression "(undefined4 *)(puVar12 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x54)" ( (binary_expression "puVar12 + 0x54" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x58)" * (cast_expression "(undefined4 *)(puVar12 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x58)" ( (binary_expression "puVar12 + 0x58" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar14 == (undefined *)0x1)" ( (binary_expression "puVar14 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar14 == (undefined *)0x3)" ( (binary_expression "puVar14 == (undefined *)0x3" identifier == (cast_expression "(undefined *)0x3" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }" { (expression_statement "puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));" (assignment_expression "puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" identifier = (cast_expression "(undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 0x10))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 0x10)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 0x10)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 0x10)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 0x10" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x6c)" * (cast_expression "(undefined4 *)(puVar12 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x6c)" ( (binary_expression "puVar12 + 0x6c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x70)" * (cast_expression "(undefined4 *)(puVar12 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x70)" ( (binary_expression "puVar12 + 0x70" identifier + number_literal) )))) ))))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar14 != (undefined *)0x2)" ( (binary_expression "puVar14 != (undefined *)0x2" identifier != (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }" { (labeled_statement "LAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;" statement_identifier : (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x51c4" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "puVar25 = unaff_s4;" (assignment_expression "puVar25 = unaff_s4" identifier = identifier) ;) (if_statement "if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x1)" ( (binary_expression "puVar21 == (undefined1 *)0x1" identifier == (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }" { (expression_statement "puVar25 = puVar12 + 0x34;" (assignment_expression "puVar25 = puVar12 + 0x34" identifier = (binary_expression "puVar12 + 0x34" identifier + number_literal)) ;) (expression_statement "iVar29 = bufchain_size(puVar25);" (assignment_expression "iVar29 = bufchain_size(puVar25)" identifier = (call_expression "bufchain_size(puVar25)" identifier (argument_list "(puVar25)" ( identifier )))) ;) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar29 < 2) goto LAB_00025bf4;" if (parenthesized_expression "(iVar29 < 2)" ( (binary_expression "iVar29 < 2" identifier < number_literal) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (expression_statement "bufchain_fetch(puVar25,&uStack_470,2);" (call_expression "bufchain_fetch(puVar25,&uStack_470,2)" identifier (argument_list "(puVar25,&uStack_470,2)" ( identifier , (pointer_expression "&uStack_470" & identifier) , number_literal ))) ;) (if_statement "if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }" if (parenthesized_expression "(uStack_470._0_1_ != '\x05')" ( (binary_expression "uStack_470._0_1_ != '\x05'" (field_expression "uStack_470._0_1_" identifier . field_identifier) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }" { (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x51a0" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" if (parenthesized_expression "(uStack_470._1_1_ == '\0')" ( (binary_expression "uStack_470._1_1_ == '\0'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }" { (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 2;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 2" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" else (if_statement "if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" if (parenthesized_expression "(uStack_470._1_1_ == '\x01')" ( (binary_expression "uStack_470._1_1_ == '\x01'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }" { (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 4;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 4" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" else (if_statement "if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" if (parenthesized_expression "(uStack_470._1_1_ == '\x02')" ( (binary_expression "uStack_470._1_1_ == '\x02'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }" { (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 5;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 5" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" else (compound_statement "{\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" { (if_statement "if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(uStack_470._1_1_ != '\x03')" ( (binary_expression "uStack_470._1_1_ != '\x03'" (field_expression "uStack_470._1_1_" identifier . field_identifier) != (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }" { (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x5168" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 6;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 6" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) }))))))) (expression_statement "bufchain_consume(puVar25,2);" (call_expression "bufchain_consume(puVar25,2)" identifier (argument_list "(puVar25,2)" ( identifier , number_literal ))) ;) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" identifier = (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" * (cast_expression "(undefined1 **)(puVar12 + 0x44)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) ))))) ;) })) (if_statement "if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x7)" ( (binary_expression "puVar21 == (undefined1 *)0x7" identifier == (cast_expression "(undefined1 *)0x7" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }" { (expression_statement "puVar21 = puVar12 + 0x34;" (assignment_expression "puVar21 = puVar12 + 0x34" identifier = (binary_expression "puVar12 + 0x34" identifier + number_literal)) ;) (expression_statement "iVar29 = bufchain_size(puVar21);" (assignment_expression "iVar29 = bufchain_size(puVar21)" identifier = (call_expression "bufchain_size(puVar21)" identifier (argument_list "(puVar21)" ( identifier )))) ;) (if_statement "if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }" if (parenthesized_expression "(1 < iVar29)" ( (binary_expression "1 < iVar29" number_literal < identifier) )) (compound_statement "{\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }" { (expression_statement "bufchain_fetch(puVar21,&uStack_470,2);" (call_expression "bufchain_fetch(puVar21,&uStack_470,2)" identifier (argument_list "(puVar21,&uStack_470,2)" ( identifier , (pointer_expression "&uStack_470" & identifier) , number_literal ))) ;) (if_statement "if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }" if (parenthesized_expression "(uStack_470._0_1_ == '\x01')" ( (binary_expression "uStack_470._0_1_ == '\x01'" (field_expression "uStack_470._0_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }" { (if_statement "if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }" if (parenthesized_expression "(uStack_470._1_1_ != '\0')" ( (binary_expression "uStack_470._1_1_ != '\0'" (field_expression "uStack_470._1_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x50e0" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "bufchain_consume(puVar21,2);" (call_expression "bufchain_consume(puVar21,2)" identifier (argument_list "(puVar21,2)" ( identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 2;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 2" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00025f08;" goto statement_identifier ;) })) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x512c" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) })) }) (else_clause "else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" else (compound_statement "{\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" { (if_statement "if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x8)" ( (binary_expression "puVar21 == (undefined1 *)0x8" identifier == (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }" { (expression_statement "puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);" (assignment_expression "puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12)" identifier = (cast_expression "(undefined4 *)proxy_socks5_handlechap(puVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "proxy_socks5_handlechap(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))))) ;) (if_statement "if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;" if (parenthesized_expression "(puVar24 != (undefined4 *)0x0)" ( (binary_expression "puVar24 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" identifier = (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" * (cast_expression "(undefined1 **)(puVar12 + 0x44)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) ))))) ;) })) (if_statement "if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x2)" ( (binary_expression "puVar21 == (undefined1 *)0x2" identifier == (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }" { (labeled_statement "LAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));" statement_identifier : (expression_statement "iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));" (assignment_expression "iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10))" identifier = (call_expression "(**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10))" (parenthesized_expression "(**(code **)(puVar30 + 0x87a10))" ( (pointer_expression "**(code **)(puVar30 + 0x87a10)" * (pointer_expression "*(code **)(puVar30 + 0x87a10)" * (cast_expression "(code **)(puVar30 + 0x87a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87a10)" ( (binary_expression "puVar30 + 0x87a10" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar12 + 0x10))" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" * (cast_expression "(undefined4 *)(puVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x10)" ( (binary_expression "puVar12 + 0x10" identifier + number_literal) )))) )))) ;)) (if_statement "if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" if (parenthesized_expression "(iVar29 == 1)" ( (binary_expression "iVar29 == 1" identifier == number_literal) )) (compound_statement "{\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }" { (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,(char)iVar29)" identifier (argument_list "(uStack_470._0_3_,(char)iVar29)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , (cast_expression "(char)iVar29" ( (type_descriptor "char" primitive_type) ) identifier) )))) ;) (expression_statement "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);" (call_expression "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87a14))" ( (pointer_expression "**(code **)(puVar30 + 0x87a14)" * (pointer_expression "*(code **)(puVar30 + 0x87a14)" * (cast_expression "(code **)(puVar30 + 0x87a14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87a14)" ( (binary_expression "puVar30 + 0x87a14" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" * (cast_expression "(undefined4 *)(puVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x10)" ( (binary_expression "puVar12 + 0x10" identifier + number_literal) )))) , (pointer_expression "&uStack_46c" & identifier) ))) ;) (expression_statement "iVar29 = 9;" (assignment_expression "iVar29 = 9" identifier = number_literal) ;) (expression_statement "iVar33 = 8;" (assignment_expression "iVar33 = 8" identifier = number_literal) ;) (expression_statement "iVar17 = 10;" (assignment_expression "iVar17 = 10" identifier = number_literal) ;) }) (else_clause "else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" else (if_statement "if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }" { (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,4);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,4)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,4)" identifier (argument_list "(uStack_470._0_3_,4)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);" (call_expression "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87a14))" ( (pointer_expression "**(code **)(puVar30 + 0x87a14)" * (pointer_expression "*(code **)(puVar30 + 0x87a14)" * (cast_expression "(code **)(puVar30 + 0x87a14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87a14)" ( (binary_expression "puVar30 + 0x87a14" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" * (cast_expression "(undefined4 *)(puVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x10)" ( (binary_expression "puVar12 + 0x10" identifier + number_literal) )))) , (pointer_expression "&uStack_46c" & identifier) ))) ;) (expression_statement "iVar29 = 0x15;" (assignment_expression "iVar29 = 0x15" identifier = number_literal) ;) (expression_statement "iVar33 = 0x14;" (assignment_expression "iVar33 = 0x14" identifier = number_literal) ;) (expression_statement "iVar17 = 0x16;" (assignment_expression "iVar17 = 0x16" identifier = number_literal) ;) }) (else_clause "else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" else (compound_statement "{\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" { (if_statement "if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }" if (parenthesized_expression "(iVar29 != 3)" ( (binary_expression "iVar29 != 3" identifier != number_literal) )) (compound_statement "{\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }" { (expression_statement "puVar24 = (undefined4 *)0x46a;" (assignment_expression "puVar24 = (undefined4 *)0x46a" identifier = (cast_expression "(undefined4 *)0x46a" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8)" identifier = (pointer_expression "*(code **)(puVar30 + 0x87fb8)" * (cast_expression "(code **)(puVar30 + 0x87fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87fb8)" ( (binary_expression "puVar30 + 0x87fb8" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;" (assignment_expression "iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00" identifier = (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d00" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);" (assignment_expression "pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374)" identifier = (cast_expression "(byte *)(*(int *)(puVar30 + 0x87780) + -0x5374)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar30 + 0x87780) + -0x5374)" ( (binary_expression "*(int *)(puVar30 + 0x87780) + -0x5374" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;" (assignment_expression "iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4" identifier = (binary_expression "*(int *)(puVar30 + 0x87780) + -0x52c4" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;" (assignment_expression "pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54" identifier = (binary_expression "UNRECOVERED_JUMPTABLE + 0x8eb54" identifier + number_literal)) ;) (expression_statement "piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);" (assignment_expression "piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" identifier = (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" * (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x87598)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x87598" identifier + number_literal) ))))) ;) (expression_statement "iStack_4d4 = *piVar19;" (assignment_expression "iStack_4d4 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "iVar29 = iVar17;" (assignment_expression "iVar29 = iVar17" identifier = identifier) ;) (expression_statement "puStack_4d0 = puVar21;" (assignment_expression "puStack_4d0 = puVar21" identifier = identifier) ;) (expression_statement "puStack_4cc = puVar12;" (assignment_expression "puStack_4cc = puVar12" identifier = identifier) ;) (expression_statement "puStack_4c8 = puVar14;" (assignment_expression "puStack_4c8 = puVar14" identifier = identifier) ;) (expression_statement "piStack_4c4 = piVar27;" (assignment_expression "piStack_4c4 = piVar27" identifier = identifier) ;) (expression_statement "puStack_4c0 = puVar25;" (assignment_expression "puStack_4c0 = puVar25" identifier = identifier) ;) (expression_statement "pcStack_4bc = unaff_s5;" (assignment_expression "pcStack_4bc = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_4b8 = unaff_s6;" (assignment_expression "iStack_4b8 = unaff_s6" identifier = identifier) ;) (if_statement "if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" if (parenthesized_expression "(iVar33 == 0)" ( (binary_expression "iVar33 == 0" identifier == number_literal) )) (compound_statement "{\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }" { (expression_statement "pbVar16 = (byte *)0xc;" (assignment_expression "pbVar16 = (byte *)0xc" identifier = (cast_expression "(byte *)0xc" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = conf_get_int(iVar17,0xc);" (assignment_expression "iVar6 = conf_get_int(iVar17,0xc)" identifier = (call_expression "conf_get_int(iVar17,0xc)" identifier (argument_list "(iVar17,0xc)" ( identifier , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" { (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e34)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e34" identifier + number_literal) ))))) )) (argument_list "(pbVar15)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_00026900;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026900;" goto statement_identifier ;)) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" identifier = identifier) ;) }) (else_clause "else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" else (compound_statement "{\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" identifier = identifier) ;) }))) (labeled_statement "LAB_000267f0:\n            iVar28 = 0;" statement_identifier : (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;)) (expression_statement "iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);" (assignment_expression "iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x874ec)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x874ec" identifier + number_literal) ))))) )) (argument_list "(pbVar15)" ( identifier )))) ;) (expression_statement "pbVar16 = (byte *)0xa;" (assignment_expression "pbVar16 = (byte *)0xa" identifier = (cast_expression "(byte *)0xa" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar8 = (byte *)conf_get_str(iVar17,10);" (assignment_expression "pbVar8 = (byte *)conf_get_str(iVar17,10)" identifier = (cast_expression "(byte *)conf_get_str(iVar17,10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(iVar17,10)" identifier (argument_list "(iVar17,10)" ( identifier , number_literal ))))) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (while_statement "while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }" while (parenthesized_expression "(puVar24 = puVar18, bVar1 != 0)" ( (comma_expression "puVar24 = puVar18, bVar1 != 0" (assignment_expression "puVar24 = puVar18" identifier = identifier) , (binary_expression "bVar1 != 0" identifier != number_literal)) )) (compound_statement "{\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }" { (expression_statement "piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();" (assignment_expression "piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" identifier = (cast_expression "(int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x873c0)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x873c0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar34 = *piVar27;" (assignment_expression "iVar34 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "pbVar22 = pbVar8 + iVar28;" (assignment_expression "pbVar22 = pbVar8 + iVar28" identifier = (binary_expression "pbVar8 + iVar28" identifier + identifier)) ;) (expression_statement "iVar17 = iVar28;" (assignment_expression "iVar17 = iVar28" identifier = identifier) ;) (while_statement "while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }" while (parenthesized_expression "((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)))" ( (parenthesized_expression "(pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))" ( (comma_expression "pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)" (assignment_expression "pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28)" identifier = (binary_expression "pbVar8 + iVar28 + (iVar17 - iVar28)" (binary_expression "pbVar8 + iVar28" identifier + identifier) + (parenthesized_expression "(iVar17 - iVar28)" ( (binary_expression "iVar17 - iVar28" identifier - identifier) )))) , (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)" (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20)" ( (binary_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(iVar34 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + (uint)bVar1 * 2)" ( (binary_expression "iVar34 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) || (parenthesized_expression "(bVar1 == 0x2c)" ( (binary_expression "bVar1 == 0x2c" identifier == number_literal) )))) )) )) (compound_statement "{\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }" { (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "pbVar22 = pbVar8 + iVar17;" (assignment_expression "pbVar22 = pbVar8 + iVar17" identifier = (binary_expression "pbVar8 + iVar17" identifier + identifier)) ;) (expression_statement "bVar1 = *pbVar22;" (assignment_expression "bVar1 = *pbVar22" identifier = (pointer_expression "*pbVar22" * identifier)) ;) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" identifier = identifier) ;) (if_statement "if (bVar1 == 0) goto LAB_00026894;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026894;" goto statement_identifier ;)) })) (expression_statement "uVar4 = (uint)(char)*pbVar22;" (assignment_expression "uVar4 = (uint)(char)*pbVar22" identifier = (binary_expression "(uint)(char)*pbVar22" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "iVar28 = iVar17;" (assignment_expression "iVar28 = iVar17" identifier = identifier) ;) (if_statement "if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" if (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                puVar11 = (undefined4 *)0x0;\n              }" { (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" else (compound_statement "{\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" { (do_statement "do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);" do (compound_statement "{\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                }" { (if_statement "if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;" if (parenthesized_expression "((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a))" ( (binary_expression "(((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)" (parenthesized_expression "(((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d))" ( (binary_expression "((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)" (parenthesized_expression "((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0)" ( (binary_expression "(*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800)" ( (binary_expression "*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800" (pointer_expression "*(ushort *)(iVar34 + (uVar4 & 0xff) * 2)" * (cast_expression "(ushort *)(iVar34 + (uVar4 & 0xff) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + (uVar4 & 0xff) * 2)" ( (binary_expression "iVar34 + (uVar4 & 0xff) * 2" identifier + (binary_expression "(uVar4 & 0xff) * 2" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(1 < (uVar4 & 0xff) - 0x2d)" ( (binary_expression "1 < (uVar4 & 0xff) - 0x2d" number_literal < (binary_expression "(uVar4 & 0xff) - 0x2d" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) - number_literal)) ))) )) && (parenthesized_expression "(puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)" ( (comma_expression "puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a" (assignment_expression "puVar11 = (undefined4 *)(iVar28 - iVar17)" identifier = (cast_expression "(undefined4 *)(iVar28 - iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 - iVar17)" ( (binary_expression "iVar28 - iVar17" identifier - identifier) )))) , (binary_expression "uVar4 != 0x2a" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00026960;" goto statement_identifier ;)) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "uVar4 = (uint)(char)pbVar8[iVar28];" (assignment_expression "uVar4 = (uint)(char)pbVar8[iVar28]" identifier = (cast_expression "(uint)(char)pbVar8[iVar28]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)pbVar8[iVar28]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar8[iVar28]" identifier [ identifier ])))) ;) }) while (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) ;) (expression_statement "puVar11 = (undefined4 *)(iVar28 - iVar17);" (assignment_expression "puVar11 = (undefined4 *)(iVar28 - iVar17)" identifier = (cast_expression "(undefined4 *)(iVar28 - iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 - iVar17)" ( (binary_expression "iVar28 - iVar17" identifier - identifier) )))) ;) }))) (labeled_statement "LAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" statement_identifier : (if_statement "if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" if (parenthesized_expression "(bVar1 == 0x2a)" ( (binary_expression "bVar1 == 0x2a" identifier == number_literal) )) (compound_statement "{\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }" { (expression_statement "puVar18 = (undefined4 *)((int)puVar11 + -1);" (assignment_expression "puVar18 = (undefined4 *)((int)puVar11 + -1)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -1)" ( (binary_expression "(int)puVar11 + -1" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar20 = pbVar8 + iVar17 + 1;" (assignment_expression "pbVar20 = pbVar8 + iVar17 + 1" identifier = (binary_expression "pbVar8 + iVar17 + 1" (binary_expression "pbVar8 + iVar17" identifier + identifier) + number_literal)) ;) (if_statement "if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" if (parenthesized_expression "((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0))" ( (binary_expression "(iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) && (parenthesized_expression "(pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)" ( (comma_expression "pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) , (comma_expression "puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar18" identifier = identifier) , (comma_expression "puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" identifier = (cast_expression "(undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) )) (argument_list "(auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" ( (binary_expression "auStack_514 + ((iVar6 + 1) - (int)puVar11)" identifier + (parenthesized_expression "((iVar6 + 1) - (int)puVar11)" ( (binary_expression "(iVar6 + 1) - (int)puVar11" (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )) - (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier ))))) , (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))))) ))) )) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;)) (expression_statement "iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);" (assignment_expression "iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) )) (argument_list "(pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" ( (binary_expression "pbVar15 + ((iVar7 + 1) - (int)puVar11)" identifier + (parenthesized_expression "((iVar7 + 1) - (int)puVar11)" ( (binary_expression "(iVar7 + 1) - (int)puVar11" (parenthesized_expression "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )) - (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier )))) ;) (if_statement "if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }" { (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) ;) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" identifier = identifier) ;) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;) })) }) (else_clause "else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" else (compound_statement "{\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" { (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) ;) (if_statement "if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" if (parenthesized_expression "(pbVar8[iVar28 + -1] == 0x2a)" ( (binary_expression "pbVar8[iVar28 + -1] == 0x2a" (subscript_expression "pbVar8[iVar28 + -1]" identifier [ (binary_expression "iVar28 + -1" identifier + number_literal) ]) == number_literal) )) (compound_statement "{\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" { (expression_statement "puVar11 = (undefined4 *)((int)puVar11 + -1);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar11 + -1)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -1)" ( (binary_expression "(int)puVar11 + -1" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" if (parenthesized_expression "((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0))" ( (binary_expression "(iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) && (parenthesized_expression "(puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" ( (comma_expression "puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar11" identifier = identifier) , (comma_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" identifier = (cast_expression "(undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) )) (argument_list "(auStack_514,pbVar20)" ( identifier , identifier ))))) , (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);" (assignment_expression "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" else (compound_statement "{\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" { (if_statement "if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" if (parenthesized_expression "((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0))" ( (binary_expression "(iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) && (parenthesized_expression "(puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" ( (comma_expression "puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar11" identifier = identifier) , (comma_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" identifier = (cast_expression "(undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) )) (argument_list "(auStack_514,pbVar20)" ( identifier , identifier ))))) , (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);" (assignment_expression "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar17 = (*pcVar31)(pbVar15,pbVar20);" (assignment_expression "iVar17 = (*pcVar31)(pbVar15,pbVar20)" identifier = (call_expression "(*pcVar31)(pbVar15,pbVar20)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pbVar15,pbVar20)" ( identifier , identifier )))) ;) (expression_statement "puVar18 = puVar11;" (assignment_expression "puVar18 = puVar11" identifier = identifier) ;) (if_statement "if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }" { (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) ;) (expression_statement "puVar24 = puVar11;" (assignment_expression "puVar24 = puVar11" identifier = identifier) ;) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;) })) })))) (while_statement "while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }" { (expression_statement "bVar1 = pbVar8[iVar28];" (assignment_expression "bVar1 = pbVar8[iVar28]" identifier = (subscript_expression "pbVar8[iVar28]" identifier [ identifier ])) ;) (expression_statement "puVar9 = (undefined4 *)0x1;" (assignment_expression "puVar9 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) ;) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" identifier = identifier) ;) (if_statement "if (bVar1 == 0) goto LAB_0002689c;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;)) (if_statement "if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;" if (parenthesized_expression "(((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c))" ( (binary_expression "((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)" (parenthesized_expression "((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0)" ( (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20)" ( (binary_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(iVar34 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + (uint)bVar1 * 2)" ( (binary_expression "iVar34 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(bVar1 == 0x2c)" ( (binary_expression "bVar1 == 0x2c" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar1 = pbVar8[iVar28];" (assignment_expression "bVar1 = pbVar8[iVar28]" identifier = (subscript_expression "pbVar8[iVar28]" identifier [ identifier ])) ;) })) (labeled_statement "LAB_00026894:\n            puVar9 = (undefined4 *)0x1;" statement_identifier : (expression_statement "puVar9 = (undefined4 *)0x1;" (assignment_expression "puVar9 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" else (compound_statement "{\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" { (expression_statement "pbVar16 = pbVar15;" (assignment_expression "pbVar16 = pbVar15" identifier = identifier) ;) (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))()" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e30)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e30" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }" { (expression_statement "pbVar16 = (byte *)0xc;" (assignment_expression "pbVar16 = (byte *)0xc" identifier = (cast_expression "(byte *)0xc" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = conf_get_int(iVar17,0xc);" (assignment_expression "iVar6 = conf_get_int(iVar17,0xc)" identifier = (call_expression "conf_get_int(iVar17,0xc)" identifier (argument_list "(iVar17,0xc)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }" if (parenthesized_expression "((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0))))" ( (binary_expression "(iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))" ( (parenthesized_expression "(iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0))" ( (comma_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e34)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e34" identifier + number_literal) ))))) )) (argument_list "(pbVar15)" ( identifier )))) , (binary_expression "iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" (binary_expression "iVar6 == 0" identifier == number_literal) && (parenthesized_expression "(iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" ( (comma_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e38)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e38" identifier + number_literal) ))))) )) (argument_list "(iVar33)" ( identifier )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }" { (expression_statement "puVar18 = (undefined4 *)&DAT_00000040;" (assignment_expression "puVar18 = (undefined4 *)&DAT_00000040" identifier = (cast_expression "(undefined4 *)&DAT_00000040" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000040" & identifier))) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86cc8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86cc8" identifier + number_literal) ))))) )) (argument_list "(iVar33,auStack_514)" ( identifier , identifier ))) ;) (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x874ec)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x874ec" identifier + number_literal) ))))) )) (argument_list "(auStack_514)" ( identifier )))) ;) (goto_statement "goto LAB_000267f0;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00026900:\n            puVar9 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (labeled_statement "LAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }" statement_identifier : (if_statement "if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }" if (parenthesized_expression "(iStack_4d4 == *piVar19)" ( (binary_expression "iStack_4d4 == *piVar19" identifier == (pointer_expression "*piVar19" * identifier)) )) (compound_statement "{\n            return puVar9;\n          }" { (return_statement "return puVar9;" return identifier ;) }))) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x87568)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x87568" identifier + number_literal) ))))) ;) (expression_statement "iVar33 = iStack_4d4;" (assignment_expression "iVar33 = iStack_4d4" identifier = identifier) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar17 = conf_get_int(iVar29,0xd);" (assignment_expression "iVar17 = conf_get_int(iVar29,0xd)" identifier = (call_expression "conf_get_int(iVar29,0xd)" identifier (argument_list "(iVar29,0xd)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }" if (parenthesized_expression "((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0))))" ( (binary_expression "(iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))" (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) && (parenthesized_expression "(((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))" ( (parenthesized_expression "((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0))" ( (binary_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)" (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1))))" ( (comma_expression "iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" (assignment_expression "iVar17 = conf_get_int(iVar29,0xb)" identifier = (call_expression "conf_get_int(iVar29,0xb)" identifier (argument_list "(iVar29,0xb)" ( identifier , number_literal )))) , (binary_expression "iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" (binary_expression "iVar17 == 0" identifier == number_literal) || (parenthesized_expression "((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" ( (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1))" ( (comma_expression "iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" (assignment_expression "iVar17 = conf_get_int(iVar29,0xb)" identifier = (call_expression "conf_get_int(iVar29,0xb)" identifier (argument_list "(iVar29,0xb)" ( identifier , number_literal )))) , (binary_expression "iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" (binary_expression "iVar17 == 2" identifier == number_literal) && (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" ( (comma_expression "iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1" (assignment_expression "iVar17 = conf_get_int(iVar29,0xd)" identifier = (call_expression "conf_get_int(iVar29,0xd)" identifier (argument_list "(iVar29,0xd)" ( identifier , number_literal )))) , (binary_expression "iVar17 != 1" identifier != number_literal)) )))) )) )))) )) && (parenthesized_expression "(iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)" ( (comma_expression "iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0" (assignment_expression "iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29)" identifier = (call_expression "proxy_for_destination(0,iVar33,pbVar16,iVar29)" identifier (argument_list "(0,iVar33,pbVar16,iVar29)" ( number_literal , identifier , identifier , identifier )))) , (binary_expression "iVar29 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }" { (if_statement "if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }" if (parenthesized_expression "(iStack_534 != 0)" ( (binary_expression "iStack_534 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }" { (expression_statement "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;" (assignment_expression "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" identifier = (call_expression "dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" identifier (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x868fc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x868fc" identifier + number_literal) ))))) )) (argument_list "(iStack_534,uVar13)" ( identifier , identifier ))) ;) (expression_statement "safefree(uVar13);" (call_expression "safefree(uVar13)" identifier (argument_list "(uVar13)" ( identifier ))) ;) })) (expression_statement "uVar13 = dupstr(iVar33);" (assignment_expression "uVar13 = dupstr(iVar33)" identifier = (call_expression "dupstr(iVar33)" identifier (argument_list "(iVar33)" ( identifier )))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86a74)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86a74" identifier + number_literal) ))))) ;) (expression_statement "*puVar24 = uVar13;" (assignment_expression "*puVar24 = uVar13" (pointer_expression "*puVar24" * identifier) = identifier) ;) comment comment (expression_statement "puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);" (assignment_expression "puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33)" identifier = (cast_expression "(undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*UNRECOVERED_JUMPTABLE)(iVar33)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(iVar33)" ( identifier ))))) ;) (return_statement "return puVar24;" return identifier ;) })) (if_statement "if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }" if (parenthesized_expression "(iStack_534 != 0)" ( (binary_expression "iStack_534 != 0" identifier != number_literal) )) (compound_statement "{\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }" { (if_statement "if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" if (parenthesized_expression "(pcVar32 == (code *)0x1)" ( (binary_expression "pcVar32 == (code *)0x1" identifier == (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }" { (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" else (if_statement "if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" if (parenthesized_expression "(pcVar32 == (code *)0x2)" ( (binary_expression "pcVar32 == (code *)0x2" identifier == (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }" { (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" else (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" { (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal)) ;) }))))) (expression_statement "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);" (assignment_expression "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" identifier = (call_expression "dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" identifier (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x868fc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x868fc" identifier + number_literal) ))))) )) (argument_list "(iStack_534,uVar13)" ( identifier , identifier ))) ;) (expression_statement "safefree(uVar13);" (call_expression "safefree(uVar13)" identifier (argument_list "(uVar13)" ( identifier ))) ;) })) comment comment (expression_statement "puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);" (assignment_expression "puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" identifier = (cast_expression "(undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86a6c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86a6c" identifier + number_literal) ))))) )) (argument_list "(iVar33,puVar24,pcVar32)" ( identifier , identifier , identifier ))))) ;) (return_statement "return puVar24;" return identifier ;) })) (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,(char)iVar29)" identifier (argument_list "(uStack_470._0_3_,(char)iVar29)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , (cast_expression "(char)iVar29" ( (type_descriptor "char" primitive_type) ) identifier) )))) ;) (expression_statement "(**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;" (call_expression "(**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)" (parenthesized_expression "(**(code **)(puVar30 + 0x878bc))" ( (pointer_expression "**(code **)(puVar30 + 0x878bc)" * (pointer_expression "*(code **)(puVar30 + 0x878bc)" * (cast_expression "(code **)(puVar30 + 0x878bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x878bc)" ( (binary_expression "puVar30 + 0x878bc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" * (cast_expression "(undefined4 *)(puVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x10)" ( (binary_expression "puVar12 + 0x10" identifier + number_literal) )))) , (binary_expression "(int)&uStack_46c + 1" (cast_expression "(int)&uStack_46c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_46c" & identifier)) + number_literal) , number_literal ))) ;) (expression_statement "cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);" (assignment_expression "cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1)" identifier = (call_expression "(**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1)" (parenthesized_expression "(**(code **)(puVar30 + 0x880e0))" ( (pointer_expression "**(code **)(puVar30 + 0x880e0)" * (pointer_expression "*(code **)(puVar30 + 0x880e0)" * (cast_expression "(code **)(puVar30 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x880e0)" ( (binary_expression "puVar30 + 0x880e0" identifier + number_literal) ))))) )) (argument_list "((int)&uStack_46c + 1)" ( (binary_expression "(int)&uStack_46c + 1" (cast_expression "(int)&uStack_46c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_46c" & identifier)) + number_literal) )))) ;) (expression_statement "iVar29 = (int)cVar10;" (assignment_expression "iVar29 = (int)cVar10" identifier = (cast_expression "(int)cVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar17 = iVar29 + 7;" (assignment_expression "iVar17 = iVar29 + 7" identifier = (binary_expression "iVar29 + 7" identifier + number_literal)) ;) (expression_statement "uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);" (assignment_expression "uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_)" identifier = (call_expression "CONCAT13(cVar10,uStack_46c._1_3_)" identifier (argument_list "(cVar10,uStack_46c._1_3_)" ( identifier , (field_expression "uStack_46c._1_3_" identifier . field_identifier) )))) ;) (expression_statement "iVar33 = iVar29 + 5;" (assignment_expression "iVar33 = iVar29 + 5" identifier = (binary_expression "iVar29 + 5" identifier + number_literal)) ;) (expression_statement "iVar29 = iVar29 + 6;" (assignment_expression "iVar29 = iVar29 + 6" identifier = (binary_expression "iVar29 + 6" identifier + number_literal)) ;) }))))) (expression_statement "uVar13 = *(undefined4 *)(puVar12 + 0x14);" (assignment_expression "uVar13 = *(undefined4 *)(puVar12 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(puVar12 + 0x14)" * (cast_expression "(undefined4 *)(puVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x14)" ( (binary_expression "puVar12 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar19 = *(int **)(puVar12 + 8);" (assignment_expression "piVar19 = *(int **)(puVar12 + 8)" identifier = (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_470._2_2_ = (ushort)uStack_470 & 0xff;" (assignment_expression "uStack_470._2_2_ = (ushort)uStack_470 & 0xff" (field_expression "uStack_470._2_2_" identifier . field_identifier) = (binary_expression "(ushort)uStack_470 & 0xff" (cast_expression "(ushort)uStack_470" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStack_470 = CONCAT22(0x501,uStack_470._2_2_);" (assignment_expression "uStack_470 = CONCAT22(0x501,uStack_470._2_2_)" identifier = (call_expression "CONCAT22(0x501,uStack_470._2_2_)" identifier (argument_list "(0x501,uStack_470._2_2_)" ( number_literal , (field_expression "uStack_470._2_2_" identifier . field_identifier) )))) ;) (expression_statement "*(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);" (assignment_expression "*(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8)" (pointer_expression "*(char *)((int)&uStack_470 + iVar33)" * (cast_expression "(char *)((int)&uStack_470 + iVar33)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iVar33)" ( (binary_expression "(int)&uStack_470 + iVar33" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = (cast_expression "(char)((uint)uVar13 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar13 >> 8)" ( (binary_expression "(uint)uVar13 >> 8" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(char *)((int)&uStack_470 + iVar29) = (char)uVar13;" (assignment_expression "*(char *)((int)&uStack_470 + iVar29) = (char)uVar13" (pointer_expression "*(char *)((int)&uStack_470 + iVar29)" * (cast_expression "(char *)((int)&uStack_470 + iVar29)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iVar29)" ( (binary_expression "(int)&uStack_470 + iVar29" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = (cast_expression "(char)uVar13" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);" (call_expression "(**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17)" (parenthesized_expression "(**(code **)(*piVar19 + 8))" ( (pointer_expression "**(code **)(*piVar19 + 8)" * (pointer_expression "*(code **)(*piVar19 + 8)" * (cast_expression "(code **)(*piVar19 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar19 + 8)" ( (binary_expression "*piVar19 + 8" (pointer_expression "*piVar19" * identifier) + number_literal) ))))) )) (argument_list "(piVar19,&uStack_470,iVar17)" ( identifier , (pointer_expression "&uStack_470" & identifier) , identifier ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 3;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 3" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }" if (parenthesized_expression "(puVar21 != (undefined1 *)0x3)" ( (binary_expression "puVar21 != (undefined1 *)0x3" identifier != (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }" { (if_statement "if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(puVar21 == &DAT_00000004)" ( (binary_expression "puVar21 == &DAT_00000004" identifier == (pointer_expression "&DAT_00000004" & identifier)) )) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f38" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x5)" ( (binary_expression "puVar21 == (undefined1 *)0x5" identifier == (cast_expression "(undefined1 *)0x5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }" { (expression_statement "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);" (assignment_expression "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" identifier = (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" identifier (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x10)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" * (cast_expression "(undefined4 *)(puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x74)" ( (binary_expression "puVar12 + 0x74" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);" (assignment_expression "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" identifier = (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" identifier (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x11)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" * (cast_expression "(undefined4 *)(puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x74)" ( (binary_expression "puVar12 + 0x74" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" if (parenthesized_expression "(*pcVar2 == '\0')" ( (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }" { (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0)" identifier = (pointer_expression "*(code **)(puVar30 + 0x880e0)" * (cast_expression "(code **)(puVar30 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x880e0)" ( (binary_expression "puVar30 + 0x880e0" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }" if (parenthesized_expression "(*pcVar3 == '\0')" ( (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f04" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) }) (else_clause "else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" else (compound_statement "{\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" { (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0)" identifier = (pointer_expression "*(code **)(puVar30 + 0x880e0)" * (cast_expression "(code **)(puVar30 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x880e0)" ( (binary_expression "puVar30 + 0x880e0" identifier + number_literal) ))))) ;) }))) (expression_statement "uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);" (assignment_expression "uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2)" identifier = (call_expression "(*UNRECOVERED_JUMPTABLE)(pcVar2)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(pcVar2)" ( identifier )))) ;) (if_statement "if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" if (parenthesized_expression "(uVar4 < 0x100)" ( (binary_expression "uVar4 < 0x100" identifier < number_literal) )) (compound_statement "{\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }" { (if_statement "if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" if (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }" { (expression_statement "iVar29 = 4;" (assignment_expression "iVar29 = 4" identifier = number_literal) ;) (expression_statement "iVar33 = 3;" (assignment_expression "iVar33 = 3" identifier = number_literal) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" else (compound_statement "{\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" { (expression_statement "iVar33 = uVar4 + 2;" (assignment_expression "iVar33 = uVar4 + 2" identifier = (binary_expression "uVar4 + 2" identifier + number_literal)) ;) (expression_statement "iVar29 = uVar4 + 3;" (assignment_expression "iVar29 = uVar4 + 3" identifier = (binary_expression "uVar4 + 3" identifier + number_literal)) ;) (expression_statement "uVar23 = (undefined1)uVar4;" (assignment_expression "uVar23 = (undefined1)uVar4" identifier = (cast_expression "(undefined1)uVar4" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }))) }) (else_clause "else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" else (compound_statement "{\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" { (expression_statement "iVar29 = 0x102;" (assignment_expression "iVar29 = 0x102" identifier = number_literal) ;) (expression_statement "iVar33 = 0x101;" (assignment_expression "iVar33 = 0x101" identifier = number_literal) ;) (expression_statement "uVar23 = 0xff;" (assignment_expression "uVar23 = 0xff" identifier = number_literal) ;) (expression_statement "uVar4 = 0xff;" (assignment_expression "uVar4 = 0xff" identifier = number_literal) ;) }))) (expression_statement "uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);" (assignment_expression "uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3)" identifier = (call_expression "(**(code **)(puVar30 + 0x880e0))(pcVar3)" (parenthesized_expression "(**(code **)(puVar30 + 0x880e0))" ( (pointer_expression "**(code **)(puVar30 + 0x880e0)" * (pointer_expression "*(code **)(puVar30 + 0x880e0)" * (cast_expression "(code **)(puVar30 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x880e0)" ( (binary_expression "puVar30 + 0x880e0" identifier + number_literal) ))))) )) (argument_list "(pcVar3)" ( identifier )))) ;) (if_statement "if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" if (parenthesized_expression "(uVar5 < 0x100)" ( (binary_expression "uVar5 < 0x100" identifier < number_literal) )) (compound_statement "{\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }" { (if_statement "if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar5 = 1;\n            uVar26 = 1;\n          }" { (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            uVar26 = (undefined1)uVar5;\n          }" else (compound_statement "{\n            uVar26 = (undefined1)uVar5;\n          }" { (expression_statement "uVar26 = (undefined1)uVar5;" (assignment_expression "uVar26 = (undefined1)uVar5" identifier = (cast_expression "(undefined1)uVar5" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }))) }) (else_clause "else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" else (compound_statement "{\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" { (expression_statement "uVar5 = 0xff;" (assignment_expression "uVar5 = 0xff" identifier = number_literal) ;) (expression_statement "uVar26 = 0xff;" (assignment_expression "uVar26 = 0xff" identifier = number_literal) ;) }))) (expression_statement "uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" identifier . field_identifier) = (call_expression "CONCAT12(uVar23,uStack_470._2_2_)" identifier (argument_list "(uVar23,uStack_470._2_2_)" ( identifier , (field_expression "uStack_470._2_2_" identifier . field_identifier) )))) ;) (expression_statement "uStack_470 = CONCAT13(1,uStack_470._1_3_);" (assignment_expression "uStack_470 = CONCAT13(1,uStack_470._1_3_)" identifier = (call_expression "CONCAT13(1,uStack_470._1_3_)" identifier (argument_list "(1,uStack_470._1_3_)" ( number_literal , (field_expression "uStack_470._1_3_" identifier . field_identifier) )))) ;) (expression_statement "(**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);" (call_expression "(**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff)" (parenthesized_expression "(**(code **)(puVar30 + 0x88108))" ( (pointer_expression "**(code **)(puVar30 + 0x88108)" * (pointer_expression "*(code **)(puVar30 + 0x88108)" * (cast_expression "(code **)(puVar30 + 0x88108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x88108)" ( (binary_expression "puVar30 + 0x88108" identifier + number_literal) ))))) )) (argument_list "((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff)" ( (binary_expression "(int)&uStack_470 + 2" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190)" identifier = (pointer_expression "*(code **)(puVar30 + 0x88190)" * (cast_expression "(code **)(puVar30 + 0x88190)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x88190)" ( (binary_expression "puVar30 + 0x88190" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;" (assignment_expression "*(undefined1 *)((int)&uStack_470 + iVar33) = uVar26" (pointer_expression "*(undefined1 *)((int)&uStack_470 + iVar33)" * (cast_expression "(undefined1 *)((int)&uStack_470 + iVar33)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iVar33)" ( (binary_expression "(int)&uStack_470 + iVar33" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = identifier) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);" (call_expression "(*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "((int)&uStack_470 + iVar29,pcVar3,uVar5)" ( (binary_expression "(int)&uStack_470 + iVar29" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) , identifier , identifier ))) ;) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);" (call_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 8) + 8)" * (cast_expression "(code **)(**(int **)(puVar12 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 8) + 8)" ( (binary_expression "**(int **)(puVar12 + 8) + 8" (pointer_expression "**(int **)(puVar12 + 8)" * (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3)" ( (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) )))) , (pointer_expression "&uStack_470" & identifier) , (binary_expression "uVar4 + uVar5 + 3" (binary_expression "uVar4 + uVar5" identifier + identifier) + number_literal) ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 7;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 7" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;" if (parenthesized_expression "((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))" ( (binary_expression "(puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0)" (parenthesized_expression "(puVar21 == (undefined1 *)0x6)" ( (binary_expression "puVar21 == (undefined1 *)0x6" identifier == (cast_expression "(undefined1 *)0x6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0)" ( (comma_expression "puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0" (assignment_expression "puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12)" identifier = (cast_expression "(undefined4 *)proxy_socks5_selectchap(puVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "proxy_socks5_selectchap(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))))) , (binary_expression "puVar24 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (goto_statement "goto LAB_00025bc8;" goto statement_identifier ;) })) (expression_statement "puVar25 = puVar12 + 0x34;" (assignment_expression "puVar25 = puVar12 + 0x34" identifier = (binary_expression "puVar12 + 0x34" identifier + number_literal)) ;) (expression_statement "iVar29 = bufchain_size(puVar25);" (assignment_expression "iVar29 = bufchain_size(puVar25)" identifier = (call_expression "bufchain_size(puVar25)" identifier (argument_list "(puVar25)" ( identifier )))) ;) (if_statement "if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }" if (parenthesized_expression "(4 < iVar29)" ( (binary_expression "4 < iVar29" number_literal < identifier) )) (compound_statement "{\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }" { (expression_statement "bufchain_fetch(puVar25,&cStack_478,5);" (call_expression "bufchain_fetch(puVar25,&cStack_478,5)" identifier (argument_list "(puVar25,&cStack_478,5)" ( identifier , (pointer_expression "&cStack_478" & identifier) , number_literal ))) ;) (if_statement "if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(cStack_478 != '\x05')" ( (binary_expression "cStack_478 != '\x05'" identifier != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x50a4" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }" if (parenthesized_expression "(cStack_477 != 0)" ( (binary_expression "cStack_477 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }" { (expression_statement "iVar29 = *(int *)(puVar30 + 0x87780);" (assignment_expression "iVar29 = *(int *)(puVar30 + 0x87780)" identifier = (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) ))))) ;) (expression_statement "puVar18 = &uStack_470;" (assignment_expression "puVar18 = &uStack_470" identifier = (pointer_expression "&uStack_470" & identifier)) ;) (expression_statement "uVar4 = (int)cStack_477 - 1U & 0xff;" (assignment_expression "uVar4 = (int)cStack_477 - 1U & 0xff" identifier = (binary_expression "(int)cStack_477 - 1U & 0xff" (binary_expression "(int)cStack_477 - 1U" (cast_expression "(int)cStack_477" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) & number_literal)) ;) (expression_statement "uStack_470 = *(undefined4 *)(iVar29 + -0x506c);" (assignment_expression "uStack_470 = *(undefined4 *)(iVar29 + -0x506c)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + -0x506c)" * (cast_expression "(undefined4 *)(iVar29 + -0x506c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x506c)" ( (binary_expression "iVar29 + -0x506c" identifier + number_literal) ))))) ;) (expression_statement "uStack_46c = *(undefined4 *)(iVar29 + -0x5068);" (assignment_expression "uStack_46c = *(undefined4 *)(iVar29 + -0x5068)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + -0x5068)" * (cast_expression "(undefined4 *)(iVar29 + -0x5068)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x5068)" ( (binary_expression "iVar29 + -0x5068" identifier + number_literal) ))))) ;) (expression_statement "uStack_468 = *(undefined4 *)(iVar29 + -0x5064);" (assignment_expression "uStack_468 = *(undefined4 *)(iVar29 + -0x5064)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + -0x5064)" * (cast_expression "(undefined4 *)(iVar29 + -0x5064)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x5064)" ( (binary_expression "iVar29 + -0x5064" identifier + number_literal) ))))) ;) (expression_statement "uStack_464 = *(undefined2 *)(iVar29 + -0x5060);" (assignment_expression "uStack_464 = *(undefined2 *)(iVar29 + -0x5060)" identifier = (pointer_expression "*(undefined2 *)(iVar29 + -0x5060)" * (cast_expression "(undefined2 *)(iVar29 + -0x5060)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x5060)" ( (binary_expression "iVar29 + -0x5060" identifier + number_literal) ))))) ;) (if_statement "if (7 < uVar4) goto LAB_00026460;" if (parenthesized_expression "(7 < uVar4)" ( (binary_expression "7 < uVar4" number_literal < identifier) )) (goto_statement "goto LAB_00026460;" goto statement_identifier ;)) comment comment (expression_statement "puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();" (assignment_expression "puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" identifier = (cast_expression "(undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" (parenthesized_expression "(*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))" ( (pointer_expression "*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" * (cast_expression "(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" ( (binary_expression "puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" identifier + (cast_expression "(int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" ( (binary_expression ""Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14" (binary_expression ""Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" (string_literal ""Service lookup failed for source port \"%s\""" " string_content escape_sequence string_content escape_sequence ") + (pointer_expression "*(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" * (cast_expression "(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" ( (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4" (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d20" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar4 * 4" identifier * number_literal)) ))))) + number_literal) )))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar24;" return identifier ;) })) (if_statement "if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" if (parenthesized_expression "(cStack_475 == '\x03')" ( (binary_expression "cStack_475 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n        iVar29 = bStack_474 + 6;\n      }" { (expression_statement "iVar29 = bStack_474 + 6;" (assignment_expression "iVar29 = bStack_474 + 6" identifier = (binary_expression "bStack_474 + 6" identifier + number_literal)) ;) }) (else_clause "else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" else (if_statement "if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" if (parenthesized_expression "(cStack_475 == '\x04')" ( (binary_expression "cStack_475 == '\x04'" identifier == (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\n        iVar29 = 0x16;\n      }" { (expression_statement "iVar29 = 0x16;" (assignment_expression "iVar29 = 0x16" identifier = number_literal) ;) }) (else_clause "else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" else (compound_statement "{\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" { (if_statement "if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }" if (parenthesized_expression "(cStack_475 != '\x01')" ( (binary_expression "cStack_475 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f78" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "iVar29 = 10;" (assignment_expression "iVar29 = 10" identifier = number_literal) ;) }))))) (expression_statement "iVar33 = bufchain_size(puVar25);" (assignment_expression "iVar33 = bufchain_size(puVar25)" identifier = (call_expression "bufchain_size(puVar25)" identifier (argument_list "(puVar25)" ( identifier )))) ;) (if_statement "if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(iVar29 <= iVar33)" ( (binary_expression "iVar29 <= iVar33" identifier <= identifier) )) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bufchain_consume(puVar25,iVar29);" (call_expression "bufchain_consume(puVar25,iVar29)" identifier (argument_list "(puVar25,iVar29)" ( identifier , identifier ))) ;) (expression_statement "proxy_activate(puVar12);" (call_expression "proxy_activate(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) })) }))) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" statement_identifier : (while_statement "while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" while (parenthesized_expression "(iStack_26c != *piVar27)" ( (binary_expression "iStack_26c != *piVar27" identifier != (pointer_expression "*piVar27" * identifier)) )) (compound_statement "{\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" { (expression_statement "(**(code **)(puVar30 + 0x8815c))();" (call_expression "(**(code **)(puVar30 + 0x8815c))()" (parenthesized_expression "(**(code **)(puVar30 + 0x8815c))" ( (pointer_expression "**(code **)(puVar30 + 0x8815c)" * (pointer_expression "*(code **)(puVar30 + 0x8815c)" * (cast_expression "(code **)(puVar30 + 0x8815c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x8815c)" ( (binary_expression "puVar30 + 0x8815c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" identifier = identifier) ;) (labeled_statement "LAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);" statement_identifier : (expression_statement "(**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);" (call_expression "(**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87fa8))" ( (pointer_expression "**(code **)(puVar30 + 0x87fa8)" * (pointer_expression "*(code **)(puVar30 + 0x87fa8)" * (cast_expression "(code **)(puVar30 + 0x87fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87fa8)" ( (binary_expression "puVar30 + 0x87fa8" identifier + number_literal) ))))) )) (argument_list "((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c)" ( (binary_expression "(int)&uStack_464 + 1" (cast_expression "(int)&uStack_464" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_464" & identifier)) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f9c" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),puVar18,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , identifier , number_literal , number_literal ))) ;) }))) (return_statement "return puVar24;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nint proxy_socks4_negotiate(Proxy_Socket p,int change)\n\n{\n  ushort uVar1;\n  char cVar3;\n  uint uVar2;\n  int iVar4;\n  int extraout_v1;\n  Plug pppVar5;\n  Proxy_Socket p_00;\n  int iVar6;\n  Socket ppsVar7;\n  int iVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  int *piVar12;\n  bufchain *unaff_s3;\n  int *piVar13;\n  bufchain *pbVar14;\n  int in_t9;\n  _func_void_Plug_char_ptr_int_int *p_Var15;\n  code *pcVar16;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  Proxy_Socket pSStack_268;\n  int iStack_264;\n  int *piStack_260;\n  bufchain *pbStack_25c;\n  char addr [4];\n  char hostname [512];\n  \n  piVar12 = *(int **)(in_t9 + 0x8858c);\n  iVar4 = *piVar12;\n  if (p->state == -1) {\n    iVar11 = 1;\n    iVar8 = (**(code **)(in_t9 + 0x87e10))(p->remote_addr);\n    if (iVar8 == 2) {\n      p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);\n      goto LAB_000257e8;\n    }\n    if (iVar8 == 1) {\n      (**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);\nLAB_000258a4:\n                    /* WARNING: Subroutine does not return */\n      conf_get_str(p->conf,0x10);\n    }\n    if (iVar8 == 3) {\n      (**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);\n      (**(code **)(in_t9 + 0x884e0))(hostname);\n      addr[0] = '\0';\n      addr[1] = '\0';\n      addr[2] = '\0';\n      addr[3] = '\x01';\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (change == 0) {\n      iVar11 = 0;\n      (*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);\n    }\n    else if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }\nLAB_000257e8:\n    if (iVar4 == *piVar12) {\n      return iVar11;\n    }\n    (**(code **)(in_t9 + 0x8855c))();\n  }\n  pcVar16 = *(code **)(in_t9 + 0x883b8);\n  iVar4 = *(int *)(in_t9 + 0x87b80) + -0x5374;\n  p_00 = (Proxy_Socket)(*(int *)(in_t9 + 0x87b80) + -0x52c4);\n  (*pcVar16)(p_00,iVar4,0x32a,*(int *)(in_t9 + 0x87b80) + -0x4ce8);\n  piVar13 = *(int **)(pcVar16 + 0x8818c);\n  iVar8 = p_00->state;\n  iStack_26c = *piVar13;\n  pSStack_268 = p;\n  iStack_264 = iVar11;\n  piStack_260 = piVar12;\n  pbStack_25c = unaff_s3;\n  if (iVar8 == -1) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n                    /* WARNING: Subroutine does not return */\n    conf_get_str(p_00->conf,0x10);\n  }\n  if (iVar4 == 0) {\n    pcVar9 = (char *)0x0;\n    (*(*p_00->plug)->closing)\n              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,\n               p_00->closing_calling_back);\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 1) {\n    pcVar9 = (char *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 3) {\n    pcVar9 = (char *)(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx);\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 2) {\n    if (iVar8 == 1) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      pcVar9 = (char *)0x1;\n      if (iVar4 < 2) goto LAB_00025bf4;\n      bufchain_fetch(pbVar14,&uStack_470,2);\n      if (uStack_470._0_1_ != '\x05') {\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }\n      if (uStack_470._1_1_ == '\0') {\n        p_00->state = 2;\n      }\n      else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }\n      bufchain_consume(pbVar14,2);\n      iVar8 = p_00->state;\n    }\n    if (iVar8 == 7) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (1 < iVar4) {\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }\n    }\n    else {\n      if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }\n      if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }\n      if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }\n    }\n    pcVar9 = (char *)0x1;\n  }\n  else {\nLAB_00025bc8:\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0);\n  }\nLAB_00025bf4:\n  while (iStack_26c != *piVar13) {\n    (**(code **)(pcVar16 + 0x8815c))();\n    iVar4 = extraout_v1;\n    pcVar10 = pcVar9;\nLAB_00026460:\n    (**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);\n  }\n  return (int)pcVar9;\n}\n\n" comment (function_definition "int proxy_socks4_negotiate(Proxy_Socket p,int change)\n\n{\n  ushort uVar1;\n  char cVar3;\n  uint uVar2;\n  int iVar4;\n  int extraout_v1;\n  Plug pppVar5;\n  Proxy_Socket p_00;\n  int iVar6;\n  Socket ppsVar7;\n  int iVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  int *piVar12;\n  bufchain *unaff_s3;\n  int *piVar13;\n  bufchain *pbVar14;\n  int in_t9;\n  _func_void_Plug_char_ptr_int_int *p_Var15;\n  code *pcVar16;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  Proxy_Socket pSStack_268;\n  int iStack_264;\n  int *piStack_260;\n  bufchain *pbStack_25c;\n  char addr [4];\n  char hostname [512];\n  \n  piVar12 = *(int **)(in_t9 + 0x8858c);\n  iVar4 = *piVar12;\n  if (p->state == -1) {\n    iVar11 = 1;\n    iVar8 = (**(code **)(in_t9 + 0x87e10))(p->remote_addr);\n    if (iVar8 == 2) {\n      p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);\n      goto LAB_000257e8;\n    }\n    if (iVar8 == 1) {\n      (**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);\nLAB_000258a4:\n                    /* WARNING: Subroutine does not return */\n      conf_get_str(p->conf,0x10);\n    }\n    if (iVar8 == 3) {\n      (**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);\n      (**(code **)(in_t9 + 0x884e0))(hostname);\n      addr[0] = '\0';\n      addr[1] = '\0';\n      addr[2] = '\0';\n      addr[3] = '\x01';\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (change == 0) {\n      iVar11 = 0;\n      (*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);\n    }\n    else if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }\nLAB_000257e8:\n    if (iVar4 == *piVar12) {\n      return iVar11;\n    }\n    (**(code **)(in_t9 + 0x8855c))();\n  }\n  pcVar16 = *(code **)(in_t9 + 0x883b8);\n  iVar4 = *(int *)(in_t9 + 0x87b80) + -0x5374;\n  p_00 = (Proxy_Socket)(*(int *)(in_t9 + 0x87b80) + -0x52c4);\n  (*pcVar16)(p_00,iVar4,0x32a,*(int *)(in_t9 + 0x87b80) + -0x4ce8);\n  piVar13 = *(int **)(pcVar16 + 0x8818c);\n  iVar8 = p_00->state;\n  iStack_26c = *piVar13;\n  pSStack_268 = p;\n  iStack_264 = iVar11;\n  piStack_260 = piVar12;\n  pbStack_25c = unaff_s3;\n  if (iVar8 == -1) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n                    /* WARNING: Subroutine does not return */\n    conf_get_str(p_00->conf,0x10);\n  }\n  if (iVar4 == 0) {\n    pcVar9 = (char *)0x0;\n    (*(*p_00->plug)->closing)\n              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,\n               p_00->closing_calling_back);\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 1) {\n    pcVar9 = (char *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 3) {\n    pcVar9 = (char *)(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx);\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 2) {\n    if (iVar8 == 1) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      pcVar9 = (char *)0x1;\n      if (iVar4 < 2) goto LAB_00025bf4;\n      bufchain_fetch(pbVar14,&uStack_470,2);\n      if (uStack_470._0_1_ != '\x05') {\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }\n      if (uStack_470._1_1_ == '\0') {\n        p_00->state = 2;\n      }\n      else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }\n      bufchain_consume(pbVar14,2);\n      iVar8 = p_00->state;\n    }\n    if (iVar8 == 7) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (1 < iVar4) {\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }\n    }\n    else {\n      if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }\n      if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }\n      if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }\n    }\n    pcVar9 = (char *)0x1;\n  }\n  else {\nLAB_00025bc8:\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0);\n  }\nLAB_00025bf4:\n  while (iStack_26c != *piVar13) {\n    (**(code **)(pcVar16 + 0x8815c))();\n    iVar4 = extraout_v1;\n    pcVar10 = pcVar9;\nLAB_00026460:\n    (**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);\n  }\n  return (int)pcVar9;\n}" primitive_type (function_declarator "proxy_socks4_negotiate(Proxy_Socket p,int change)" identifier (parameter_list "(Proxy_Socket p,int change)" ( (parameter_declaration "Proxy_Socket p" type_identifier identifier) , (parameter_declaration "int change" primitive_type identifier) ))) (compound_statement "{\n  ushort uVar1;\n  char cVar3;\n  uint uVar2;\n  int iVar4;\n  int extraout_v1;\n  Plug pppVar5;\n  Proxy_Socket p_00;\n  int iVar6;\n  Socket ppsVar7;\n  int iVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  int *piVar12;\n  bufchain *unaff_s3;\n  int *piVar13;\n  bufchain *pbVar14;\n  int in_t9;\n  _func_void_Plug_char_ptr_int_int *p_Var15;\n  code *pcVar16;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  Proxy_Socket pSStack_268;\n  int iStack_264;\n  int *piStack_260;\n  bufchain *pbStack_25c;\n  char addr [4];\n  char hostname [512];\n  \n  piVar12 = *(int **)(in_t9 + 0x8858c);\n  iVar4 = *piVar12;\n  if (p->state == -1) {\n    iVar11 = 1;\n    iVar8 = (**(code **)(in_t9 + 0x87e10))(p->remote_addr);\n    if (iVar8 == 2) {\n      p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);\n      goto LAB_000257e8;\n    }\n    if (iVar8 == 1) {\n      (**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);\nLAB_000258a4:\n                    /* WARNING: Subroutine does not return */\n      conf_get_str(p->conf,0x10);\n    }\n    if (iVar8 == 3) {\n      (**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);\n      (**(code **)(in_t9 + 0x884e0))(hostname);\n      addr[0] = '\0';\n      addr[1] = '\0';\n      addr[2] = '\0';\n      addr[3] = '\x01';\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (change == 0) {\n      iVar11 = 0;\n      (*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);\n    }\n    else if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }\nLAB_000257e8:\n    if (iVar4 == *piVar12) {\n      return iVar11;\n    }\n    (**(code **)(in_t9 + 0x8855c))();\n  }\n  pcVar16 = *(code **)(in_t9 + 0x883b8);\n  iVar4 = *(int *)(in_t9 + 0x87b80) + -0x5374;\n  p_00 = (Proxy_Socket)(*(int *)(in_t9 + 0x87b80) + -0x52c4);\n  (*pcVar16)(p_00,iVar4,0x32a,*(int *)(in_t9 + 0x87b80) + -0x4ce8);\n  piVar13 = *(int **)(pcVar16 + 0x8818c);\n  iVar8 = p_00->state;\n  iStack_26c = *piVar13;\n  pSStack_268 = p;\n  iStack_264 = iVar11;\n  piStack_260 = piVar12;\n  pbStack_25c = unaff_s3;\n  if (iVar8 == -1) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n                    /* WARNING: Subroutine does not return */\n    conf_get_str(p_00->conf,0x10);\n  }\n  if (iVar4 == 0) {\n    pcVar9 = (char *)0x0;\n    (*(*p_00->plug)->closing)\n              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,\n               p_00->closing_calling_back);\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 1) {\n    pcVar9 = (char *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 3) {\n    pcVar9 = (char *)(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx);\n    goto LAB_00025bf4;\n  }\n  if (iVar4 == 2) {\n    if (iVar8 == 1) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      pcVar9 = (char *)0x1;\n      if (iVar4 < 2) goto LAB_00025bf4;\n      bufchain_fetch(pbVar14,&uStack_470,2);\n      if (uStack_470._0_1_ != '\x05') {\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }\n      if (uStack_470._1_1_ == '\0') {\n        p_00->state = 2;\n      }\n      else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }\n      bufchain_consume(pbVar14,2);\n      iVar8 = p_00->state;\n    }\n    if (iVar8 == 7) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (1 < iVar4) {\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }\n    }\n    else {\n      if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }\n      if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }\n      if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }\n    }\n    pcVar9 = (char *)0x1;\n  }\n  else {\nLAB_00025bc8:\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0);\n  }\nLAB_00025bf4:\n  while (iStack_26c != *piVar13) {\n    (**(code **)(pcVar16 + 0x8815c))();\n    iVar4 = extraout_v1;\n    pcVar10 = pcVar9;\nLAB_00026460:\n    (**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);\n  }\n  return (int)pcVar9;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "Plug pppVar5;" type_identifier identifier ;) (declaration "Proxy_Socket p_00;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "Socket ppsVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "bufchain *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "bufchain *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "_func_void_Plug_char_ptr_int_int *p_Var15;" type_identifier (pointer_declarator "*p_Var15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char cStack_478;" primitive_type identifier ;) (declaration "char cStack_477;" primitive_type identifier ;) (declaration "char cStack_475;" primitive_type identifier ;) (declaration "byte bStack_474;" type_identifier identifier ;) (declaration "undefined4 uStack_470;" type_identifier identifier ;) (declaration "undefined4 uStack_46c;" type_identifier identifier ;) (declaration "undefined4 uStack_468;" type_identifier identifier ;) (declaration "undefined2 uStack_464;" type_identifier identifier ;) (declaration "int iStack_26c;" primitive_type identifier ;) (declaration "Proxy_Socket pSStack_268;" type_identifier identifier ;) (declaration "int iStack_264;" primitive_type identifier ;) (declaration "int *piStack_260;" primitive_type (pointer_declarator "*piStack_260" * identifier) ;) (declaration "bufchain *pbStack_25c;" type_identifier (pointer_declarator "*pbStack_25c" * identifier) ;) (declaration "char addr [4];" primitive_type (array_declarator "addr [4]" identifier [ number_literal ]) ;) (declaration "char hostname [512];" primitive_type (array_declarator "hostname [512]" identifier [ number_literal ]) ;) (expression_statement "piVar12 = *(int **)(in_t9 + 0x8858c);" (assignment_expression "piVar12 = *(int **)(in_t9 + 0x8858c)" identifier = (pointer_expression "*(int **)(in_t9 + 0x8858c)" * (cast_expression "(int **)(in_t9 + 0x8858c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x8858c)" ( (binary_expression "in_t9 + 0x8858c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar12;" (assignment_expression "iVar4 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (if_statement "if (p->state == -1) {\n    iVar11 = 1;\n    iVar8 = (**(code **)(in_t9 + 0x87e10))(p->remote_addr);\n    if (iVar8 == 2) {\n      p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);\n      goto LAB_000257e8;\n    }\n    if (iVar8 == 1) {\n      (**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);\nLAB_000258a4:\n                    /* WARNING: Subroutine does not return */\n      conf_get_str(p->conf,0x10);\n    }\n    if (iVar8 == 3) {\n      (**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);\n      (**(code **)(in_t9 + 0x884e0))(hostname);\n      addr[0] = '\0';\n      addr[1] = '\0';\n      addr[2] = '\0';\n      addr[3] = '\x01';\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (change == 0) {\n      iVar11 = 0;\n      (*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);\n    }\n    else if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }\nLAB_000257e8:\n    if (iVar4 == *piVar12) {\n      return iVar11;\n    }\n    (**(code **)(in_t9 + 0x8855c))();\n  }" if (parenthesized_expression "(p->state == -1)" ( (binary_expression "p->state == -1" (field_expression "p->state" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    iVar11 = 1;\n    iVar8 = (**(code **)(in_t9 + 0x87e10))(p->remote_addr);\n    if (iVar8 == 2) {\n      p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);\n      goto LAB_000257e8;\n    }\n    if (iVar8 == 1) {\n      (**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);\nLAB_000258a4:\n                    /* WARNING: Subroutine does not return */\n      conf_get_str(p->conf,0x10);\n    }\n    if (iVar8 == 3) {\n      (**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);\n      (**(code **)(in_t9 + 0x884e0))(hostname);\n      addr[0] = '\0';\n      addr[1] = '\0';\n      addr[2] = '\0';\n      addr[3] = '\x01';\n      goto LAB_000258a4;\n    }\n  }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = (**(code **)(in_t9 + 0x87e10))(p->remote_addr);" (assignment_expression "iVar8 = (**(code **)(in_t9 + 0x87e10))(p->remote_addr)" identifier = (call_expression "(**(code **)(in_t9 + 0x87e10))(p->remote_addr)" (parenthesized_expression "(**(code **)(in_t9 + 0x87e10))" ( (pointer_expression "**(code **)(in_t9 + 0x87e10)" * (pointer_expression "*(code **)(in_t9 + 0x87e10)" * (cast_expression "(code **)(in_t9 + 0x87e10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x87e10)" ( (binary_expression "in_t9 + 0x87e10" identifier + number_literal) ))))) )) (argument_list "(p->remote_addr)" ( (field_expression "p->remote_addr" identifier -> field_identifier) )))) ;) (if_statement "if (iVar8 == 2) {\n      p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);\n      goto LAB_000257e8;\n    }" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (compound_statement "{\n      p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);\n      goto LAB_000257e8;\n    }" { (expression_statement "p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8);" (assignment_expression "p->error = (char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8)" (field_expression "p->error" identifier -> field_identifier) = (cast_expression "(char *)(*(int *)(in_t9 + 0x87b80) + -0x52f8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x87b80) + -0x52f8)" ( (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x52f8" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000257e8;" goto statement_identifier ;) })) (if_statement "if (iVar8 == 1) {\n      (**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);\nLAB_000258a4:\n                    /* WARNING: Subroutine does not return */\n      conf_get_str(p->conf,0x10);\n    }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);\nLAB_000258a4:\n                    /* WARNING: Subroutine does not return */\n      conf_get_str(p->conf,0x10);\n    }" { (expression_statement "(**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr);" (call_expression "(**(code **)(in_t9 + 0x87e14))(p->remote_addr,addr)" (parenthesized_expression "(**(code **)(in_t9 + 0x87e14))" ( (pointer_expression "**(code **)(in_t9 + 0x87e14)" * (pointer_expression "*(code **)(in_t9 + 0x87e14)" * (cast_expression "(code **)(in_t9 + 0x87e14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x87e14)" ( (binary_expression "in_t9 + 0x87e14" identifier + number_literal) ))))) )) (argument_list "(p->remote_addr,addr)" ( (field_expression "p->remote_addr" identifier -> field_identifier) , identifier ))) ;) (labeled_statement "LAB_000258a4:\n                    /* WARNING: Subroutine does not return */\n      conf_get_str(p->conf,0x10);" statement_identifier : comment (expression_statement "conf_get_str(p->conf,0x10);" (call_expression "conf_get_str(p->conf,0x10)" identifier (argument_list "(p->conf,0x10)" ( (field_expression "p->conf" identifier -> field_identifier) , number_literal ))) ;)) })) (if_statement "if (iVar8 == 3) {\n      (**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);\n      (**(code **)(in_t9 + 0x884e0))(hostname);\n      addr[0] = '\0';\n      addr[1] = '\0';\n      addr[2] = '\0';\n      addr[3] = '\x01';\n      goto LAB_000258a4;\n    }" if (parenthesized_expression "(iVar8 == 3)" ( (binary_expression "iVar8 == 3" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);\n      (**(code **)(in_t9 + 0x884e0))(hostname);\n      addr[0] = '\0';\n      addr[1] = '\0';\n      addr[2] = '\0';\n      addr[3] = '\x01';\n      goto LAB_000258a4;\n    }" { (expression_statement "(**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200);" (call_expression "(**(code **)(in_t9 + 0x87cbc))(p->remote_addr,hostname,0x200)" (parenthesized_expression "(**(code **)(in_t9 + 0x87cbc))" ( (pointer_expression "**(code **)(in_t9 + 0x87cbc)" * (pointer_expression "*(code **)(in_t9 + 0x87cbc)" * (cast_expression "(code **)(in_t9 + 0x87cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x87cbc)" ( (binary_expression "in_t9 + 0x87cbc" identifier + number_literal) ))))) )) (argument_list "(p->remote_addr,hostname,0x200)" ( (field_expression "p->remote_addr" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "(**(code **)(in_t9 + 0x884e0))(hostname);" (call_expression "(**(code **)(in_t9 + 0x884e0))(hostname)" (parenthesized_expression "(**(code **)(in_t9 + 0x884e0))" ( (pointer_expression "**(code **)(in_t9 + 0x884e0)" * (pointer_expression "*(code **)(in_t9 + 0x884e0)" * (cast_expression "(code **)(in_t9 + 0x884e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x884e0)" ( (binary_expression "in_t9 + 0x884e0" identifier + number_literal) ))))) )) (argument_list "(hostname)" ( identifier ))) ;) (expression_statement "addr[0] = '\0';" (assignment_expression "addr[0] = '\0'" (subscript_expression "addr[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "addr[1] = '\0';" (assignment_expression "addr[1] = '\0'" (subscript_expression "addr[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "addr[2] = '\0';" (assignment_expression "addr[2] = '\0'" (subscript_expression "addr[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "addr[3] = '\x01';" (assignment_expression "addr[3] = '\x01'" (subscript_expression "addr[3]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_000258a4;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (change == 0) {\n      iVar11 = 0;\n      (*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);\n    }\n    else if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }\nLAB_000257e8:\n    if (iVar4 == *piVar12) {\n      return iVar11;\n    }\n    (**(code **)(in_t9 + 0x8855c))();\n  }" else (compound_statement "{\n    if (change == 0) {\n      iVar11 = 0;\n      (*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);\n    }\n    else if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }\nLAB_000257e8:\n    if (iVar4 == *piVar12) {\n      return iVar11;\n    }\n    (**(code **)(in_t9 + 0x8855c))();\n  }" { (if_statement "if (change == 0) {\n      iVar11 = 0;\n      (*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);\n    }\n    else if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" if (parenthesized_expression "(change == 0)" ( (binary_expression "change == 0" identifier == number_literal) )) (compound_statement "{\n      iVar11 = 0;\n      (*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);\n    }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "(*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);" (call_expression "(*(*p->plug)->closing)\n                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back)" (parenthesized_expression "(*(*p->plug)->closing)" ( (pointer_expression "*(*p->plug)->closing" * (field_expression "(*p->plug)->closing" (parenthesized_expression "(*p->plug)" ( (pointer_expression "*p->plug" * (field_expression "p->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back)" ( (field_expression "p->plug" identifier -> field_identifier) , (field_expression "p->closing_error_msg" identifier -> field_identifier) , (field_expression "p->closing_error_code" identifier -> field_identifier) , (field_expression "p->closing_calling_back" identifier -> field_identifier) ))) ;) }) (else_clause "else if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" else (if_statement "if (change == 1) {\n      iVar11 = 0;\n    }\n    else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" if (parenthesized_expression "(change == 1)" ( (binary_expression "change == 1" identifier == number_literal) )) (compound_statement "{\n      iVar11 = 0;\n    }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) }) (else_clause "else if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" else (if_statement "if (change == 3) {\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }\n    else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" if (parenthesized_expression "(change == 3)" ( (binary_expression "change == 3" identifier == number_literal) )) (compound_statement "{\n      iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);\n    }" { (expression_statement "iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);" (assignment_expression "iVar11 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx)" identifier = (call_expression "(*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx)" (parenthesized_expression "(*(*p->plug)->accepting)" ( (pointer_expression "*(*p->plug)->accepting" * (field_expression "(*p->plug)->accepting" (parenthesized_expression "(*p->plug)" ( (pointer_expression "*p->plug" * (field_expression "p->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p->plug,p->accepting_constructor,p->accepting_ctx)" ( (field_expression "p->plug" identifier -> field_identifier) , (field_expression "p->accepting_constructor" identifier -> field_identifier) , (field_expression "p->accepting_ctx" identifier -> field_identifier) )))) ;) }) (else_clause "else if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" else (if_statement "if ((change == 2) && (p->state == 1)) {\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }\n    else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" if (parenthesized_expression "((change == 2) && (p->state == 1))" ( (binary_expression "(change == 2) && (p->state == 1)" (parenthesized_expression "(change == 2)" ( (binary_expression "change == 2" identifier == number_literal) )) && (parenthesized_expression "(p->state == 1)" ( (binary_expression "p->state == 1" (field_expression "p->state" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n      unaff_s3 = &p->pending_input_data;\n      iVar8 = bufchain_size(unaff_s3);\n      iVar11 = 1;\n      if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }\n    }" { (expression_statement "unaff_s3 = &p->pending_input_data;" (assignment_expression "unaff_s3 = &p->pending_input_data" identifier = (pointer_expression "&p->pending_input_data" & (field_expression "p->pending_input_data" identifier -> field_identifier))) ;) (expression_statement "iVar8 = bufchain_size(unaff_s3);" (assignment_expression "iVar8 = bufchain_size(unaff_s3)" identifier = (call_expression "bufchain_size(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (if_statement "if (7 < iVar8) {\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }" if (parenthesized_expression "(7 < iVar8)" ( (binary_expression "7 < iVar8" number_literal < identifier) )) (compound_statement "{\n        bufchain_fetch(unaff_s3,hostname,8);\n        if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }\n      }" { (expression_statement "bufchain_fetch(unaff_s3,hostname,8);" (call_expression "bufchain_fetch(unaff_s3,hostname,8)" identifier (argument_list "(unaff_s3,hostname,8)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (hostname[0] == '\0') {\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }\n        else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }" if (parenthesized_expression "(hostname[0] == '\0')" ( (binary_expression "hostname[0] == '\0'" (subscript_expression "hostname[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }\n        }" { (if_statement "if (hostname[1] == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }\n          else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }" if (parenthesized_expression "(hostname[1] == 'Z')" ( (binary_expression "hostname[1] == 'Z'" (subscript_expression "hostname[1]" identifier [ number_literal ]) == (char_literal "'Z'" ' character ')) )) (compound_statement "{\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(p);\n          }" { (expression_statement "bufchain_consume(unaff_s3,8);" (call_expression "bufchain_consume(unaff_s3,8)" identifier (argument_list "(unaff_s3,8)" ( identifier , number_literal ))) ;) (expression_statement "proxy_activate(p);" (call_expression "proxy_activate(p)" identifier (argument_list "(p)" ( identifier ))) ;) }) (else_clause "else {\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }" else (compound_statement "{\n            pppVar5 = p->plug;\n            p_Var15 = (*pppVar5)->closing;\n            if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }\n          }" { (expression_statement "pppVar5 = p->plug;" (assignment_expression "pppVar5 = p->plug" identifier = (field_expression "p->plug" identifier -> field_identifier)) ;) (expression_statement "p_Var15 = (*pppVar5)->closing;" (assignment_expression "p_Var15 = (*pppVar5)->closing" identifier = (field_expression "(*pppVar5)->closing" (parenthesized_expression "(*pppVar5)" ( (pointer_expression "*pppVar5" * identifier) )) -> field_identifier)) ;) (if_statement "if (hostname[1] == '\\') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }\n            else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }" if (parenthesized_expression "(hostname[1] == '\\')" ( (binary_expression "hostname[1] == '\\'" (subscript_expression "hostname[1]" identifier [ number_literal ]) == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);\n            }" { (expression_statement "(*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0);" (call_expression "(*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0)" (parenthesized_expression "(*p_Var15)" ( (pointer_expression "*p_Var15" * identifier) )) (argument_list "(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264),8000,0)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x87b80) + -0x5264)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x87b80) + -0x5264)" ( (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x5264" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) }) (else_clause "else if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }" else (if_statement "if (hostname[1] == ']') {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }\n            else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }" if (parenthesized_expression "(hostname[1] == ']')" ( (binary_expression "hostname[1] == ']'" (subscript_expression "hostname[1]" identifier [ number_literal ]) == (char_literal "']'" ' character ')) )) (compound_statement "{\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);\n            }" { (expression_statement "(*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0);" (call_expression "(*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0)" (parenthesized_expression "(*p_Var15)" ( (pointer_expression "*p_Var15" * identifier) )) (argument_list "(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230),8000,0)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x87b80) + -0x5230)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x87b80) + -0x5230)" ( (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x5230" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) }) (else_clause "else {\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }" else (compound_statement "{\n              (*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);\n            }" { (expression_statement "(*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0);" (call_expression "(*p_Var15)(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0)" (parenthesized_expression "(*p_Var15)" ( (pointer_expression "*p_Var15" * identifier) )) (argument_list "(pppVar5,(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8),8000,0)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x87b80) + -0x51f8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x87b80) + -0x51f8)" ( (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x51f8" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) }))))) }))) }) (else_clause "else {\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }" else (compound_statement "{\n          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);\n        }" { (expression_statement "(*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0);" (call_expression "(*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0)" (parenthesized_expression "(*(*p->plug)->closing)" ( (pointer_expression "*(*p->plug)->closing" * (field_expression "(*p->plug)->closing" (parenthesized_expression "(*p->plug)" ( (pointer_expression "*p->plug" * (field_expression "p->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac),8000,0)" ( (field_expression "p->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(in_t9 + 0x87b80) + -0x52ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x87b80) + -0x52ac)" ( (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x52ac" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) }))) })) }) (else_clause "else {\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" else (compound_statement "{\n      iVar11 = 1;\n      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);\n    }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "(*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0);" (call_expression "(*(*p->plug)->closing)(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0)" (parenthesized_expression "(*(*p->plug)->closing)" ( (pointer_expression "*(*p->plug)->closing" * (field_expression "(*p->plug)->closing" (parenthesized_expression "(*p->plug)" ( (pointer_expression "*p->plug" * (field_expression "p->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p->plug,(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c),0x1f41,0)" ( (field_expression "p->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(in_t9 + 0x87b80) + -0x531c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x87b80) + -0x531c)" ( (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x531c" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) }))))))))) (labeled_statement "LAB_000257e8:\n    if (iVar4 == *piVar12) {\n      return iVar11;\n    }" statement_identifier : (if_statement "if (iVar4 == *piVar12) {\n      return iVar11;\n    }" if (parenthesized_expression "(iVar4 == *piVar12)" ( (binary_expression "iVar4 == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n      return iVar11;\n    }" { (return_statement "return iVar11;" return identifier ;) }))) (expression_statement "(**(code **)(in_t9 + 0x8855c))();" (call_expression "(**(code **)(in_t9 + 0x8855c))()" (parenthesized_expression "(**(code **)(in_t9 + 0x8855c))" ( (pointer_expression "**(code **)(in_t9 + 0x8855c)" * (pointer_expression "*(code **)(in_t9 + 0x8855c)" * (cast_expression "(code **)(in_t9 + 0x8855c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x8855c)" ( (binary_expression "in_t9 + 0x8855c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "pcVar16 = *(code **)(in_t9 + 0x883b8);" (assignment_expression "pcVar16 = *(code **)(in_t9 + 0x883b8)" identifier = (pointer_expression "*(code **)(in_t9 + 0x883b8)" * (cast_expression "(code **)(in_t9 + 0x883b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x883b8)" ( (binary_expression "in_t9 + 0x883b8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x87b80) + -0x5374;" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x87b80) + -0x5374" identifier = (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x5374" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "p_00 = (Proxy_Socket)(*(int *)(in_t9 + 0x87b80) + -0x52c4);" (assignment_expression "p_00 = (Proxy_Socket)(*(int *)(in_t9 + 0x87b80) + -0x52c4)" identifier = (call_expression "(Proxy_Socket)(*(int *)(in_t9 + 0x87b80) + -0x52c4)" (parenthesized_expression "(Proxy_Socket)" ( identifier )) (argument_list "(*(int *)(in_t9 + 0x87b80) + -0x52c4)" ( (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x52c4" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar16)(p_00,iVar4,0x32a,*(int *)(in_t9 + 0x87b80) + -0x4ce8);" (call_expression "(*pcVar16)(p_00,iVar4,0x32a,*(int *)(in_t9 + 0x87b80) + -0x4ce8)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(p_00,iVar4,0x32a,*(int *)(in_t9 + 0x87b80) + -0x4ce8)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(in_t9 + 0x87b80) + -0x4ce8" (pointer_expression "*(int *)(in_t9 + 0x87b80)" * (cast_expression "(int *)(in_t9 + 0x87b80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x87b80)" ( (binary_expression "in_t9 + 0x87b80" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar13 = *(int **)(pcVar16 + 0x8818c);" (assignment_expression "piVar13 = *(int **)(pcVar16 + 0x8818c)" identifier = (pointer_expression "*(int **)(pcVar16 + 0x8818c)" * (cast_expression "(int **)(pcVar16 + 0x8818c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x8818c)" ( (binary_expression "pcVar16 + 0x8818c" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = p_00->state;" (assignment_expression "iVar8 = p_00->state" identifier = (field_expression "p_00->state" identifier -> field_identifier)) ;) (expression_statement "iStack_26c = *piVar13;" (assignment_expression "iStack_26c = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "pSStack_268 = p;" (assignment_expression "pSStack_268 = p" identifier = identifier) ;) (expression_statement "iStack_264 = iVar11;" (assignment_expression "iStack_264 = iVar11" identifier = identifier) ;) (expression_statement "piStack_260 = piVar12;" (assignment_expression "piStack_260 = piVar12" identifier = identifier) ;) (expression_statement "pbStack_25c = unaff_s3;" (assignment_expression "pbStack_25c = unaff_s3" identifier = identifier) ;) (if_statement "if (iVar8 == -1) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n                    /* WARNING: Subroutine does not return */\n    conf_get_str(p_00->conf,0x10);\n  }" if (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) (compound_statement "{\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n                    /* WARNING: Subroutine does not return */\n    conf_get_str(p_00->conf,0x10);\n  }" { (expression_statement "uStack_470 = CONCAT13(5,uStack_470._1_3_);" (assignment_expression "uStack_470 = CONCAT13(5,uStack_470._1_3_)" identifier = (call_expression "CONCAT13(5,uStack_470._1_3_)" identifier (argument_list "(5,uStack_470._1_3_)" ( number_literal , (field_expression "uStack_470._1_3_" identifier . field_identifier) )))) ;) comment (expression_statement "conf_get_str(p_00->conf,0x10);" (call_expression "conf_get_str(p_00->conf,0x10)" identifier (argument_list "(p_00->conf,0x10)" ( (field_expression "p_00->conf" identifier -> field_identifier) , number_literal ))) ;) })) (if_statement "if (iVar4 == 0) {\n    pcVar9 = (char *)0x0;\n    (*(*p_00->plug)->closing)\n              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,\n               p_00->closing_calling_back);\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar9 = (char *)0x0;\n    (*(*p_00->plug)->closing)\n              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,\n               p_00->closing_calling_back);\n    goto LAB_00025bf4;\n  }" { (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(*p_00->plug)->closing)\n              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,\n               p_00->closing_calling_back);" (call_expression "(*(*p_00->plug)->closing)\n              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,\n               p_00->closing_calling_back)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,\n               p_00->closing_calling_back)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (field_expression "p_00->closing_error_msg" identifier -> field_identifier) , (field_expression "p_00->closing_error_code" identifier -> field_identifier) , (field_expression "p_00->closing_calling_back" identifier -> field_identifier) ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (iVar4 == 1) {\n    pcVar9 = (char *)0x0;\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n    pcVar9 = (char *)0x0;\n    goto LAB_00025bf4;\n  }" { (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (iVar4 == 3) {\n    pcVar9 = (char *)(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx);\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(iVar4 == 3)" ( (binary_expression "iVar4 == 3" identifier == number_literal) )) (compound_statement "{\n    pcVar9 = (char *)(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx);\n    goto LAB_00025bf4;\n  }" { (expression_statement "pcVar9 = (char *)(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx);" (assignment_expression "pcVar9 = (char *)(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx)" identifier = (cast_expression "(char *)(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(*p_00->plug)->accepting)\n                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx)" (parenthesized_expression "(*(*p_00->plug)->accepting)" ( (pointer_expression "*(*p_00->plug)->accepting" * (field_expression "(*p_00->plug)->accepting" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (field_expression "p_00->accepting_constructor" identifier -> field_identifier) , (field_expression "p_00->accepting_ctx" identifier -> field_identifier) ))))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (iVar4 == 2) {\n    if (iVar8 == 1) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      pcVar9 = (char *)0x1;\n      if (iVar4 < 2) goto LAB_00025bf4;\n      bufchain_fetch(pbVar14,&uStack_470,2);\n      if (uStack_470._0_1_ != '\x05') {\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }\n      if (uStack_470._1_1_ == '\0') {\n        p_00->state = 2;\n      }\n      else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }\n      bufchain_consume(pbVar14,2);\n      iVar8 = p_00->state;\n    }\n    if (iVar8 == 7) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (1 < iVar4) {\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }\n    }\n    else {\n      if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }\n      if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }\n      if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }\n    }\n    pcVar9 = (char *)0x1;\n  }\n  else {\nLAB_00025bc8:\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0);\n  }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n    if (iVar8 == 1) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      pcVar9 = (char *)0x1;\n      if (iVar4 < 2) goto LAB_00025bf4;\n      bufchain_fetch(pbVar14,&uStack_470,2);\n      if (uStack_470._0_1_ != '\x05') {\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }\n      if (uStack_470._1_1_ == '\0') {\n        p_00->state = 2;\n      }\n      else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }\n      bufchain_consume(pbVar14,2);\n      iVar8 = p_00->state;\n    }\n    if (iVar8 == 7) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (1 < iVar4) {\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }\n    }\n    else {\n      if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }\n      if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }\n      if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }\n    }\n    pcVar9 = (char *)0x1;\n  }" { (if_statement "if (iVar8 == 1) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      pcVar9 = (char *)0x1;\n      if (iVar4 < 2) goto LAB_00025bf4;\n      bufchain_fetch(pbVar14,&uStack_470,2);\n      if (uStack_470._0_1_ != '\x05') {\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }\n      if (uStack_470._1_1_ == '\0') {\n        p_00->state = 2;\n      }\n      else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }\n      bufchain_consume(pbVar14,2);\n      iVar8 = p_00->state;\n    }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      pcVar9 = (char *)0x1;\n      if (iVar4 < 2) goto LAB_00025bf4;\n      bufchain_fetch(pbVar14,&uStack_470,2);\n      if (uStack_470._0_1_ != '\x05') {\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }\n      if (uStack_470._1_1_ == '\0') {\n        p_00->state = 2;\n      }\n      else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }\n      bufchain_consume(pbVar14,2);\n      iVar8 = p_00->state;\n    }" { (expression_statement "pbVar14 = &p_00->pending_input_data;" (assignment_expression "pbVar14 = &p_00->pending_input_data" identifier = (pointer_expression "&p_00->pending_input_data" & (field_expression "p_00->pending_input_data" identifier -> field_identifier))) ;) (expression_statement "iVar4 = bufchain_size(pbVar14);" (assignment_expression "iVar4 = bufchain_size(pbVar14)" identifier = (call_expression "bufchain_size(pbVar14)" identifier (argument_list "(pbVar14)" ( identifier )))) ;) (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar4 < 2) goto LAB_00025bf4;" if (parenthesized_expression "(iVar4 < 2)" ( (binary_expression "iVar4 < 2" identifier < number_literal) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (expression_statement "bufchain_fetch(pbVar14,&uStack_470,2);" (call_expression "bufchain_fetch(pbVar14,&uStack_470,2)" identifier (argument_list "(pbVar14,&uStack_470,2)" ( identifier , (pointer_expression "&uStack_470" & identifier) , number_literal ))) ;) (if_statement "if (uStack_470._0_1_ != '\x05') {\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(uStack_470._0_1_ != '\x05')" ( (binary_expression "uStack_470._0_1_ != '\x05'" (field_expression "uStack_470._0_1_" identifier . field_identifier) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;\n        goto LAB_00025bf4;\n      }" { (expression_statement "(*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)\n        ;" (call_expression "(*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0),8000,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(pcVar16 + 0x87780) + -0x51a0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x51a0)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x51a0" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (uStack_470._1_1_ == '\0') {\n        p_00->state = 2;\n      }\n      else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }" if (parenthesized_expression "(uStack_470._1_1_ == '\0')" ( (binary_expression "uStack_470._1_1_ == '\0'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        p_00->state = 2;\n      }" { (expression_statement "p_00->state = 2;" (assignment_expression "p_00->state = 2" (field_expression "p_00->state" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }" else (if_statement "if (uStack_470._1_1_ == '\x01') {\n        p_00->state = 4;\n      }\n      else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }" if (parenthesized_expression "(uStack_470._1_1_ == '\x01')" ( (binary_expression "uStack_470._1_1_ == '\x01'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        p_00->state = 4;\n      }" { (expression_statement "p_00->state = 4;" (assignment_expression "p_00->state = 4" (field_expression "p_00->state" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }" else (if_statement "if (uStack_470._1_1_ == '\x02') {\n        p_00->state = 5;\n      }\n      else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }" if (parenthesized_expression "(uStack_470._1_1_ == '\x02')" ( (binary_expression "uStack_470._1_1_ == '\x02'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        p_00->state = 5;\n      }" { (expression_statement "p_00->state = 5;" (assignment_expression "p_00->state = 5" (field_expression "p_00->state" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }" else (compound_statement "{\n        if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }\n        p_00->state = 6;\n      }" { (if_statement "if (uStack_470._1_1_ != '\x03') {\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }" if (parenthesized_expression "(uStack_470._1_1_ != '\x03')" ( (binary_expression "uStack_470._1_1_ != '\x03'" (field_expression "uStack_470._1_1_" identifier . field_identifier) != (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);\n          goto LAB_00025bf4;\n        }" { (expression_statement "(*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0);" (call_expression "(*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168),8000,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(pcVar16 + 0x87780) + -0x5168)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x5168)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "p_00->state = 6;" (assignment_expression "p_00->state = 6" (field_expression "p_00->state" identifier -> field_identifier) = number_literal) ;) }))))))) (expression_statement "bufchain_consume(pbVar14,2);" (call_expression "bufchain_consume(pbVar14,2)" identifier (argument_list "(pbVar14,2)" ( identifier , number_literal ))) ;) (expression_statement "iVar8 = p_00->state;" (assignment_expression "iVar8 = p_00->state" identifier = (field_expression "p_00->state" identifier -> field_identifier)) ;) })) (if_statement "if (iVar8 == 7) {\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (1 < iVar4) {\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }\n    }\n    else {\n      if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }\n      if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }\n      if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }\n    }" if (parenthesized_expression "(iVar8 == 7)" ( (binary_expression "iVar8 == 7" identifier == number_literal) )) (compound_statement "{\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (1 < iVar4) {\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }\n    }" { (expression_statement "pbVar14 = &p_00->pending_input_data;" (assignment_expression "pbVar14 = &p_00->pending_input_data" identifier = (pointer_expression "&p_00->pending_input_data" & (field_expression "p_00->pending_input_data" identifier -> field_identifier))) ;) (expression_statement "iVar4 = bufchain_size(pbVar14);" (assignment_expression "iVar4 = bufchain_size(pbVar14)" identifier = (call_expression "bufchain_size(pbVar14)" identifier (argument_list "(pbVar14)" ( identifier )))) ;) (if_statement "if (1 < iVar4) {\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }" if (parenthesized_expression "(1 < iVar4)" ( (binary_expression "1 < iVar4" number_literal < identifier) )) (compound_statement "{\n        bufchain_fetch(pbVar14,&uStack_470,2);\n        if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }\n        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;\n      }" { (expression_statement "bufchain_fetch(pbVar14,&uStack_470,2);" (call_expression "bufchain_fetch(pbVar14,&uStack_470,2)" identifier (argument_list "(pbVar14,&uStack_470,2)" ( identifier , (pointer_expression "&uStack_470" & identifier) , number_literal ))) ;) (if_statement "if (uStack_470._0_1_ == '\x01') {\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }" if (parenthesized_expression "(uStack_470._0_1_ == '\x01')" ( (binary_expression "uStack_470._0_1_ == '\x01'" (field_expression "uStack_470._0_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }\n          bufchain_consume(pbVar14,2);\n          p_00->state = 2;\n          goto LAB_00025f08;\n        }" { (if_statement "if (uStack_470._1_1_ != '\0') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }" if (parenthesized_expression "(uStack_470._1_1_ != '\0')" ( (binary_expression "uStack_470._1_1_ != '\0'" (field_expression "uStack_470._1_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);\n            goto LAB_00025bf4;\n          }" { (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0);" (call_expression "(*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0),8000,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(pcVar16 + 0x87780) + -0x50e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x50e0)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x50e0" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "bufchain_consume(pbVar14,2);" (call_expression "bufchain_consume(pbVar14,2)" identifier (argument_list "(pbVar14,2)" ( identifier , number_literal ))) ;) (expression_statement "p_00->state = 2;" (assignment_expression "p_00->state = 2" (field_expression "p_00->state" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_00025f08;" goto statement_identifier ;) })) (expression_statement "(*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)\n        ;" (call_expression "(*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c),8000,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(pcVar16 + 0x87780) + -0x512c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x512c)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x512c" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) })) }) (else_clause "else {\n      if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }\n      if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }\n      if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }\n    }" else (compound_statement "{\n      if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }\n      if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }\n      if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }\n      pbVar14 = &p_00->pending_input_data;\n      iVar4 = bufchain_size(pbVar14);\n      if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }\n    }" { (if_statement "if (iVar8 == 8) {\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }" if (parenthesized_expression "(iVar8 == 8)" ( (binary_expression "iVar8 == 8" identifier == number_literal) )) (compound_statement "{\n        pcVar9 = (char *)proxy_socks5_handlechap(p_00);\n        if (pcVar9 != (char *)0x0) goto LAB_00025bf4;\n        iVar8 = p_00->state;\n      }" { (expression_statement "pcVar9 = (char *)proxy_socks5_handlechap(p_00);" (assignment_expression "pcVar9 = (char *)proxy_socks5_handlechap(p_00)" identifier = (cast_expression "(char *)proxy_socks5_handlechap(p_00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "proxy_socks5_handlechap(p_00)" identifier (argument_list "(p_00)" ( identifier ))))) ;) (if_statement "if (pcVar9 != (char *)0x0) goto LAB_00025bf4;" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (expression_statement "iVar8 = p_00->state;" (assignment_expression "iVar8 = p_00->state" identifier = (field_expression "p_00->state" identifier -> field_identifier)) ;) })) (if_statement "if (iVar8 == 2) {\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);\n        if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }\n        iVar6 = p_00->remote_port;\n        ppsVar7 = p_00->sub_socket;\n        pcVar9 = (char *)0x1;\n        uVar1 = (ushort)uStack_470;\n        uStack_470 = CONCAT22(0x501,uVar1 & 0xff);\n        *(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);\n        *(char *)((int)&uStack_470 + iVar4) = (char)iVar6;\n        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);\n        p_00->state = 3;\n        goto LAB_00025bf4;\n      }" { (labeled_statement "LAB_00025f08:\n        iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr);" (assignment_expression "iVar4 = (**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr)" identifier = (call_expression "(**(code **)(pcVar16 + 0x87a10))(p_00->remote_addr)" (parenthesized_expression "(**(code **)(pcVar16 + 0x87a10))" ( (pointer_expression "**(code **)(pcVar16 + 0x87a10)" * (pointer_expression "*(code **)(pcVar16 + 0x87a10)" * (cast_expression "(code **)(pcVar16 + 0x87a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x87a10)" ( (binary_expression "pcVar16 + 0x87a10" identifier + number_literal) ))))) )) (argument_list "(p_00->remote_addr)" ( (field_expression "p_00->remote_addr" identifier -> field_identifier) )))) ;)) (if_statement "if (iVar4 == 1) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }\n        else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 9;\n          iVar11 = 8;\n          iVar8 = 10;\n        }" { (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,(char)iVar4)" identifier (argument_list "(uStack_470._0_3_,(char)iVar4)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , (cast_expression "(char)iVar4" ( (type_descriptor "char" primitive_type) ) identifier) )))) ;) (expression_statement "(**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);" (call_expression "(**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c)" (parenthesized_expression "(**(code **)(pcVar16 + 0x87a14))" ( (pointer_expression "**(code **)(pcVar16 + 0x87a14)" * (pointer_expression "*(code **)(pcVar16 + 0x87a14)" * (cast_expression "(code **)(pcVar16 + 0x87a14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x87a14)" ( (binary_expression "pcVar16 + 0x87a14" identifier + number_literal) ))))) )) (argument_list "(p_00->remote_addr,&uStack_46c)" ( (field_expression "p_00->remote_addr" identifier -> field_identifier) , (pointer_expression "&uStack_46c" & identifier) ))) ;) (expression_statement "iVar4 = 9;" (assignment_expression "iVar4 = 9" identifier = number_literal) ;) (expression_statement "iVar11 = 8;" (assignment_expression "iVar11 = 8" identifier = number_literal) ;) (expression_statement "iVar8 = 10;" (assignment_expression "iVar8 = 10" identifier = number_literal) ;) }) (else_clause "else if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }" else (if_statement "if (iVar4 == 2) {\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }\n        else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n          uStack_470 = CONCAT31(uStack_470._0_3_,4);\n          (**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);\n          iVar4 = 0x15;\n          iVar11 = 0x14;\n          iVar8 = 0x16;\n        }" { (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,4);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,4)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,4)" identifier (argument_list "(uStack_470._0_3_,4)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c);" (call_expression "(**(code **)(pcVar16 + 0x87a14))(p_00->remote_addr,&uStack_46c)" (parenthesized_expression "(**(code **)(pcVar16 + 0x87a14))" ( (pointer_expression "**(code **)(pcVar16 + 0x87a14)" * (pointer_expression "*(code **)(pcVar16 + 0x87a14)" * (cast_expression "(code **)(pcVar16 + 0x87a14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x87a14)" ( (binary_expression "pcVar16 + 0x87a14" identifier + number_literal) ))))) )) (argument_list "(p_00->remote_addr,&uStack_46c)" ( (field_expression "p_00->remote_addr" identifier -> field_identifier) , (pointer_expression "&uStack_46c" & identifier) ))) ;) (expression_statement "iVar4 = 0x15;" (assignment_expression "iVar4 = 0x15" identifier = number_literal) ;) (expression_statement "iVar11 = 0x14;" (assignment_expression "iVar11 = 0x14" identifier = number_literal) ;) (expression_statement "iVar8 = 0x16;" (assignment_expression "iVar8 = 0x16" identifier = number_literal) ;) }) (else_clause "else {\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }" else (compound_statement "{\n          if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }\n          uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);\n          (**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);\n          cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);\n          iVar4 = (int)cVar3;\n          iVar8 = iVar4 + 7;\n          uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);\n          iVar11 = iVar4 + 5;\n          iVar4 = iVar4 + 6;\n        }" { (if_statement "if (iVar4 != 3) {\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }" if (parenthesized_expression "(iVar4 != 3)" ( (binary_expression "iVar4 != 3" identifier != number_literal) )) (compound_statement "{\n            iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);\n            return iVar4;\n          }" { (expression_statement "iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00);" (assignment_expression "iVar4 = (**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00)" identifier = (call_expression "(**(code **)(pcVar16 + 0x87fb8))\n                              (*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00)" (parenthesized_expression "(**(code **)(pcVar16 + 0x87fb8))" ( (pointer_expression "**(code **)(pcVar16 + 0x87fb8)" * (pointer_expression "*(code **)(pcVar16 + 0x87fb8)" * (cast_expression "(code **)(pcVar16 + 0x87fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x87fb8)" ( (binary_expression "pcVar16 + 0x87fb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x87780) + -0x52c4,\n                               *(int *)(pcVar16 + 0x87780) + -0x5374,0x46a,\n                               *(int *)(pcVar16 + 0x87780) + -0x4d00)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x52c4" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x5374" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x4d00" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar4;" return identifier ;) })) (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar4)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,(char)iVar4)" identifier (argument_list "(uStack_470._0_3_,(char)iVar4)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , (cast_expression "(char)iVar4" ( (type_descriptor "char" primitive_type) ) identifier) )))) ;) (expression_statement "(**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);" (call_expression "(**(code **)(pcVar16 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100)" (parenthesized_expression "(**(code **)(pcVar16 + 0x878bc))" ( (pointer_expression "**(code **)(pcVar16 + 0x878bc)" * (pointer_expression "*(code **)(pcVar16 + 0x878bc)" * (cast_expression "(code **)(pcVar16 + 0x878bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x878bc)" ( (binary_expression "pcVar16 + 0x878bc" identifier + number_literal) ))))) )) (argument_list "(p_00->remote_addr,(int)&uStack_46c + 1,0x100)" ( (field_expression "p_00->remote_addr" identifier -> field_identifier) , (binary_expression "(int)&uStack_46c + 1" (cast_expression "(int)&uStack_46c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_46c" & identifier)) + number_literal) , number_literal ))) ;) (expression_statement "cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1);" (assignment_expression "cVar3 = (**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1)" identifier = (call_expression "(**(code **)(pcVar16 + 0x880e0))((int)&uStack_46c + 1)" (parenthesized_expression "(**(code **)(pcVar16 + 0x880e0))" ( (pointer_expression "**(code **)(pcVar16 + 0x880e0)" * (pointer_expression "*(code **)(pcVar16 + 0x880e0)" * (cast_expression "(code **)(pcVar16 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x880e0)" ( (binary_expression "pcVar16 + 0x880e0" identifier + number_literal) ))))) )) (argument_list "((int)&uStack_46c + 1)" ( (binary_expression "(int)&uStack_46c + 1" (cast_expression "(int)&uStack_46c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_46c" & identifier)) + number_literal) )))) ;) (expression_statement "iVar4 = (int)cVar3;" (assignment_expression "iVar4 = (int)cVar3" identifier = (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar8 = iVar4 + 7;" (assignment_expression "iVar8 = iVar4 + 7" identifier = (binary_expression "iVar4 + 7" identifier + number_literal)) ;) (expression_statement "uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_);" (assignment_expression "uStack_46c = CONCAT13(cVar3,uStack_46c._1_3_)" identifier = (call_expression "CONCAT13(cVar3,uStack_46c._1_3_)" identifier (argument_list "(cVar3,uStack_46c._1_3_)" ( identifier , (field_expression "uStack_46c._1_3_" identifier . field_identifier) )))) ;) (expression_statement "iVar11 = iVar4 + 5;" (assignment_expression "iVar11 = iVar4 + 5" identifier = (binary_expression "iVar4 + 5" identifier + number_literal)) ;) (expression_statement "iVar4 = iVar4 + 6;" (assignment_expression "iVar4 = iVar4 + 6" identifier = (binary_expression "iVar4 + 6" identifier + number_literal)) ;) }))))) (expression_statement "iVar6 = p_00->remote_port;" (assignment_expression "iVar6 = p_00->remote_port" identifier = (field_expression "p_00->remote_port" identifier -> field_identifier)) ;) (expression_statement "ppsVar7 = p_00->sub_socket;" (assignment_expression "ppsVar7 = p_00->sub_socket" identifier = (field_expression "p_00->sub_socket" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar1 = (ushort)uStack_470;" (assignment_expression "uVar1 = (ushort)uStack_470" identifier = (cast_expression "(ushort)uStack_470" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "uStack_470 = CONCAT22(0x501,uVar1 & 0xff);" (assignment_expression "uStack_470 = CONCAT22(0x501,uVar1 & 0xff)" identifier = (call_expression "CONCAT22(0x501,uVar1 & 0xff)" identifier (argument_list "(0x501,uVar1 & 0xff)" ( number_literal , (binary_expression "uVar1 & 0xff" identifier & number_literal) )))) ;) (expression_statement "*(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8);" (assignment_expression "*(char *)((int)&uStack_470 + iVar11) = (char)((uint)iVar6 >> 8)" (pointer_expression "*(char *)((int)&uStack_470 + iVar11)" * (cast_expression "(char *)((int)&uStack_470 + iVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iVar11)" ( (binary_expression "(int)&uStack_470 + iVar11" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = (cast_expression "(char)((uint)iVar6 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar6 >> 8)" ( (binary_expression "(uint)iVar6 >> 8" (cast_expression "(uint)iVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(char *)((int)&uStack_470 + iVar4) = (char)iVar6;" (assignment_expression "*(char *)((int)&uStack_470 + iVar4) = (char)iVar6" (pointer_expression "*(char *)((int)&uStack_470 + iVar4)" * (cast_expression "(char *)((int)&uStack_470 + iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iVar4)" ( (binary_expression "(int)&uStack_470 + iVar4" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8);" (call_expression "(*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,iVar8)" (parenthesized_expression "(*(*ppsVar7)->write)" ( (pointer_expression "*(*ppsVar7)->write" * (field_expression "(*ppsVar7)->write" (parenthesized_expression "(*ppsVar7)" ( (pointer_expression "*ppsVar7" * identifier) )) -> field_identifier)) )) (argument_list "(ppsVar7,(char *)&uStack_470,iVar8)" ( identifier , (cast_expression "(char *)&uStack_470" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_470" & identifier)) , identifier ))) ;) (expression_statement "p_00->state = 3;" (assignment_expression "p_00->state = 3" (field_expression "p_00->state" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (iVar8 != 3) {\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }" if (parenthesized_expression "(iVar8 != 3)" ( (binary_expression "iVar8 != 3" identifier != number_literal) )) (compound_statement "{\n        if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }\n        if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }\n        if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;\n        goto LAB_00025bc8;\n      }" { (if_statement "if (iVar8 == 4) {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }" if (parenthesized_expression "(iVar8 == 4)" ( (binary_expression "iVar8 == 4" identifier == number_literal) )) (compound_statement "{\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);\n          goto LAB_00025bf4;\n        }" { (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0);" (call_expression "(*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38),8000,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f38)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x4f38)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x4f38" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (iVar8 == 5) {\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }" if (parenthesized_expression "(iVar8 == 5)" ( (binary_expression "iVar8 == 5" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          conf_get_str(p_00->conf,0x10);\n        }" { comment (expression_statement "conf_get_str(p_00->conf,0x10);" (call_expression "conf_get_str(p_00->conf,0x10)" identifier (argument_list "(p_00->conf,0x10)" ( (field_expression "p_00->conf" identifier -> field_identifier) , number_literal ))) ;) })) (if_statement "if ((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))\n        goto LAB_00025bf4;" if (parenthesized_expression "((iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0))" ( (binary_expression "(iVar8 == 6) && (pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0)" (parenthesized_expression "(iVar8 == 6)" ( (binary_expression "iVar8 == 6" identifier == number_literal) )) && (parenthesized_expression "(pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0)" ( (comma_expression "pcVar9 = (char *)proxy_socks5_selectchap(p_00), pcVar9 != (char *)0x0" (assignment_expression "pcVar9 = (char *)proxy_socks5_selectchap(p_00)" identifier = (cast_expression "(char *)proxy_socks5_selectchap(p_00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "proxy_socks5_selectchap(p_00)" identifier (argument_list "(p_00)" ( identifier ))))) , (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (goto_statement "goto LAB_00025bc8;" goto statement_identifier ;) })) (expression_statement "pbVar14 = &p_00->pending_input_data;" (assignment_expression "pbVar14 = &p_00->pending_input_data" identifier = (pointer_expression "&p_00->pending_input_data" & (field_expression "p_00->pending_input_data" identifier -> field_identifier))) ;) (expression_statement "iVar4 = bufchain_size(pbVar14);" (assignment_expression "iVar4 = bufchain_size(pbVar14)" identifier = (call_expression "bufchain_size(pbVar14)" identifier (argument_list "(pbVar14)" ( identifier )))) ;) (if_statement "if (4 < iVar4) {\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }" if (parenthesized_expression "(4 < iVar4)" ( (binary_expression "4 < iVar4" number_literal < identifier) )) (compound_statement "{\n        bufchain_fetch(pbVar14,&cStack_478,5);\n        if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar4 = (int)cStack_477;\n        if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }\n        if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }\n        iVar11 = bufchain_size(pbVar14);\n        if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }\n      }" { (expression_statement "bufchain_fetch(pbVar14,&cStack_478,5);" (call_expression "bufchain_fetch(pbVar14,&cStack_478,5)" identifier (argument_list "(pbVar14,&cStack_478,5)" ( identifier , (pointer_expression "&cStack_478" & identifier) , number_literal ))) ;) (if_statement "if (cStack_478 != '\x05') {\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }" if (parenthesized_expression "(cStack_478 != '\x05')" ( (binary_expression "cStack_478 != '\x05'" identifier != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar9 = (char *)0x1;\n          (*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);\n          goto LAB_00025bf4;\n        }" { (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0);" (call_expression "(*(*p_00->plug)->closing)\n                    (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4),8000,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(pcVar16 + 0x87780) + -0x50a4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x50a4)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x50a4" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "iVar4 = (int)cStack_477;" (assignment_expression "iVar4 = (int)cStack_477" identifier = (cast_expression "(int)cStack_477" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar4 != 0) {\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar11 = *(int *)(pcVar16 + 0x87780);\n          pcVar10 = (char *)&uStack_470;\n          uVar2 = iVar4 - 1U & 0xff;\n          uStack_470 = *(undefined4 *)(iVar11 + -0x506c);\n          uStack_46c = *(undefined4 *)(iVar11 + -0x5068);\n          uStack_468 = *(undefined4 *)(iVar11 + -0x5064);\n          uStack_464 = *(undefined2 *)(iVar11 + -0x5060);\n          if (7 < uVar2) goto LAB_00026460;\n                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();\n          return iVar4;\n        }" { (expression_statement "iVar11 = *(int *)(pcVar16 + 0x87780);" (assignment_expression "iVar11 = *(int *)(pcVar16 + 0x87780)" identifier = (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = (char *)&uStack_470;" (assignment_expression "pcVar10 = (char *)&uStack_470" identifier = (cast_expression "(char *)&uStack_470" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_470" & identifier))) ;) (expression_statement "uVar2 = iVar4 - 1U & 0xff;" (assignment_expression "uVar2 = iVar4 - 1U & 0xff" identifier = (binary_expression "iVar4 - 1U & 0xff" (binary_expression "iVar4 - 1U" identifier - number_literal) & number_literal)) ;) (expression_statement "uStack_470 = *(undefined4 *)(iVar11 + -0x506c);" (assignment_expression "uStack_470 = *(undefined4 *)(iVar11 + -0x506c)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + -0x506c)" * (cast_expression "(undefined4 *)(iVar11 + -0x506c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x506c)" ( (binary_expression "iVar11 + -0x506c" identifier + number_literal) ))))) ;) (expression_statement "uStack_46c = *(undefined4 *)(iVar11 + -0x5068);" (assignment_expression "uStack_46c = *(undefined4 *)(iVar11 + -0x5068)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + -0x5068)" * (cast_expression "(undefined4 *)(iVar11 + -0x5068)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x5068)" ( (binary_expression "iVar11 + -0x5068" identifier + number_literal) ))))) ;) (expression_statement "uStack_468 = *(undefined4 *)(iVar11 + -0x5064);" (assignment_expression "uStack_468 = *(undefined4 *)(iVar11 + -0x5064)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + -0x5064)" * (cast_expression "(undefined4 *)(iVar11 + -0x5064)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x5064)" ( (binary_expression "iVar11 + -0x5064" identifier + number_literal) ))))) ;) (expression_statement "uStack_464 = *(undefined2 *)(iVar11 + -0x5060);" (assignment_expression "uStack_464 = *(undefined2 *)(iVar11 + -0x5060)" identifier = (pointer_expression "*(undefined2 *)(iVar11 + -0x5060)" * (cast_expression "(undefined2 *)(iVar11 + -0x5060)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x5060)" ( (binary_expression "iVar11 + -0x5060" identifier + number_literal) ))))) ;) (if_statement "if (7 < uVar2) goto LAB_00026460;" if (parenthesized_expression "(7 < uVar2)" ( (binary_expression "7 < uVar2" number_literal < identifier) )) (goto_statement "goto LAB_00026460;" goto statement_identifier ;)) comment comment (expression_statement "iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))();" (assignment_expression "iVar4 = (*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))()" identifier = (call_expression "(*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))()" (parenthesized_expression "(*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)))" ( (pointer_expression "*(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14))" * (parenthesized_expression "(pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14))" ( (binary_expression "pcVar16 +\n                    (int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)" identifier + (cast_expression "(int)("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14)" ( (binary_expression ""Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4) + 0x14" (binary_expression ""Service lookup failed for source port \"%s\"" +\n                         *(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4)" (string_literal ""Service lookup failed for source port \"%s\""" " string_content escape_sequence string_content escape_sequence ") + (pointer_expression "*(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4)" * (cast_expression "(int *)(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x4d20 + uVar2 * 4" (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x4d20" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar2 * 4" identifier * number_literal)) ))))) + number_literal) )))) ))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar4;" return identifier ;) })) (if_statement "if (cStack_475 == '\x03') {\n          iVar4 = bStack_474 + 6;\n        }\n        else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }" if (parenthesized_expression "(cStack_475 == '\x03')" ( (binary_expression "cStack_475 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n          iVar4 = bStack_474 + 6;\n        }" { (expression_statement "iVar4 = bStack_474 + 6;" (assignment_expression "iVar4 = bStack_474 + 6" identifier = (binary_expression "bStack_474 + 6" identifier + number_literal)) ;) }) (else_clause "else if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }" else (if_statement "if (cStack_475 == '\x04') {\n          iVar4 = 0x16;\n        }\n        else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }" if (parenthesized_expression "(cStack_475 == '\x04')" ( (binary_expression "cStack_475 == '\x04'" identifier == (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\n          iVar4 = 0x16;\n        }" { (expression_statement "iVar4 = 0x16;" (assignment_expression "iVar4 = 0x16" identifier = number_literal) ;) }) (else_clause "else {\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }" else (compound_statement "{\n          if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }\n          iVar4 = 10;\n        }" { (if_statement "if (cStack_475 != '\x01') {\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }" if (parenthesized_expression "(cStack_475 != '\x01')" ( (binary_expression "cStack_475 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar9 = (char *)0x1;\n            (*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);\n            goto LAB_00025bf4;\n          }" { (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0);" (call_expression "(*(*p_00->plug)->closing)\n                      (p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78),8000,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(pcVar16 + 0x87780) + -0x4f78)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x4f78)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x4f78" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "iVar4 = 10;" (assignment_expression "iVar4 = 10" identifier = number_literal) ;) }))))) (expression_statement "iVar11 = bufchain_size(pbVar14);" (assignment_expression "iVar11 = bufchain_size(pbVar14)" identifier = (call_expression "bufchain_size(pbVar14)" identifier (argument_list "(pbVar14)" ( identifier )))) ;) (if_statement "if (iVar4 <= iVar11) {\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }" if (parenthesized_expression "(iVar4 <= iVar11)" ( (binary_expression "iVar4 <= iVar11" identifier <= identifier) )) (compound_statement "{\n          pcVar9 = (char *)0x1;\n          bufchain_consume(pbVar14,iVar4);\n          proxy_activate(p_00);\n          goto LAB_00025bf4;\n        }" { (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bufchain_consume(pbVar14,iVar4);" (call_expression "bufchain_consume(pbVar14,iVar4)" identifier (argument_list "(pbVar14,iVar4)" ( identifier , identifier ))) ;) (expression_statement "proxy_activate(p_00);" (call_expression "proxy_activate(p_00)" identifier (argument_list "(p_00)" ( identifier ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) })) }))) (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\nLAB_00025bc8:\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0);\n  }" else (compound_statement "{\nLAB_00025bc8:\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0);\n  }" { (labeled_statement "LAB_00025bc8:\n    pcVar9 = (char *)0x1;" statement_identifier : (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0);" (call_expression "(*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4),0x1f41,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(pcVar16 + 0x87780) + -0x51c4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x87780) + -0x51c4)" ( (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x51c4" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) }))) (labeled_statement "LAB_00025bf4:\n  while (iStack_26c != *piVar13) {\n    (**(code **)(pcVar16 + 0x8815c))();\n    iVar4 = extraout_v1;\n    pcVar10 = pcVar9;\nLAB_00026460:\n    (**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);\n  }" statement_identifier : (while_statement "while (iStack_26c != *piVar13) {\n    (**(code **)(pcVar16 + 0x8815c))();\n    iVar4 = extraout_v1;\n    pcVar10 = pcVar9;\nLAB_00026460:\n    (**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);\n  }" while (parenthesized_expression "(iStack_26c != *piVar13)" ( (binary_expression "iStack_26c != *piVar13" identifier != (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n    (**(code **)(pcVar16 + 0x8815c))();\n    iVar4 = extraout_v1;\n    pcVar10 = pcVar9;\nLAB_00026460:\n    (**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);\n    pcVar9 = (char *)0x1;\n    (*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);\n  }" { (expression_statement "(**(code **)(pcVar16 + 0x8815c))();" (call_expression "(**(code **)(pcVar16 + 0x8815c))()" (parenthesized_expression "(**(code **)(pcVar16 + 0x8815c))" ( (pointer_expression "**(code **)(pcVar16 + 0x8815c)" * (pointer_expression "*(code **)(pcVar16 + 0x8815c)" * (cast_expression "(code **)(pcVar16 + 0x8815c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x8815c)" ( (binary_expression "pcVar16 + 0x8815c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = extraout_v1;" (assignment_expression "iVar4 = extraout_v1" identifier = identifier) ;) (expression_statement "pcVar10 = pcVar9;" (assignment_expression "pcVar10 = pcVar9" identifier = identifier) ;) (labeled_statement "LAB_00026460:\n    (**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);" statement_identifier : (expression_statement "(**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4);" (call_expression "(**(code **)(pcVar16 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x87fa8))" ( (pointer_expression "**(code **)(pcVar16 + 0x87fa8)" * (pointer_expression "*(code **)(pcVar16 + 0x87fa8)" * (cast_expression "(code **)(pcVar16 + 0x87fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x87fa8)" ( (binary_expression "pcVar16 + 0x87fa8" identifier + number_literal) ))))) )) (argument_list "((int)&uStack_464 + 1,1,0xffffffff,*(int *)(pcVar16 + 0x87780) + -0x4f9c,iVar4)" ( (binary_expression "(int)&uStack_464 + 1" (cast_expression "(int)&uStack_464" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_464" & identifier)) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar16 + 0x87780) + -0x4f9c" (pointer_expression "*(int *)(pcVar16 + 0x87780)" * (cast_expression "(int *)(pcVar16 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x87780)" ( (binary_expression "pcVar16 + 0x87780" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);" (call_expression "(*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0)" (parenthesized_expression "(*(*p_00->plug)->closing)" ( (pointer_expression "*(*p_00->plug)->closing" * (field_expression "(*p_00->plug)->closing" (parenthesized_expression "(*p_00->plug)" ( (pointer_expression "*p_00->plug" * (field_expression "p_00->plug" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "(p_00->plug,pcVar10,8000,0)" ( (field_expression "p_00->plug" identifier -> field_identifier) , identifier , number_literal , number_literal ))) ;) }))) (return_statement "return (int)pcVar9;" return (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) ;) })))
(translation_unit "undefined4 * proxy_socks4_negotiate(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar10;\n  char *pcVar2;\n  char *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  byte *pbVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  int *piVar19;\n  byte *pbVar20;\n  undefined1 *puVar21;\n  undefined1 uVar23;\n  byte *pbVar22;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  undefined1 uVar26;\n  int unaff_s3;\n  int *piVar27;\n  undefined *unaff_s4;\n  int iVar28;\n  char *unaff_s5;\n  int unaff_s6;\n  int iVar29;\n  undefined *puVar30;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar31;\n  code *pcVar32;\n  int iVar33;\n  int iVar34;\n  int iStack_534;\n  undefined1 auStack_514 [64];\n  int iStack_4d4;\n  undefined1 *puStack_4d0;\n  undefined *puStack_4cc;\n  undefined *puStack_4c8;\n  int *piStack_4c4;\n  undefined *puStack_4c0;\n  char *pcStack_4bc;\n  int iStack_4b8;\n  int iStack_47c;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  int iStack_268;\n  undefined4 *puStack_264;\n  undefined *puStack_260;\n  int iStack_25c;\n  undefined *puStack_258;\n  char *pcStack_254;\n  int iStack_250;\n  undefined4 local_228;\n  char local_224;\n  char local_223;\n  int local_24;\n  \n  puVar25 = PTR___stack_chk_guard_000adcd4;\n  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;\n  if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }\n  puVar14 = PTR_DAT_000ad2c8 + -0x5374;\n  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;\n  puVar30 = PTR___assert_fail_000adb00;\n  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);\n  piVar27 = *(int **)(puVar30 + 0x8818c);\n  puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  puStack_260 = puVar25;\n  iStack_26c = *piVar27;\n  iStack_268 = param_1;\n  puStack_264 = puVar24;\n  iStack_25c = unaff_s3;\n  puStack_258 = unaff_s4;\n  pcStack_254 = unaff_s5;\n  iStack_250 = unaff_s6;\n  if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }\n  puVar25 = unaff_s4;\n  if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }\n  if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }\n  puVar24 = (undefined4 *)0x1;\nLAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }\n  return puVar24;\n}\n\n" (function_definition "undefined4 * proxy_socks4_negotiate(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar10;\n  char *pcVar2;\n  char *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  byte *pbVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  int *piVar19;\n  byte *pbVar20;\n  undefined1 *puVar21;\n  undefined1 uVar23;\n  byte *pbVar22;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  undefined1 uVar26;\n  int unaff_s3;\n  int *piVar27;\n  undefined *unaff_s4;\n  int iVar28;\n  char *unaff_s5;\n  int unaff_s6;\n  int iVar29;\n  undefined *puVar30;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar31;\n  code *pcVar32;\n  int iVar33;\n  int iVar34;\n  int iStack_534;\n  undefined1 auStack_514 [64];\n  int iStack_4d4;\n  undefined1 *puStack_4d0;\n  undefined *puStack_4cc;\n  undefined *puStack_4c8;\n  int *piStack_4c4;\n  undefined *puStack_4c0;\n  char *pcStack_4bc;\n  int iStack_4b8;\n  int iStack_47c;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  int iStack_268;\n  undefined4 *puStack_264;\n  undefined *puStack_260;\n  int iStack_25c;\n  undefined *puStack_258;\n  char *pcStack_254;\n  int iStack_250;\n  undefined4 local_228;\n  char local_224;\n  char local_223;\n  int local_24;\n  \n  puVar25 = PTR___stack_chk_guard_000adcd4;\n  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;\n  if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }\n  puVar14 = PTR_DAT_000ad2c8 + -0x5374;\n  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;\n  puVar30 = PTR___assert_fail_000adb00;\n  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);\n  piVar27 = *(int **)(puVar30 + 0x8818c);\n  puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  puStack_260 = puVar25;\n  iStack_26c = *piVar27;\n  iStack_268 = param_1;\n  puStack_264 = puVar24;\n  iStack_25c = unaff_s3;\n  puStack_258 = unaff_s4;\n  pcStack_254 = unaff_s5;\n  iStack_250 = unaff_s6;\n  if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }\n  puVar25 = unaff_s4;\n  if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }\n  if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }\n  puVar24 = (undefined4 *)0x1;\nLAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }\n  return puVar24;\n}" type_identifier (pointer_declarator "* proxy_socks4_negotiate(int param_1,int param_2)" * (function_declarator "proxy_socks4_negotiate(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  byte bVar1;\n  char cVar10;\n  char *pcVar2;\n  char *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  byte *pbVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  int *piVar19;\n  byte *pbVar20;\n  undefined1 *puVar21;\n  undefined1 uVar23;\n  byte *pbVar22;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  undefined1 uVar26;\n  int unaff_s3;\n  int *piVar27;\n  undefined *unaff_s4;\n  int iVar28;\n  char *unaff_s5;\n  int unaff_s6;\n  int iVar29;\n  undefined *puVar30;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar31;\n  code *pcVar32;\n  int iVar33;\n  int iVar34;\n  int iStack_534;\n  undefined1 auStack_514 [64];\n  int iStack_4d4;\n  undefined1 *puStack_4d0;\n  undefined *puStack_4cc;\n  undefined *puStack_4c8;\n  int *piStack_4c4;\n  undefined *puStack_4c0;\n  char *pcStack_4bc;\n  int iStack_4b8;\n  int iStack_47c;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  int iStack_268;\n  undefined4 *puStack_264;\n  undefined *puStack_260;\n  int iStack_25c;\n  undefined *puStack_258;\n  char *pcStack_254;\n  int iStack_250;\n  undefined4 local_228;\n  char local_224;\n  char local_223;\n  int local_24;\n  \n  puVar25 = PTR___stack_chk_guard_000adcd4;\n  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;\n  if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }\n  puVar14 = PTR_DAT_000ad2c8 + -0x5374;\n  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;\n  puVar30 = PTR___assert_fail_000adb00;\n  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);\n  piVar27 = *(int **)(puVar30 + 0x8818c);\n  puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  puStack_260 = puVar25;\n  iStack_26c = *piVar27;\n  iStack_268 = param_1;\n  puStack_264 = puVar24;\n  iStack_25c = unaff_s3;\n  puStack_258 = unaff_s4;\n  pcStack_254 = unaff_s5;\n  iStack_250 = unaff_s6;\n  if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }\n  puVar25 = unaff_s4;\n  if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }\n  if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }\n  puVar24 = (undefined4 *)0x1;\nLAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }\n  return puVar24;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 uVar23;" type_identifier identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 uVar26;" type_identifier identifier ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "undefined *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "char *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "undefined *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "int iStack_534;" primitive_type identifier ;) (declaration "undefined1 auStack_514 [64];" type_identifier (array_declarator "auStack_514 [64]" identifier [ number_literal ]) ;) (declaration "int iStack_4d4;" primitive_type identifier ;) (declaration "undefined1 *puStack_4d0;" type_identifier (pointer_declarator "*puStack_4d0" * identifier) ;) (declaration "undefined *puStack_4cc;" type_identifier (pointer_declarator "*puStack_4cc" * identifier) ;) (declaration "undefined *puStack_4c8;" type_identifier (pointer_declarator "*puStack_4c8" * identifier) ;) (declaration "int *piStack_4c4;" primitive_type (pointer_declarator "*piStack_4c4" * identifier) ;) (declaration "undefined *puStack_4c0;" type_identifier (pointer_declarator "*puStack_4c0" * identifier) ;) (declaration "char *pcStack_4bc;" primitive_type (pointer_declarator "*pcStack_4bc" * identifier) ;) (declaration "int iStack_4b8;" primitive_type identifier ;) (declaration "int iStack_47c;" primitive_type identifier ;) (declaration "char cStack_478;" primitive_type identifier ;) (declaration "char cStack_477;" primitive_type identifier ;) (declaration "char cStack_475;" primitive_type identifier ;) (declaration "byte bStack_474;" type_identifier identifier ;) (declaration "undefined4 uStack_470;" type_identifier identifier ;) (declaration "undefined4 uStack_46c;" type_identifier identifier ;) (declaration "undefined4 uStack_468;" type_identifier identifier ;) (declaration "undefined2 uStack_464;" type_identifier identifier ;) (declaration "int iStack_26c;" primitive_type identifier ;) (declaration "int iStack_268;" primitive_type identifier ;) (declaration "undefined4 *puStack_264;" type_identifier (pointer_declarator "*puStack_264" * identifier) ;) (declaration "undefined *puStack_260;" type_identifier (pointer_declarator "*puStack_260" * identifier) ;) (declaration "int iStack_25c;" primitive_type identifier ;) (declaration "undefined *puStack_258;" type_identifier (pointer_declarator "*puStack_258" * identifier) ;) (declaration "char *pcStack_254;" primitive_type (pointer_declarator "*pcStack_254" * identifier) ;) (declaration "int iStack_250;" primitive_type identifier ;) (declaration "undefined4 local_228;" type_identifier identifier ;) (declaration "char local_224;" primitive_type identifier ;) (declaration "char local_223;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar25 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar25 = PTR___stack_chk_guard_000adcd4" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000adcd4" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" * (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x44) == -1)" ( (binary_expression "*(int *)(param_1 + 0x44) == -1" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));" (assignment_expression "iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10))" identifier = (call_expression "(*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10))" (parenthesized_expression "(*(code *)PTR_sk_addrtype_000ad558)" ( (pointer_expression "*(code *)PTR_sk_addrtype_000ad558" * (cast_expression "(code *)PTR_sk_addrtype_000ad558" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }" { (expression_statement "*(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;" (assignment_expression "*(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8" (pointer_expression "*(undefined **)(param_1 + 4)" * (cast_expression "(undefined **)(param_1 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "PTR_DAT_000ad2c8 + -0x52f8" identifier + number_literal)) ;) (goto_statement "goto LAB_000257e8;" goto statement_identifier ;) })) (if_statement "if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }" if (parenthesized_expression "(iVar29 == 1)" ( (binary_expression "iVar29 == 1" identifier == number_literal) )) (compound_statement "{\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }" { (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);" (call_expression "(*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228)" (parenthesized_expression "(*(code *)PTR_sk_addrcopy_000ad55c)" ( (pointer_expression "*(code *)PTR_sk_addrcopy_000ad55c" * (cast_expression "(code *)PTR_sk_addrcopy_000ad55c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10),&local_228)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (pointer_expression "&local_228" & identifier) ))) ;) (labeled_statement "LAB_000258a4:\n      unaff_s5 = &local_224;" statement_identifier : (expression_statement "unaff_s5 = &local_224;" (assignment_expression "unaff_s5 = &local_224" identifier = (pointer_expression "&local_224" & identifier)) ;)) (expression_statement "unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);" (assignment_expression "unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10)" identifier = (call_expression "conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x74),0x10)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x74)" * (cast_expression "(undefined4 *)(param_1 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3)" identifier = (call_expression "(*(code *)PTR_strlen_000adc28)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_000adc28)" ( (pointer_expression "*(code *)PTR_strlen_000adc28" * (cast_expression "(code *)PTR_strlen_000adc28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);" (assignment_expression "unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9)" identifier = (cast_expression "(undefined *)(iVar29 + unaff_s6 + 9)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + unaff_s6 + 9)" ( (binary_expression "iVar29 + unaff_s6 + 9" (binary_expression "iVar29 + unaff_s6" identifier + identifier) + number_literal) )))) ;) (expression_statement "puVar21 = (undefined1 *)safemalloc(unaff_s4,1);" (assignment_expression "puVar21 = (undefined1 *)safemalloc(unaff_s4,1)" identifier = (cast_expression "(undefined1 *)safemalloc(unaff_s4,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(unaff_s4,1)" identifier (argument_list "(unaff_s4,1)" ( identifier , number_literal ))))) ;) (expression_statement "(*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);" (call_expression "(*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3)" (parenthesized_expression "(*(code *)PTR_strcpy_000adc74)" ( (pointer_expression "*(code *)PTR_strcpy_000adc74" * (cast_expression "(code *)PTR_strcpy_000adc74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar21 + 8,unaff_s3)" ( (binary_expression "puVar21 + 8" identifier + number_literal) , identifier ))) ;) (expression_statement "*puVar21 = 4;" (assignment_expression "*puVar21 = 4" (pointer_expression "*puVar21" * identifier) = number_literal) ;) (expression_statement "puVar21[1] = 1;" (assignment_expression "puVar21[1] = 1" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30 = PTR_strlen_000adc28;" (assignment_expression "puVar30 = PTR_strlen_000adc28" identifier = identifier) ;) (expression_statement "puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);" (assignment_expression "puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" (subscript_expression "puVar21[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" ( (binary_expression "(uint)*(undefined4 *)(param_1 + 0x14) >> 8" (binary_expression "(uint)*(undefined4 *)(param_1 + 0x14)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);" (assignment_expression "puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14)" (subscript_expression "puVar21[3]" identifier [ number_literal ]) = (cast_expression "(char)*(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "*(undefined4 *)(puVar21 + 4) = local_228;" (assignment_expression "*(undefined4 *)(puVar21 + 4) = local_228" (pointer_expression "*(undefined4 *)(puVar21 + 4)" * (cast_expression "(undefined4 *)(puVar21 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 4)" ( (binary_expression "puVar21 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar29 = (*(code *)puVar30)(unaff_s3);" (assignment_expression "iVar29 = (*(code *)puVar30)(unaff_s3)" identifier = (call_expression "(*(code *)puVar30)(unaff_s3)" (parenthesized_expression "(*(code *)puVar30)" ( (pointer_expression "*(code *)puVar30" * (cast_expression "(code *)puVar30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);" (call_expression "(*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_memcpy_000adcd8)" ( (pointer_expression "*(code *)PTR_memcpy_000adcd8" * (cast_expression "(code *)PTR_memcpy_000adcd8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar21 + iVar29 + 9,unaff_s5,unaff_s6)" ( (binary_expression "puVar21 + iVar29 + 9" (binary_expression "puVar21 + iVar29" identifier + identifier) + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);" (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" * (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" ( (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" * (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 8),puVar21,unaff_s4)" ( (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "safefree(unaff_s3);" (call_expression "safefree(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "safefree(puVar21);" (call_expression "safefree(puVar21)" identifier (argument_list "(puVar21)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x44) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x44) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x44)" * (cast_expression "(undefined4 *)(param_1 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000257e8;" goto statement_identifier ;) })) (if_statement "if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }" if (parenthesized_expression "(iVar29 == 3)" ( (binary_expression "iVar29 == 3" identifier == number_literal) )) (compound_statement "{\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }" { (expression_statement "(*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);" (call_expression "(*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200)" (parenthesized_expression "(*(code *)PTR_sk_getaddr_000ad404)" ( (pointer_expression "*(code *)PTR_sk_getaddr_000ad404" * (cast_expression "(code *)PTR_sk_getaddr_000ad404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x10),&local_224,0x200)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (pointer_expression "&local_224" & identifier) , number_literal ))) ;) (expression_statement "iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224)" identifier = (call_expression "(*(code *)PTR_strlen_000adc28)(&local_224)" (parenthesized_expression "(*(code *)PTR_strlen_000adc28)" ( (pointer_expression "*(code *)PTR_strlen_000adc28" * (cast_expression "(code *)PTR_strlen_000adc28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_224)" ( (pointer_expression "&local_224" & identifier) )))) ;) (expression_statement "unaff_s6 = iVar29 + 1;" (assignment_expression "unaff_s6 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "local_228 = 1;" (assignment_expression "local_228 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000258a4;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" else (compound_statement "{\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" { (if_statement "if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58))" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" ( (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" * (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58))" ( (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x50)" * (cast_expression "(undefined4 *)(param_1 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x54)" * (cast_expression "(undefined4 *)(param_1 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x58)" * (cast_expression "(undefined4 *)(param_1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) ))) ;) }) (else_clause "else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" else (if_statement "if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n      puVar24 = (undefined4 *)0x0;\n    }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" else (if_statement "if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" if (parenthesized_expression "(param_2 == 3)" ( (binary_expression "param_2 == 3" identifier == number_literal) )) (compound_statement "{\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }" { (expression_statement "puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));" (assignment_expression "puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" identifier = (cast_expression "(undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 0x10))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 0x10)" * (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 0x10)" * (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0xc) + 0x10)" ( (binary_expression "**(int **)(param_1 + 0xc) + 0x10" (pointer_expression "**(int **)(param_1 + 0xc)" * (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" ( (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" * (cast_expression "(undefined4 *)(param_1 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x70)" * (cast_expression "(undefined4 *)(param_1 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) ))))) ;) }) (else_clause "else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" else (if_statement "if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" if (parenthesized_expression "((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1))" ( (binary_expression "(param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)" (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x44) == 1)" ( (binary_expression "*(int *)(param_1 + 0x44) == 1" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }" { (expression_statement "unaff_s3 = param_1 + 0x34;" (assignment_expression "unaff_s3 = param_1 + 0x34" identifier = (binary_expression "param_1 + 0x34" identifier + number_literal)) ;) (expression_statement "iVar29 = bufchain_size(unaff_s3);" (assignment_expression "iVar29 = bufchain_size(unaff_s3)" identifier = (call_expression "bufchain_size(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier )))) ;) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }" if (parenthesized_expression "(7 < iVar29)" ( (binary_expression "7 < iVar29" number_literal < identifier) )) (compound_statement "{\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }" { (expression_statement "bufchain_fetch(unaff_s3,&local_224,8);" (call_expression "bufchain_fetch(unaff_s3,&local_224,8)" identifier (argument_list "(unaff_s3,&local_224,8)" ( identifier , (pointer_expression "&local_224" & identifier) , number_literal ))) ;) (if_statement "if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" if (parenthesized_expression "(local_224 == '\0')" ( (binary_expression "local_224 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }" { (if_statement "if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" if (parenthesized_expression "(local_223 == 'Z')" ( (binary_expression "local_223 == 'Z'" identifier == (char_literal "'Z'" ' character ')) )) (compound_statement "{\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }" { (expression_statement "bufchain_consume(unaff_s3,8);" (call_expression "bufchain_consume(unaff_s3,8)" identifier (argument_list "(unaff_s3,8)" ( identifier , number_literal ))) ;) (expression_statement "proxy_activate(param_1);" (call_expression "proxy_activate(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) }) (else_clause "else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" else (compound_statement "{\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" { (expression_statement "piVar27 = *(int **)(param_1 + 0xc);" (assignment_expression "piVar27 = *(int **)(param_1 + 0xc)" identifier = (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4)" identifier = (pointer_expression "*(code **)(*piVar27 + 4)" * (cast_expression "(code **)(*piVar27 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar27 + 4)" ( (binary_expression "*piVar27 + 4" (pointer_expression "*piVar27" * identifier) + number_literal) ))))) ;) (if_statement "if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" if (parenthesized_expression "(local_223 == '\\')" ( (binary_expression "local_223 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0)" ( identifier , (binary_expression "PTR_DAT_000ad2c8 + -0x5264" identifier + number_literal) , number_literal , number_literal ))) ;) }) (else_clause "else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" else (if_statement "if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" if (parenthesized_expression "(local_223 == ']')" ( (binary_expression "local_223 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0)" ( identifier , (binary_expression "PTR_DAT_000ad2c8 + -0x5230" identifier + number_literal) , number_literal , number_literal ))) ;) }) (else_clause "else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" else (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000)" ( identifier , (binary_expression "PTR_DAT_000ad2c8 + -0x51f8" identifier + number_literal) , number_literal ))) ;) }))))) }))) }) (else_clause "else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" else (compound_statement "{\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" { (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" ( (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" * (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0)" ( (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (binary_expression "PTR_DAT_000ad2c8 + -0x52ac" identifier + number_literal) , number_literal , number_literal ))) ;) }))) })) }) (else_clause "else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" else (compound_statement "{\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" ( (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" * (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0)" ( (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (binary_expression "PTR_DAT_000ad2c8 + -0x531c" identifier + number_literal) , number_literal , number_literal ))) ;) }))))))))) (labeled_statement "LAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }" statement_identifier : (if_statement "if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }" if (parenthesized_expression "(local_24 == *(int *)puVar25)" ( (binary_expression "local_24 == *(int *)puVar25" identifier == (pointer_expression "*(int *)puVar25" * (cast_expression "(int *)puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return puVar24;\n    }" { (return_statement "return puVar24;" return identifier ;) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" * (cast_expression "(code *)PTR___stack_chk_fail_000adca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "puVar14 = PTR_DAT_000ad2c8 + -0x5374;" (assignment_expression "puVar14 = PTR_DAT_000ad2c8 + -0x5374" identifier = (binary_expression "PTR_DAT_000ad2c8 + -0x5374" identifier + number_literal)) ;) (expression_statement "puVar12 = PTR_DAT_000ad2c8 + -0x52c4;" (assignment_expression "puVar12 = PTR_DAT_000ad2c8 + -0x52c4" identifier = (binary_expression "PTR_DAT_000ad2c8 + -0x52c4" identifier + number_literal)) ;) (expression_statement "puVar30 = PTR___assert_fail_000adb00;" (assignment_expression "puVar30 = PTR___assert_fail_000adb00" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);" (call_expression "(*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8)" (parenthesized_expression "(*(code *)PTR___assert_fail_000adb00)" ( (pointer_expression "*(code *)PTR___assert_fail_000adb00" * (cast_expression "(code *)PTR___assert_fail_000adb00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8)" ( identifier , identifier , number_literal , (binary_expression "PTR_DAT_000ad2c8 + -0x4ce8" identifier + number_literal) ))) ;) (expression_statement "piVar27 = *(int **)(puVar30 + 0x8818c);" (assignment_expression "piVar27 = *(int **)(puVar30 + 0x8818c)" identifier = (pointer_expression "*(int **)(puVar30 + 0x8818c)" * (cast_expression "(int **)(puVar30 + 0x8818c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x8818c)" ( (binary_expression "puVar30 + 0x8818c" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" identifier = (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" * (cast_expression "(undefined1 **)(puVar12 + 0x44)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "puStack_260 = puVar25;" (assignment_expression "puStack_260 = puVar25" identifier = identifier) ;) (expression_statement "iStack_26c = *piVar27;" (assignment_expression "iStack_26c = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "iStack_268 = param_1;" (assignment_expression "iStack_268 = param_1" identifier = identifier) ;) (expression_statement "puStack_264 = puVar24;" (assignment_expression "puStack_264 = puVar24" identifier = identifier) ;) (expression_statement "iStack_25c = unaff_s3;" (assignment_expression "iStack_25c = unaff_s3" identifier = identifier) ;) (expression_statement "puStack_258 = unaff_s4;" (assignment_expression "puStack_258 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_254 = unaff_s5;" (assignment_expression "pcStack_254 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_250 = unaff_s6;" (assignment_expression "iStack_250 = unaff_s6" identifier = identifier) ;) (if_statement "if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar21 == (undefined1 *)0xffffffff)" ( (binary_expression "puVar21 == (undefined1 *)0xffffffff" identifier == (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }" { (expression_statement "uStack_470 = CONCAT13(5,uStack_470._1_3_);" (assignment_expression "uStack_470 = CONCAT13(5,uStack_470._1_3_)" identifier = (call_expression "CONCAT13(5,uStack_470._1_3_)" identifier (argument_list "(5,uStack_470._1_3_)" ( number_literal , (field_expression "uStack_470._1_3_" identifier . field_identifier) )))) ;) (expression_statement "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);" (assignment_expression "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" identifier = (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" identifier (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x10)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" * (cast_expression "(undefined4 *)(puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x74)" ( (binary_expression "puVar12 + 0x74" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);" (assignment_expression "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" identifier = (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" identifier (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x11)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" * (cast_expression "(undefined4 *)(puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x74)" ( (binary_expression "puVar12 + 0x74" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "uVar13 = uStack_470;" (assignment_expression "uVar13 = uStack_470" identifier = identifier) ;) (if_statement "if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" if (parenthesized_expression "((*pcVar2 == '\0') && (*pcVar3 == '\0'))" ( (binary_expression "(*pcVar2 == '\0') && (*pcVar3 == '\0')" (parenthesized_expression "(*pcVar2 == '\0')" ( (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*pcVar3 == '\0')" ( (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }" { (expression_statement "uStack_470._2_2_ = (ushort)(byte)uStack_470;" (assignment_expression "uStack_470._2_2_ = (ushort)(byte)uStack_470" (field_expression "uStack_470._2_2_" identifier . field_identifier) = (cast_expression "(ushort)(byte)uStack_470" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(byte)uStack_470" ( (type_descriptor "byte" type_identifier) ) identifier))) ;) (expression_statement "uStack_470._0_1_ = SUB41(uVar13,3);" (assignment_expression "uStack_470._0_1_ = SUB41(uVar13,3)" (field_expression "uStack_470._0_1_" identifier . field_identifier) = (call_expression "SUB41(uVar13,3)" identifier (argument_list "(uVar13,3)" ( identifier , number_literal )))) ;) (expression_statement "uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" identifier . field_identifier) = (call_expression "CONCAT12(1,uStack_470._2_2_)" identifier (argument_list "(1,uStack_470._2_2_)" ( number_literal , (field_expression "uStack_470._2_2_" identifier . field_identifier) )))) ;) (expression_statement "iStack_47c = 3;" (assignment_expression "iStack_47c = 3" identifier = number_literal) ;) }) (else_clause "else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" else (compound_statement "{\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" { (expression_statement "uStack_470._2_2_ = (ushort)(byte)uStack_470;" (assignment_expression "uStack_470._2_2_ = (ushort)(byte)uStack_470" (field_expression "uStack_470._2_2_" identifier . field_identifier) = (cast_expression "(ushort)(byte)uStack_470" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(byte)uStack_470" ( (type_descriptor "byte" type_identifier) ) identifier))) ;) (expression_statement "iStack_47c = 3;" (assignment_expression "iStack_47c = 3" identifier = number_literal) ;) (expression_statement "proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);" (call_expression "proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c)" identifier (argument_list "(&uStack_470,&iStack_47c)" ( (pointer_expression "&uStack_470" & identifier) , (pointer_expression "&iStack_47c" & identifier) ))) ;) (expression_statement "*(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;" (assignment_expression "*(undefined1 *)((int)&uStack_470 + iStack_47c) = 2" (pointer_expression "*(undefined1 *)((int)&uStack_470 + iStack_47c)" * (cast_expression "(undefined1 *)((int)&uStack_470 + iStack_47c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iStack_47c)" ( (binary_expression "(int)&uStack_470 + iStack_47c" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = number_literal) ;) (expression_statement "uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" identifier . field_identifier) = (call_expression "CONCAT12((char)iStack_47c + -1,uStack_470._2_2_)" identifier (argument_list "((char)iStack_47c + -1,uStack_470._2_2_)" ( (binary_expression "(char)iStack_47c + -1" (cast_expression "(char)iStack_47c" ( (type_descriptor "char" primitive_type) ) identifier) + number_literal) , (field_expression "uStack_470._2_2_" identifier . field_identifier) )))) ;) (expression_statement "iStack_47c = iStack_47c + 1;" (assignment_expression "iStack_47c = iStack_47c + 1" identifier = (binary_expression "iStack_47c + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);" (call_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 8) + 8)" * (cast_expression "(code **)(**(int **)(puVar12 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 8) + 8)" ( (binary_expression "**(int **)(puVar12 + 8) + 8" (pointer_expression "**(int **)(puVar12 + 8)" * (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 8),&uStack_470,iStack_47c)" ( (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) )))) , (pointer_expression "&uStack_470" & identifier) , identifier ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 1;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 1" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar14 == (undefined *)0x0)" ( (binary_expression "puVar14 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58))" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58))" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x50)" * (cast_expression "(undefined4 *)(puVar12 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x50)" ( (binary_expression "puVar12 + 0x50" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x54)" * (cast_expression "(undefined4 *)(puVar12 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x54)" ( (binary_expression "puVar12 + 0x54" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x58)" * (cast_expression "(undefined4 *)(puVar12 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x58)" ( (binary_expression "puVar12 + 0x58" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar14 == (undefined *)0x1)" ( (binary_expression "puVar14 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }" { (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar14 == (undefined *)0x3)" ( (binary_expression "puVar14 == (undefined *)0x3" identifier == (cast_expression "(undefined *)0x3" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }" { (expression_statement "puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));" (assignment_expression "puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" identifier = (cast_expression "(undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 0x10))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 0x10)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 0x10)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 0x10)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 0x10" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x6c)" * (cast_expression "(undefined4 *)(puVar12 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x6c)" ( (binary_expression "puVar12 + 0x6c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar12 + 0x70)" * (cast_expression "(undefined4 *)(puVar12 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x70)" ( (binary_expression "puVar12 + 0x70" identifier + number_literal) )))) ))))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }" if (parenthesized_expression "(puVar14 != (undefined *)0x2)" ( (binary_expression "puVar14 != (undefined *)0x2" identifier != (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }" { (labeled_statement "LAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;" statement_identifier : (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x51c4" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "puVar25 = unaff_s4;" (assignment_expression "puVar25 = unaff_s4" identifier = identifier) ;) (if_statement "if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x1)" ( (binary_expression "puVar21 == (undefined1 *)0x1" identifier == (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }" { (expression_statement "puVar25 = puVar12 + 0x34;" (assignment_expression "puVar25 = puVar12 + 0x34" identifier = (binary_expression "puVar12 + 0x34" identifier + number_literal)) ;) (expression_statement "iVar29 = bufchain_size(puVar25);" (assignment_expression "iVar29 = bufchain_size(puVar25)" identifier = (call_expression "bufchain_size(puVar25)" identifier (argument_list "(puVar25)" ( identifier )))) ;) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar29 < 2) goto LAB_00025bf4;" if (parenthesized_expression "(iVar29 < 2)" ( (binary_expression "iVar29 < 2" identifier < number_literal) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (expression_statement "bufchain_fetch(puVar25,&uStack_470,2);" (call_expression "bufchain_fetch(puVar25,&uStack_470,2)" identifier (argument_list "(puVar25,&uStack_470,2)" ( identifier , (pointer_expression "&uStack_470" & identifier) , number_literal ))) ;) (if_statement "if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }" if (parenthesized_expression "(uStack_470._0_1_ != '\x05')" ( (binary_expression "uStack_470._0_1_ != '\x05'" (field_expression "uStack_470._0_1_" identifier . field_identifier) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }" { (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x51a0" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" if (parenthesized_expression "(uStack_470._1_1_ == '\0')" ( (binary_expression "uStack_470._1_1_ == '\0'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }" { (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 2;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 2" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" else (if_statement "if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" if (parenthesized_expression "(uStack_470._1_1_ == '\x01')" ( (binary_expression "uStack_470._1_1_ == '\x01'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }" { (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 4;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 4" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" else (if_statement "if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" if (parenthesized_expression "(uStack_470._1_1_ == '\x02')" ( (binary_expression "uStack_470._1_1_ == '\x02'" (field_expression "uStack_470._1_1_" identifier . field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }" { (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 5;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 5" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" else (compound_statement "{\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" { (if_statement "if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(uStack_470._1_1_ != '\x03')" ( (binary_expression "uStack_470._1_1_ != '\x03'" (field_expression "uStack_470._1_1_" identifier . field_identifier) != (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }" { (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x5168" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 6;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 6" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) }))))))) (expression_statement "bufchain_consume(puVar25,2);" (call_expression "bufchain_consume(puVar25,2)" identifier (argument_list "(puVar25,2)" ( identifier , number_literal ))) ;) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" identifier = (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" * (cast_expression "(undefined1 **)(puVar12 + 0x44)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) ))))) ;) })) (if_statement "if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x7)" ( (binary_expression "puVar21 == (undefined1 *)0x7" identifier == (cast_expression "(undefined1 *)0x7" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }" { (expression_statement "puVar21 = puVar12 + 0x34;" (assignment_expression "puVar21 = puVar12 + 0x34" identifier = (binary_expression "puVar12 + 0x34" identifier + number_literal)) ;) (expression_statement "iVar29 = bufchain_size(puVar21);" (assignment_expression "iVar29 = bufchain_size(puVar21)" identifier = (call_expression "bufchain_size(puVar21)" identifier (argument_list "(puVar21)" ( identifier )))) ;) (if_statement "if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }" if (parenthesized_expression "(1 < iVar29)" ( (binary_expression "1 < iVar29" number_literal < identifier) )) (compound_statement "{\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }" { (expression_statement "bufchain_fetch(puVar21,&uStack_470,2);" (call_expression "bufchain_fetch(puVar21,&uStack_470,2)" identifier (argument_list "(puVar21,&uStack_470,2)" ( identifier , (pointer_expression "&uStack_470" & identifier) , number_literal ))) ;) (if_statement "if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }" if (parenthesized_expression "(uStack_470._0_1_ == '\x01')" ( (binary_expression "uStack_470._0_1_ == '\x01'" (field_expression "uStack_470._0_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }" { (if_statement "if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }" if (parenthesized_expression "(uStack_470._1_1_ != '\0')" ( (binary_expression "uStack_470._1_1_ != '\0'" (field_expression "uStack_470._1_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x50e0" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "bufchain_consume(puVar21,2);" (call_expression "bufchain_consume(puVar21,2)" identifier (argument_list "(puVar21,2)" ( identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 2;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 2" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00025f08;" goto statement_identifier ;) })) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x512c" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) })) }) (else_clause "else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" else (compound_statement "{\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" { (if_statement "if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x8)" ( (binary_expression "puVar21 == (undefined1 *)0x8" identifier == (cast_expression "(undefined1 *)0x8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }" { (expression_statement "puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);" (assignment_expression "puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12)" identifier = (cast_expression "(undefined4 *)proxy_socks5_handlechap(puVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "proxy_socks5_handlechap(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))))) ;) (if_statement "if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;" if (parenthesized_expression "(puVar24 != (undefined4 *)0x0)" ( (binary_expression "puVar24 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" identifier = (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" * (cast_expression "(undefined1 **)(puVar12 + 0x44)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) ))))) ;) })) (if_statement "if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x2)" ( (binary_expression "puVar21 == (undefined1 *)0x2" identifier == (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }" { (labeled_statement "LAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));" statement_identifier : (expression_statement "iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));" (assignment_expression "iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10))" identifier = (call_expression "(**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10))" (parenthesized_expression "(**(code **)(puVar30 + 0x87a10))" ( (pointer_expression "**(code **)(puVar30 + 0x87a10)" * (pointer_expression "*(code **)(puVar30 + 0x87a10)" * (cast_expression "(code **)(puVar30 + 0x87a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87a10)" ( (binary_expression "puVar30 + 0x87a10" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar12 + 0x10))" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" * (cast_expression "(undefined4 *)(puVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x10)" ( (binary_expression "puVar12 + 0x10" identifier + number_literal) )))) )))) ;)) (if_statement "if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" if (parenthesized_expression "(iVar29 == 1)" ( (binary_expression "iVar29 == 1" identifier == number_literal) )) (compound_statement "{\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }" { (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,(char)iVar29)" identifier (argument_list "(uStack_470._0_3_,(char)iVar29)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , (cast_expression "(char)iVar29" ( (type_descriptor "char" primitive_type) ) identifier) )))) ;) (expression_statement "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);" (call_expression "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87a14))" ( (pointer_expression "**(code **)(puVar30 + 0x87a14)" * (pointer_expression "*(code **)(puVar30 + 0x87a14)" * (cast_expression "(code **)(puVar30 + 0x87a14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87a14)" ( (binary_expression "puVar30 + 0x87a14" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" * (cast_expression "(undefined4 *)(puVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x10)" ( (binary_expression "puVar12 + 0x10" identifier + number_literal) )))) , (pointer_expression "&uStack_46c" & identifier) ))) ;) (expression_statement "iVar29 = 9;" (assignment_expression "iVar29 = 9" identifier = number_literal) ;) (expression_statement "iVar33 = 8;" (assignment_expression "iVar33 = 8" identifier = number_literal) ;) (expression_statement "iVar17 = 10;" (assignment_expression "iVar17 = 10" identifier = number_literal) ;) }) (else_clause "else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" else (if_statement "if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }" { (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,4);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,4)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,4)" identifier (argument_list "(uStack_470._0_3_,4)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);" (call_expression "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87a14))" ( (pointer_expression "**(code **)(puVar30 + 0x87a14)" * (pointer_expression "*(code **)(puVar30 + 0x87a14)" * (cast_expression "(code **)(puVar30 + 0x87a14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87a14)" ( (binary_expression "puVar30 + 0x87a14" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" * (cast_expression "(undefined4 *)(puVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x10)" ( (binary_expression "puVar12 + 0x10" identifier + number_literal) )))) , (pointer_expression "&uStack_46c" & identifier) ))) ;) (expression_statement "iVar29 = 0x15;" (assignment_expression "iVar29 = 0x15" identifier = number_literal) ;) (expression_statement "iVar33 = 0x14;" (assignment_expression "iVar33 = 0x14" identifier = number_literal) ;) (expression_statement "iVar17 = 0x16;" (assignment_expression "iVar17 = 0x16" identifier = number_literal) ;) }) (else_clause "else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" else (compound_statement "{\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" { (if_statement "if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }" if (parenthesized_expression "(iVar29 != 3)" ( (binary_expression "iVar29 != 3" identifier != number_literal) )) (compound_statement "{\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }" { (expression_statement "puVar24 = (undefined4 *)0x46a;" (assignment_expression "puVar24 = (undefined4 *)0x46a" identifier = (cast_expression "(undefined4 *)0x46a" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8)" identifier = (pointer_expression "*(code **)(puVar30 + 0x87fb8)" * (cast_expression "(code **)(puVar30 + 0x87fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87fb8)" ( (binary_expression "puVar30 + 0x87fb8" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;" (assignment_expression "iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00" identifier = (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d00" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);" (assignment_expression "pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374)" identifier = (cast_expression "(byte *)(*(int *)(puVar30 + 0x87780) + -0x5374)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar30 + 0x87780) + -0x5374)" ( (binary_expression "*(int *)(puVar30 + 0x87780) + -0x5374" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;" (assignment_expression "iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4" identifier = (binary_expression "*(int *)(puVar30 + 0x87780) + -0x52c4" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;" (assignment_expression "pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54" identifier = (binary_expression "UNRECOVERED_JUMPTABLE + 0x8eb54" identifier + number_literal)) ;) (expression_statement "piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);" (assignment_expression "piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" identifier = (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" * (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x87598)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x87598" identifier + number_literal) ))))) ;) (expression_statement "iStack_4d4 = *piVar19;" (assignment_expression "iStack_4d4 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "iVar29 = iVar17;" (assignment_expression "iVar29 = iVar17" identifier = identifier) ;) (expression_statement "puStack_4d0 = puVar21;" (assignment_expression "puStack_4d0 = puVar21" identifier = identifier) ;) (expression_statement "puStack_4cc = puVar12;" (assignment_expression "puStack_4cc = puVar12" identifier = identifier) ;) (expression_statement "puStack_4c8 = puVar14;" (assignment_expression "puStack_4c8 = puVar14" identifier = identifier) ;) (expression_statement "piStack_4c4 = piVar27;" (assignment_expression "piStack_4c4 = piVar27" identifier = identifier) ;) (expression_statement "puStack_4c0 = puVar25;" (assignment_expression "puStack_4c0 = puVar25" identifier = identifier) ;) (expression_statement "pcStack_4bc = unaff_s5;" (assignment_expression "pcStack_4bc = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_4b8 = unaff_s6;" (assignment_expression "iStack_4b8 = unaff_s6" identifier = identifier) ;) (if_statement "if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" if (parenthesized_expression "(iVar33 == 0)" ( (binary_expression "iVar33 == 0" identifier == number_literal) )) (compound_statement "{\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }" { (expression_statement "pbVar16 = (byte *)0xc;" (assignment_expression "pbVar16 = (byte *)0xc" identifier = (cast_expression "(byte *)0xc" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = conf_get_int(iVar17,0xc);" (assignment_expression "iVar6 = conf_get_int(iVar17,0xc)" identifier = (call_expression "conf_get_int(iVar17,0xc)" identifier (argument_list "(iVar17,0xc)" ( identifier , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" { (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e34)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e34" identifier + number_literal) ))))) )) (argument_list "(pbVar15)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_00026900;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026900;" goto statement_identifier ;)) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" identifier = identifier) ;) }) (else_clause "else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" else (compound_statement "{\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" identifier = identifier) ;) }))) (labeled_statement "LAB_000267f0:\n            iVar28 = 0;" statement_identifier : (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;)) (expression_statement "iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);" (assignment_expression "iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x874ec)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x874ec" identifier + number_literal) ))))) )) (argument_list "(pbVar15)" ( identifier )))) ;) (expression_statement "pbVar16 = (byte *)0xa;" (assignment_expression "pbVar16 = (byte *)0xa" identifier = (cast_expression "(byte *)0xa" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar8 = (byte *)conf_get_str(iVar17,10);" (assignment_expression "pbVar8 = (byte *)conf_get_str(iVar17,10)" identifier = (cast_expression "(byte *)conf_get_str(iVar17,10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(iVar17,10)" identifier (argument_list "(iVar17,10)" ( identifier , number_literal ))))) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (while_statement "while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }" while (parenthesized_expression "(puVar24 = puVar18, bVar1 != 0)" ( (comma_expression "puVar24 = puVar18, bVar1 != 0" (assignment_expression "puVar24 = puVar18" identifier = identifier) , (binary_expression "bVar1 != 0" identifier != number_literal)) )) (compound_statement "{\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }" { (expression_statement "piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();" (assignment_expression "piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" identifier = (cast_expression "(int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x873c0)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x873c0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar34 = *piVar27;" (assignment_expression "iVar34 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "pbVar22 = pbVar8 + iVar28;" (assignment_expression "pbVar22 = pbVar8 + iVar28" identifier = (binary_expression "pbVar8 + iVar28" identifier + identifier)) ;) (expression_statement "iVar17 = iVar28;" (assignment_expression "iVar17 = iVar28" identifier = identifier) ;) (while_statement "while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }" while (parenthesized_expression "((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)))" ( (parenthesized_expression "(pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))" ( (comma_expression "pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)" (assignment_expression "pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28)" identifier = (binary_expression "pbVar8 + iVar28 + (iVar17 - iVar28)" (binary_expression "pbVar8 + iVar28" identifier + identifier) + (parenthesized_expression "(iVar17 - iVar28)" ( (binary_expression "iVar17 - iVar28" identifier - identifier) )))) , (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)" (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20)" ( (binary_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(iVar34 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + (uint)bVar1 * 2)" ( (binary_expression "iVar34 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) || (parenthesized_expression "(bVar1 == 0x2c)" ( (binary_expression "bVar1 == 0x2c" identifier == number_literal) )))) )) )) (compound_statement "{\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }" { (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "pbVar22 = pbVar8 + iVar17;" (assignment_expression "pbVar22 = pbVar8 + iVar17" identifier = (binary_expression "pbVar8 + iVar17" identifier + identifier)) ;) (expression_statement "bVar1 = *pbVar22;" (assignment_expression "bVar1 = *pbVar22" identifier = (pointer_expression "*pbVar22" * identifier)) ;) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" identifier = identifier) ;) (if_statement "if (bVar1 == 0) goto LAB_00026894;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026894;" goto statement_identifier ;)) })) (expression_statement "uVar4 = (uint)(char)*pbVar22;" (assignment_expression "uVar4 = (uint)(char)*pbVar22" identifier = (binary_expression "(uint)(char)*pbVar22" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "iVar28 = iVar17;" (assignment_expression "iVar28 = iVar17" identifier = identifier) ;) (if_statement "if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" if (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                puVar11 = (undefined4 *)0x0;\n              }" { (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" else (compound_statement "{\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" { (do_statement "do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);" do (compound_statement "{\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                }" { (if_statement "if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;" if (parenthesized_expression "((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a))" ( (binary_expression "(((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)" (parenthesized_expression "(((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d))" ( (binary_expression "((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)" (parenthesized_expression "((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0)" ( (binary_expression "(*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800)" ( (binary_expression "*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800" (pointer_expression "*(ushort *)(iVar34 + (uVar4 & 0xff) * 2)" * (cast_expression "(ushort *)(iVar34 + (uVar4 & 0xff) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + (uVar4 & 0xff) * 2)" ( (binary_expression "iVar34 + (uVar4 & 0xff) * 2" identifier + (binary_expression "(uVar4 & 0xff) * 2" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(1 < (uVar4 & 0xff) - 0x2d)" ( (binary_expression "1 < (uVar4 & 0xff) - 0x2d" number_literal < (binary_expression "(uVar4 & 0xff) - 0x2d" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) - number_literal)) ))) )) && (parenthesized_expression "(puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)" ( (comma_expression "puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a" (assignment_expression "puVar11 = (undefined4 *)(iVar28 - iVar17)" identifier = (cast_expression "(undefined4 *)(iVar28 - iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 - iVar17)" ( (binary_expression "iVar28 - iVar17" identifier - identifier) )))) , (binary_expression "uVar4 != 0x2a" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00026960;" goto statement_identifier ;)) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "uVar4 = (uint)(char)pbVar8[iVar28];" (assignment_expression "uVar4 = (uint)(char)pbVar8[iVar28]" identifier = (cast_expression "(uint)(char)pbVar8[iVar28]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)pbVar8[iVar28]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar8[iVar28]" identifier [ identifier ])))) ;) }) while (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) ;) (expression_statement "puVar11 = (undefined4 *)(iVar28 - iVar17);" (assignment_expression "puVar11 = (undefined4 *)(iVar28 - iVar17)" identifier = (cast_expression "(undefined4 *)(iVar28 - iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 - iVar17)" ( (binary_expression "iVar28 - iVar17" identifier - identifier) )))) ;) }))) (labeled_statement "LAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" statement_identifier : (if_statement "if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" if (parenthesized_expression "(bVar1 == 0x2a)" ( (binary_expression "bVar1 == 0x2a" identifier == number_literal) )) (compound_statement "{\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }" { (expression_statement "puVar18 = (undefined4 *)((int)puVar11 + -1);" (assignment_expression "puVar18 = (undefined4 *)((int)puVar11 + -1)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -1)" ( (binary_expression "(int)puVar11 + -1" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar20 = pbVar8 + iVar17 + 1;" (assignment_expression "pbVar20 = pbVar8 + iVar17 + 1" identifier = (binary_expression "pbVar8 + iVar17 + 1" (binary_expression "pbVar8 + iVar17" identifier + identifier) + number_literal)) ;) (if_statement "if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" if (parenthesized_expression "((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0))" ( (binary_expression "(iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) && (parenthesized_expression "(pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)" ( (comma_expression "pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) , (comma_expression "puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar18" identifier = identifier) , (comma_expression "puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" identifier = (cast_expression "(undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) )) (argument_list "(auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" ( (binary_expression "auStack_514 + ((iVar6 + 1) - (int)puVar11)" identifier + (parenthesized_expression "((iVar6 + 1) - (int)puVar11)" ( (binary_expression "(iVar6 + 1) - (int)puVar11" (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )) - (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier ))))) , (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))))) ))) )) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;)) (expression_statement "iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);" (assignment_expression "iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) )) (argument_list "(pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" ( (binary_expression "pbVar15 + ((iVar7 + 1) - (int)puVar11)" identifier + (parenthesized_expression "((iVar7 + 1) - (int)puVar11)" ( (binary_expression "(iVar7 + 1) - (int)puVar11" (parenthesized_expression "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )) - (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier )))) ;) (if_statement "if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }" { (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) ;) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" identifier = identifier) ;) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;) })) }) (else_clause "else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" else (compound_statement "{\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" { (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) ;) (if_statement "if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" if (parenthesized_expression "(pbVar8[iVar28 + -1] == 0x2a)" ( (binary_expression "pbVar8[iVar28 + -1] == 0x2a" (subscript_expression "pbVar8[iVar28 + -1]" identifier [ (binary_expression "iVar28 + -1" identifier + number_literal) ]) == number_literal) )) (compound_statement "{\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" { (expression_statement "puVar11 = (undefined4 *)((int)puVar11 + -1);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar11 + -1)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -1)" ( (binary_expression "(int)puVar11 + -1" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" if (parenthesized_expression "((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0))" ( (binary_expression "(iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) && (parenthesized_expression "(puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" ( (comma_expression "puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar11" identifier = identifier) , (comma_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" identifier = (cast_expression "(undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) )) (argument_list "(auStack_514,pbVar20)" ( identifier , identifier ))))) , (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);" (assignment_expression "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" else (compound_statement "{\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" { (if_statement "if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" if (parenthesized_expression "((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0))" ( (binary_expression "(iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) && (parenthesized_expression "(puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" ( (comma_expression "puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar11" identifier = identifier) , (comma_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" identifier = (cast_expression "(undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) )) (argument_list "(auStack_514,pbVar20)" ( identifier , identifier ))))) , (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);" (assignment_expression "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar17 = (*pcVar31)(pbVar15,pbVar20);" (assignment_expression "iVar17 = (*pcVar31)(pbVar15,pbVar20)" identifier = (call_expression "(*pcVar31)(pbVar15,pbVar20)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pbVar15,pbVar20)" ( identifier , identifier )))) ;) (expression_statement "puVar18 = puVar11;" (assignment_expression "puVar18 = puVar11" identifier = identifier) ;) (if_statement "if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }" { (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) ;) (expression_statement "puVar24 = puVar11;" (assignment_expression "puVar24 = puVar11" identifier = identifier) ;) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;) })) })))) (while_statement "while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }" { (expression_statement "bVar1 = pbVar8[iVar28];" (assignment_expression "bVar1 = pbVar8[iVar28]" identifier = (subscript_expression "pbVar8[iVar28]" identifier [ identifier ])) ;) (expression_statement "puVar9 = (undefined4 *)0x1;" (assignment_expression "puVar9 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" identifier = identifier) ;) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" identifier = identifier) ;) (if_statement "if (bVar1 == 0) goto LAB_0002689c;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002689c;" goto statement_identifier ;)) (if_statement "if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;" if (parenthesized_expression "(((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c))" ( (binary_expression "((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)" (parenthesized_expression "((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0)" ( (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20)" ( (binary_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(iVar34 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + (uint)bVar1 * 2)" ( (binary_expression "iVar34 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(bVar1 == 0x2c)" ( (binary_expression "bVar1 == 0x2c" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar1 = pbVar8[iVar28];" (assignment_expression "bVar1 = pbVar8[iVar28]" identifier = (subscript_expression "pbVar8[iVar28]" identifier [ identifier ])) ;) })) (labeled_statement "LAB_00026894:\n            puVar9 = (undefined4 *)0x1;" statement_identifier : (expression_statement "puVar9 = (undefined4 *)0x1;" (assignment_expression "puVar9 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" else (compound_statement "{\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" { (expression_statement "pbVar16 = pbVar15;" (assignment_expression "pbVar16 = pbVar15" identifier = identifier) ;) (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))()" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e30)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e30" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }" { (expression_statement "pbVar16 = (byte *)0xc;" (assignment_expression "pbVar16 = (byte *)0xc" identifier = (cast_expression "(byte *)0xc" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = conf_get_int(iVar17,0xc);" (assignment_expression "iVar6 = conf_get_int(iVar17,0xc)" identifier = (call_expression "conf_get_int(iVar17,0xc)" identifier (argument_list "(iVar17,0xc)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }" if (parenthesized_expression "((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0))))" ( (binary_expression "(iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))" ( (parenthesized_expression "(iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0))" ( (comma_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e34)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e34" identifier + number_literal) ))))) )) (argument_list "(pbVar15)" ( identifier )))) , (binary_expression "iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" (binary_expression "iVar6 == 0" identifier == number_literal) && (parenthesized_expression "(iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" ( (comma_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e38)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e38" identifier + number_literal) ))))) )) (argument_list "(iVar33)" ( identifier )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }" { (expression_statement "puVar18 = (undefined4 *)&DAT_00000040;" (assignment_expression "puVar18 = (undefined4 *)&DAT_00000040" identifier = (cast_expression "(undefined4 *)&DAT_00000040" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000040" & identifier))) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86cc8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86cc8" identifier + number_literal) ))))) )) (argument_list "(iVar33,auStack_514)" ( identifier , identifier ))) ;) (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x874ec)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x874ec" identifier + number_literal) ))))) )) (argument_list "(auStack_514)" ( identifier )))) ;) (goto_statement "goto LAB_000267f0;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00026900:\n            puVar9 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (labeled_statement "LAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }" statement_identifier : (if_statement "if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }" if (parenthesized_expression "(iStack_4d4 == *piVar19)" ( (binary_expression "iStack_4d4 == *piVar19" identifier == (pointer_expression "*piVar19" * identifier)) )) (compound_statement "{\n            return puVar9;\n          }" { (return_statement "return puVar9;" return identifier ;) }))) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x87568)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x87568" identifier + number_literal) ))))) ;) (expression_statement "iVar33 = iStack_4d4;" (assignment_expression "iVar33 = iStack_4d4" identifier = identifier) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar17 = conf_get_int(iVar29,0xd);" (assignment_expression "iVar17 = conf_get_int(iVar29,0xd)" identifier = (call_expression "conf_get_int(iVar29,0xd)" identifier (argument_list "(iVar29,0xd)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }" if (parenthesized_expression "((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0))))" ( (binary_expression "(iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))" (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) && (parenthesized_expression "(((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))" ( (parenthesized_expression "((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0))" ( (binary_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)" (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1))))" ( (comma_expression "iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" (assignment_expression "iVar17 = conf_get_int(iVar29,0xb)" identifier = (call_expression "conf_get_int(iVar29,0xb)" identifier (argument_list "(iVar29,0xb)" ( identifier , number_literal )))) , (binary_expression "iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" (binary_expression "iVar17 == 0" identifier == number_literal) || (parenthesized_expression "((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" ( (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1))" ( (comma_expression "iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" (assignment_expression "iVar17 = conf_get_int(iVar29,0xb)" identifier = (call_expression "conf_get_int(iVar29,0xb)" identifier (argument_list "(iVar29,0xb)" ( identifier , number_literal )))) , (binary_expression "iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" (binary_expression "iVar17 == 2" identifier == number_literal) && (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" ( (comma_expression "iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1" (assignment_expression "iVar17 = conf_get_int(iVar29,0xd)" identifier = (call_expression "conf_get_int(iVar29,0xd)" identifier (argument_list "(iVar29,0xd)" ( identifier , number_literal )))) , (binary_expression "iVar17 != 1" identifier != number_literal)) )))) )) )))) )) && (parenthesized_expression "(iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)" ( (comma_expression "iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0" (assignment_expression "iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29)" identifier = (call_expression "proxy_for_destination(0,iVar33,pbVar16,iVar29)" identifier (argument_list "(0,iVar33,pbVar16,iVar29)" ( number_literal , identifier , identifier , identifier )))) , (binary_expression "iVar29 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }" { (if_statement "if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }" if (parenthesized_expression "(iStack_534 != 0)" ( (binary_expression "iStack_534 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }" { (expression_statement "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;" (assignment_expression "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" identifier = (call_expression "dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" identifier (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x868fc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x868fc" identifier + number_literal) ))))) )) (argument_list "(iStack_534,uVar13)" ( identifier , identifier ))) ;) (expression_statement "safefree(uVar13);" (call_expression "safefree(uVar13)" identifier (argument_list "(uVar13)" ( identifier ))) ;) })) (expression_statement "uVar13 = dupstr(iVar33);" (assignment_expression "uVar13 = dupstr(iVar33)" identifier = (call_expression "dupstr(iVar33)" identifier (argument_list "(iVar33)" ( identifier )))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86a74)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86a74" identifier + number_literal) ))))) ;) (expression_statement "*puVar24 = uVar13;" (assignment_expression "*puVar24 = uVar13" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);" (assignment_expression "puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33)" identifier = (cast_expression "(undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*UNRECOVERED_JUMPTABLE)(iVar33)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(iVar33)" ( identifier ))))) ;) (return_statement "return puVar24;" return identifier ;) })) (if_statement "if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }" if (parenthesized_expression "(iStack_534 != 0)" ( (binary_expression "iStack_534 != 0" identifier != number_literal) )) (compound_statement "{\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }" { (if_statement "if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" if (parenthesized_expression "(pcVar32 == (code *)0x1)" ( (binary_expression "pcVar32 == (code *)0x1" identifier == (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }" { (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" else (if_statement "if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" if (parenthesized_expression "(pcVar32 == (code *)0x2)" ( (binary_expression "pcVar32 == (code *)0x2" identifier == (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }" { (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" else (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" { (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal)) ;) }))))) (expression_statement "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);" (assignment_expression "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" identifier = (call_expression "dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" identifier (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x868fc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x868fc" identifier + number_literal) ))))) )) (argument_list "(iStack_534,uVar13)" ( identifier , identifier ))) ;) (expression_statement "safefree(uVar13);" (call_expression "safefree(uVar13)" identifier (argument_list "(uVar13)" ( identifier ))) ;) })) (expression_statement "puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);" (assignment_expression "puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" identifier = (cast_expression "(undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86a6c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x86a6c" identifier + number_literal) ))))) )) (argument_list "(iVar33,puVar24,pcVar32)" ( identifier , identifier , identifier ))))) ;) (return_statement "return puVar24;" return identifier ;) })) (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29)" identifier = (call_expression "CONCAT31(uStack_470._0_3_,(char)iVar29)" identifier (argument_list "(uStack_470._0_3_,(char)iVar29)" ( (field_expression "uStack_470._0_3_" identifier . field_identifier) , (cast_expression "(char)iVar29" ( (type_descriptor "char" primitive_type) ) identifier) )))) ;) (expression_statement "(**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;" (call_expression "(**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)" (parenthesized_expression "(**(code **)(puVar30 + 0x878bc))" ( (pointer_expression "**(code **)(puVar30 + 0x878bc)" * (pointer_expression "*(code **)(puVar30 + 0x878bc)" * (cast_expression "(code **)(puVar30 + 0x878bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x878bc)" ( (binary_expression "puVar30 + 0x878bc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" * (cast_expression "(undefined4 *)(puVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x10)" ( (binary_expression "puVar12 + 0x10" identifier + number_literal) )))) , (binary_expression "(int)&uStack_46c + 1" (cast_expression "(int)&uStack_46c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_46c" & identifier)) + number_literal) , number_literal ))) ;) (expression_statement "cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);" (assignment_expression "cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1)" identifier = (call_expression "(**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1)" (parenthesized_expression "(**(code **)(puVar30 + 0x880e0))" ( (pointer_expression "**(code **)(puVar30 + 0x880e0)" * (pointer_expression "*(code **)(puVar30 + 0x880e0)" * (cast_expression "(code **)(puVar30 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x880e0)" ( (binary_expression "puVar30 + 0x880e0" identifier + number_literal) ))))) )) (argument_list "((int)&uStack_46c + 1)" ( (binary_expression "(int)&uStack_46c + 1" (cast_expression "(int)&uStack_46c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_46c" & identifier)) + number_literal) )))) ;) (expression_statement "iVar29 = (int)cVar10;" (assignment_expression "iVar29 = (int)cVar10" identifier = (cast_expression "(int)cVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar17 = iVar29 + 7;" (assignment_expression "iVar17 = iVar29 + 7" identifier = (binary_expression "iVar29 + 7" identifier + number_literal)) ;) (expression_statement "uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);" (assignment_expression "uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_)" identifier = (call_expression "CONCAT13(cVar10,uStack_46c._1_3_)" identifier (argument_list "(cVar10,uStack_46c._1_3_)" ( identifier , (field_expression "uStack_46c._1_3_" identifier . field_identifier) )))) ;) (expression_statement "iVar33 = iVar29 + 5;" (assignment_expression "iVar33 = iVar29 + 5" identifier = (binary_expression "iVar29 + 5" identifier + number_literal)) ;) (expression_statement "iVar29 = iVar29 + 6;" (assignment_expression "iVar29 = iVar29 + 6" identifier = (binary_expression "iVar29 + 6" identifier + number_literal)) ;) }))))) (expression_statement "uVar13 = *(undefined4 *)(puVar12 + 0x14);" (assignment_expression "uVar13 = *(undefined4 *)(puVar12 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(puVar12 + 0x14)" * (cast_expression "(undefined4 *)(puVar12 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x14)" ( (binary_expression "puVar12 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar19 = *(int **)(puVar12 + 8);" (assignment_expression "piVar19 = *(int **)(puVar12 + 8)" identifier = (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_470._2_2_ = (ushort)uStack_470 & 0xff;" (assignment_expression "uStack_470._2_2_ = (ushort)uStack_470 & 0xff" (field_expression "uStack_470._2_2_" identifier . field_identifier) = (binary_expression "(ushort)uStack_470 & 0xff" (cast_expression "(ushort)uStack_470" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStack_470 = CONCAT22(0x501,uStack_470._2_2_);" (assignment_expression "uStack_470 = CONCAT22(0x501,uStack_470._2_2_)" identifier = (call_expression "CONCAT22(0x501,uStack_470._2_2_)" identifier (argument_list "(0x501,uStack_470._2_2_)" ( number_literal , (field_expression "uStack_470._2_2_" identifier . field_identifier) )))) ;) (expression_statement "*(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);" (assignment_expression "*(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8)" (pointer_expression "*(char *)((int)&uStack_470 + iVar33)" * (cast_expression "(char *)((int)&uStack_470 + iVar33)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iVar33)" ( (binary_expression "(int)&uStack_470 + iVar33" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = (cast_expression "(char)((uint)uVar13 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar13 >> 8)" ( (binary_expression "(uint)uVar13 >> 8" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(char *)((int)&uStack_470 + iVar29) = (char)uVar13;" (assignment_expression "*(char *)((int)&uStack_470 + iVar29) = (char)uVar13" (pointer_expression "*(char *)((int)&uStack_470 + iVar29)" * (cast_expression "(char *)((int)&uStack_470 + iVar29)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iVar29)" ( (binary_expression "(int)&uStack_470 + iVar29" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = (cast_expression "(char)uVar13" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);" (call_expression "(**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17)" (parenthesized_expression "(**(code **)(*piVar19 + 8))" ( (pointer_expression "**(code **)(*piVar19 + 8)" * (pointer_expression "*(code **)(*piVar19 + 8)" * (cast_expression "(code **)(*piVar19 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar19 + 8)" ( (binary_expression "*piVar19 + 8" (pointer_expression "*piVar19" * identifier) + number_literal) ))))) )) (argument_list "(piVar19,&uStack_470,iVar17)" ( identifier , (pointer_expression "&uStack_470" & identifier) , identifier ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 3;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 3" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }" if (parenthesized_expression "(puVar21 != (undefined1 *)0x3)" ( (binary_expression "puVar21 != (undefined1 *)0x3" identifier != (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }" { (if_statement "if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(puVar21 == &DAT_00000004)" ( (binary_expression "puVar21 == &DAT_00000004" identifier == (pointer_expression "&DAT_00000004" & identifier)) )) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f38" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(puVar21 == (undefined1 *)0x5)" ( (binary_expression "puVar21 == (undefined1 *)0x5" identifier == (cast_expression "(undefined1 *)0x5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }" { (expression_statement "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);" (assignment_expression "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" identifier = (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" identifier (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x10)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" * (cast_expression "(undefined4 *)(puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x74)" ( (binary_expression "puVar12 + 0x74" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);" (assignment_expression "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" identifier = (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" identifier (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x11)" ( (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" * (cast_expression "(undefined4 *)(puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x74)" ( (binary_expression "puVar12 + 0x74" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" if (parenthesized_expression "(*pcVar2 == '\0')" ( (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }" { (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0)" identifier = (pointer_expression "*(code **)(puVar30 + 0x880e0)" * (cast_expression "(code **)(puVar30 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x880e0)" ( (binary_expression "puVar30 + 0x880e0" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }" if (parenthesized_expression "(*pcVar3 == '\0')" ( (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f04" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) }) (else_clause "else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" else (compound_statement "{\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" { (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0)" identifier = (pointer_expression "*(code **)(puVar30 + 0x880e0)" * (cast_expression "(code **)(puVar30 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x880e0)" ( (binary_expression "puVar30 + 0x880e0" identifier + number_literal) ))))) ;) }))) (expression_statement "uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);" (assignment_expression "uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2)" identifier = (call_expression "(*UNRECOVERED_JUMPTABLE)(pcVar2)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(pcVar2)" ( identifier )))) ;) (if_statement "if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" if (parenthesized_expression "(uVar4 < 0x100)" ( (binary_expression "uVar4 < 0x100" identifier < number_literal) )) (compound_statement "{\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }" { (if_statement "if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" if (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }" { (expression_statement "iVar29 = 4;" (assignment_expression "iVar29 = 4" identifier = number_literal) ;) (expression_statement "iVar33 = 3;" (assignment_expression "iVar33 = 3" identifier = number_literal) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" else (compound_statement "{\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" { (expression_statement "iVar33 = uVar4 + 2;" (assignment_expression "iVar33 = uVar4 + 2" identifier = (binary_expression "uVar4 + 2" identifier + number_literal)) ;) (expression_statement "iVar29 = uVar4 + 3;" (assignment_expression "iVar29 = uVar4 + 3" identifier = (binary_expression "uVar4 + 3" identifier + number_literal)) ;) (expression_statement "uVar23 = (undefined1)uVar4;" (assignment_expression "uVar23 = (undefined1)uVar4" identifier = (cast_expression "(undefined1)uVar4" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }))) }) (else_clause "else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" else (compound_statement "{\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" { (expression_statement "iVar29 = 0x102;" (assignment_expression "iVar29 = 0x102" identifier = number_literal) ;) (expression_statement "iVar33 = 0x101;" (assignment_expression "iVar33 = 0x101" identifier = number_literal) ;) (expression_statement "uVar23 = 0xff;" (assignment_expression "uVar23 = 0xff" identifier = number_literal) ;) (expression_statement "uVar4 = 0xff;" (assignment_expression "uVar4 = 0xff" identifier = number_literal) ;) }))) (expression_statement "uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);" (assignment_expression "uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3)" identifier = (call_expression "(**(code **)(puVar30 + 0x880e0))(pcVar3)" (parenthesized_expression "(**(code **)(puVar30 + 0x880e0))" ( (pointer_expression "**(code **)(puVar30 + 0x880e0)" * (pointer_expression "*(code **)(puVar30 + 0x880e0)" * (cast_expression "(code **)(puVar30 + 0x880e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x880e0)" ( (binary_expression "puVar30 + 0x880e0" identifier + number_literal) ))))) )) (argument_list "(pcVar3)" ( identifier )))) ;) (if_statement "if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" if (parenthesized_expression "(uVar5 < 0x100)" ( (binary_expression "uVar5 < 0x100" identifier < number_literal) )) (compound_statement "{\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }" { (if_statement "if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar5 = 1;\n            uVar26 = 1;\n          }" { (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            uVar26 = (undefined1)uVar5;\n          }" else (compound_statement "{\n            uVar26 = (undefined1)uVar5;\n          }" { (expression_statement "uVar26 = (undefined1)uVar5;" (assignment_expression "uVar26 = (undefined1)uVar5" identifier = (cast_expression "(undefined1)uVar5" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }))) }) (else_clause "else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" else (compound_statement "{\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" { (expression_statement "uVar5 = 0xff;" (assignment_expression "uVar5 = 0xff" identifier = number_literal) ;) (expression_statement "uVar26 = 0xff;" (assignment_expression "uVar26 = 0xff" identifier = number_literal) ;) }))) (expression_statement "uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" identifier . field_identifier) = (call_expression "CONCAT12(uVar23,uStack_470._2_2_)" identifier (argument_list "(uVar23,uStack_470._2_2_)" ( identifier , (field_expression "uStack_470._2_2_" identifier . field_identifier) )))) ;) (expression_statement "uStack_470 = CONCAT13(1,uStack_470._1_3_);" (assignment_expression "uStack_470 = CONCAT13(1,uStack_470._1_3_)" identifier = (call_expression "CONCAT13(1,uStack_470._1_3_)" identifier (argument_list "(1,uStack_470._1_3_)" ( number_literal , (field_expression "uStack_470._1_3_" identifier . field_identifier) )))) ;) (expression_statement "(**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);" (call_expression "(**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff)" (parenthesized_expression "(**(code **)(puVar30 + 0x88108))" ( (pointer_expression "**(code **)(puVar30 + 0x88108)" * (pointer_expression "*(code **)(puVar30 + 0x88108)" * (cast_expression "(code **)(puVar30 + 0x88108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x88108)" ( (binary_expression "puVar30 + 0x88108" identifier + number_literal) ))))) )) (argument_list "((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff)" ( (binary_expression "(int)&uStack_470 + 2" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190)" identifier = (pointer_expression "*(code **)(puVar30 + 0x88190)" * (cast_expression "(code **)(puVar30 + 0x88190)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x88190)" ( (binary_expression "puVar30 + 0x88190" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;" (assignment_expression "*(undefined1 *)((int)&uStack_470 + iVar33) = uVar26" (pointer_expression "*(undefined1 *)((int)&uStack_470 + iVar33)" * (cast_expression "(undefined1 *)((int)&uStack_470 + iVar33)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_470 + iVar33)" ( (binary_expression "(int)&uStack_470 + iVar33" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) )))) = identifier) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);" (call_expression "(*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "((int)&uStack_470 + iVar29,pcVar3,uVar5)" ( (binary_expression "(int)&uStack_470 + iVar29" (cast_expression "(int)&uStack_470" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_470" & identifier)) + identifier) , identifier , identifier ))) ;) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);" (call_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 8) + 8)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 8) + 8)" * (cast_expression "(code **)(**(int **)(puVar12 + 8) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 8) + 8)" ( (binary_expression "**(int **)(puVar12 + 8) + 8" (pointer_expression "**(int **)(puVar12 + 8)" * (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3)" ( (pointer_expression "*(int **)(puVar12 + 8)" * (cast_expression "(int **)(puVar12 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) )))) , (pointer_expression "&uStack_470" & identifier) , (binary_expression "uVar4 + uVar5 + 3" (binary_expression "uVar4 + uVar5" identifier + identifier) + number_literal) ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 7;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 7" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" * (cast_expression "(undefined4 *)(puVar12 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x44)" ( (binary_expression "puVar12 + 0x44" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;" if (parenthesized_expression "((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))" ( (binary_expression "(puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0)" (parenthesized_expression "(puVar21 == (undefined1 *)0x6)" ( (binary_expression "puVar21 == (undefined1 *)0x6" identifier == (cast_expression "(undefined1 *)0x6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0)" ( (comma_expression "puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0" (assignment_expression "puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12)" identifier = (cast_expression "(undefined4 *)proxy_socks5_selectchap(puVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "proxy_socks5_selectchap(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))))) , (binary_expression "puVar24 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;)) (goto_statement "goto LAB_00025bc8;" goto statement_identifier ;) })) (expression_statement "puVar25 = puVar12 + 0x34;" (assignment_expression "puVar25 = puVar12 + 0x34" identifier = (binary_expression "puVar12 + 0x34" identifier + number_literal)) ;) (expression_statement "iVar29 = bufchain_size(puVar25);" (assignment_expression "iVar29 = bufchain_size(puVar25)" identifier = (call_expression "bufchain_size(puVar25)" identifier (argument_list "(puVar25)" ( identifier )))) ;) (if_statement "if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }" if (parenthesized_expression "(4 < iVar29)" ( (binary_expression "4 < iVar29" number_literal < identifier) )) (compound_statement "{\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }" { (expression_statement "bufchain_fetch(puVar25,&cStack_478,5);" (call_expression "bufchain_fetch(puVar25,&cStack_478,5)" identifier (argument_list "(puVar25,&cStack_478,5)" ( identifier , (pointer_expression "&cStack_478" & identifier) , number_literal ))) ;) (if_statement "if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(cStack_478 != '\x05')" ( (binary_expression "cStack_478 != '\x05'" identifier != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x50a4" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (if_statement "if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }" if (parenthesized_expression "(cStack_477 != 0)" ( (binary_expression "cStack_477 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }" { (expression_statement "iVar29 = *(int *)(puVar30 + 0x87780);" (assignment_expression "iVar29 = *(int *)(puVar30 + 0x87780)" identifier = (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) ))))) ;) (expression_statement "puVar18 = &uStack_470;" (assignment_expression "puVar18 = &uStack_470" identifier = (pointer_expression "&uStack_470" & identifier)) ;) (expression_statement "uVar4 = (int)cStack_477 - 1U & 0xff;" (assignment_expression "uVar4 = (int)cStack_477 - 1U & 0xff" identifier = (binary_expression "(int)cStack_477 - 1U & 0xff" (binary_expression "(int)cStack_477 - 1U" (cast_expression "(int)cStack_477" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) & number_literal)) ;) (expression_statement "uStack_470 = *(undefined4 *)(iVar29 + -0x506c);" (assignment_expression "uStack_470 = *(undefined4 *)(iVar29 + -0x506c)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + -0x506c)" * (cast_expression "(undefined4 *)(iVar29 + -0x506c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x506c)" ( (binary_expression "iVar29 + -0x506c" identifier + number_literal) ))))) ;) (expression_statement "uStack_46c = *(undefined4 *)(iVar29 + -0x5068);" (assignment_expression "uStack_46c = *(undefined4 *)(iVar29 + -0x5068)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + -0x5068)" * (cast_expression "(undefined4 *)(iVar29 + -0x5068)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x5068)" ( (binary_expression "iVar29 + -0x5068" identifier + number_literal) ))))) ;) (expression_statement "uStack_468 = *(undefined4 *)(iVar29 + -0x5064);" (assignment_expression "uStack_468 = *(undefined4 *)(iVar29 + -0x5064)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + -0x5064)" * (cast_expression "(undefined4 *)(iVar29 + -0x5064)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x5064)" ( (binary_expression "iVar29 + -0x5064" identifier + number_literal) ))))) ;) (expression_statement "uStack_464 = *(undefined2 *)(iVar29 + -0x5060);" (assignment_expression "uStack_464 = *(undefined2 *)(iVar29 + -0x5060)" identifier = (pointer_expression "*(undefined2 *)(iVar29 + -0x5060)" * (cast_expression "(undefined2 *)(iVar29 + -0x5060)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x5060)" ( (binary_expression "iVar29 + -0x5060" identifier + number_literal) ))))) ;) (if_statement "if (7 < uVar4) goto LAB_00026460;" if (parenthesized_expression "(7 < uVar4)" ( (binary_expression "7 < uVar4" number_literal < identifier) )) (goto_statement "goto LAB_00026460;" goto statement_identifier ;)) (expression_statement "puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();" (assignment_expression "puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" identifier = (cast_expression "(undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" (parenthesized_expression "(*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))" ( (pointer_expression "*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" * (cast_expression "(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" ( (binary_expression "puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" identifier + (cast_expression "(int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" ( (binary_expression ""Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14" (binary_expression ""Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" (string_literal ""Service lookup failed for source port \"%s\""" " string_content escape_sequence string_content escape_sequence ") + (pointer_expression "*(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" * (cast_expression "(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" ( (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4" (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d20" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar4 * 4" identifier * number_literal)) ))))) + number_literal) )))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar24;" return identifier ;) })) (if_statement "if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" if (parenthesized_expression "(cStack_475 == '\x03')" ( (binary_expression "cStack_475 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n        iVar29 = bStack_474 + 6;\n      }" { (expression_statement "iVar29 = bStack_474 + 6;" (assignment_expression "iVar29 = bStack_474 + 6" identifier = (binary_expression "bStack_474 + 6" identifier + number_literal)) ;) }) (else_clause "else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" else (if_statement "if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" if (parenthesized_expression "(cStack_475 == '\x04')" ( (binary_expression "cStack_475 == '\x04'" identifier == (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\n        iVar29 = 0x16;\n      }" { (expression_statement "iVar29 = 0x16;" (assignment_expression "iVar29 = 0x16" identifier = number_literal) ;) }) (else_clause "else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" else (compound_statement "{\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" { (if_statement "if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }" if (parenthesized_expression "(cStack_475 != '\x01')" ( (binary_expression "cStack_475 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f78" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) (expression_statement "iVar29 = 10;" (assignment_expression "iVar29 = 10" identifier = number_literal) ;) }))))) (expression_statement "iVar33 = bufchain_size(puVar25);" (assignment_expression "iVar33 = bufchain_size(puVar25)" identifier = (call_expression "bufchain_size(puVar25)" identifier (argument_list "(puVar25)" ( identifier )))) ;) (if_statement "if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }" if (parenthesized_expression "(iVar29 <= iVar33)" ( (binary_expression "iVar29 <= iVar33" identifier <= identifier) )) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }" { (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bufchain_consume(puVar25,iVar29);" (call_expression "bufchain_consume(puVar25,iVar29)" identifier (argument_list "(puVar25,iVar29)" ( identifier , identifier ))) ;) (expression_statement "proxy_activate(puVar12);" (call_expression "proxy_activate(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))) ;) (goto_statement "goto LAB_00025bf4;" goto statement_identifier ;) })) })) }))) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" statement_identifier : (while_statement "while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" while (parenthesized_expression "(iStack_26c != *piVar27)" ( (binary_expression "iStack_26c != *piVar27" identifier != (pointer_expression "*piVar27" * identifier)) )) (compound_statement "{\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" { (expression_statement "(**(code **)(puVar30 + 0x8815c))();" (call_expression "(**(code **)(puVar30 + 0x8815c))()" (parenthesized_expression "(**(code **)(puVar30 + 0x8815c))" ( (pointer_expression "**(code **)(puVar30 + 0x8815c)" * (pointer_expression "*(code **)(puVar30 + 0x8815c)" * (cast_expression "(code **)(puVar30 + 0x8815c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x8815c)" ( (binary_expression "puVar30 + 0x8815c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" identifier = identifier) ;) (labeled_statement "LAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);" statement_identifier : (expression_statement "(**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);" (call_expression "(**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87fa8))" ( (pointer_expression "**(code **)(puVar30 + 0x87fa8)" * (pointer_expression "*(code **)(puVar30 + 0x87fa8)" * (cast_expression "(code **)(puVar30 + 0x87fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x87fa8)" ( (binary_expression "puVar30 + 0x87fa8" identifier + number_literal) ))))) )) (argument_list "((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c)" ( (binary_expression "(int)&uStack_464 + 1" (cast_expression "(int)&uStack_464" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_464" & identifier)) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f9c" (pointer_expression "*(int *)(puVar30 + 0x87780)" * (cast_expression "(int *)(puVar30 + 0x87780)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x87780)" ( (binary_expression "puVar30 + 0x87780" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" ( (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" * (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" * (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" ( (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" * (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar12 + 0xc),puVar18,8000,0)" ( (pointer_expression "*(int **)(puVar12 + 0xc)" * (cast_expression "(int **)(puVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0xc)" ( (binary_expression "puVar12 + 0xc" identifier + number_literal) )))) , identifier , number_literal , number_literal ))) ;) }))) (return_statement "return puVar24;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) }))))) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) , LIT , LIT ))) ;) }))) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) , LIT , LIT ))) ;) }))))))))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))))))) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })))) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression IDENT != LIT)) )))) )) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + LIT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , (binary_expression (binary_expression IDENT + IDENT) + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (string_literal " string_content escape_sequence string_content escape_sequence ") + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) ))))) + LIT) )))) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT , LIT ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 * proxy_socks4_negotiate(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar10;\n  char *pcVar2;\n  char *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  byte *pbVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  int *piVar19;\n  byte *pbVar20;\n  undefined1 *puVar21;\n  undefined1 uVar23;\n  byte *pbVar22;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  undefined1 uVar26;\n  int unaff_s3;\n  int *piVar27;\n  undefined *unaff_s4;\n  int iVar28;\n  char *unaff_s5;\n  int unaff_s6;\n  int iVar29;\n  undefined *puVar30;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar31;\n  code *pcVar32;\n  int iVar33;\n  int iVar34;\n  int iStack_534;\n  undefined1 auStack_514 [64];\n  int iStack_4d4;\n  undefined1 *puStack_4d0;\n  undefined *puStack_4cc;\n  undefined *puStack_4c8;\n  int *piStack_4c4;\n  undefined *puStack_4c0;\n  char *pcStack_4bc;\n  int iStack_4b8;\n  int iStack_47c;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  int iStack_268;\n  undefined4 *puStack_264;\n  undefined *puStack_260;\n  int iStack_25c;\n  undefined *puStack_258;\n  char *pcStack_254;\n  int iStack_250;\n  undefined4 local_228;\n  char local_224;\n  char local_223;\n  int local_24;\n  \n  puVar25 = PTR___stack_chk_guard_000adcd4;\n  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;\n  if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }\n  puVar14 = PTR_DAT_000ad2c8 + -0x5374;\n  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;\n  puVar30 = PTR___assert_fail_000adb00;\n  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);\n  piVar27 = *(int **)(puVar30 + 0x8818c);\n  puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  puStack_260 = puVar25;\n  iStack_26c = *piVar27;\n  iStack_268 = param_1;\n  puStack_264 = puVar24;\n  iStack_25c = unaff_s3;\n  puStack_258 = unaff_s4;\n  pcStack_254 = unaff_s5;\n  iStack_250 = unaff_s6;\n  if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }\n  puVar25 = unaff_s4;\n  if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }\n  if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }\n  puVar24 = (undefined4 *)0x1;\nLAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }\n  return puVar24;\n}" (type_identifier "undefined4") (pointer_declarator "* proxy_socks4_negotiate(int param_1,int param_2)" (* "*") (function_declarator "proxy_socks4_negotiate(int param_1,int param_2)" (identifier "proxy_socks4_negotiate") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")")))) (compound_statement "{\n  byte bVar1;\n  char cVar10;\n  char *pcVar2;\n  char *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  byte *pbVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  int *piVar19;\n  byte *pbVar20;\n  undefined1 *puVar21;\n  undefined1 uVar23;\n  byte *pbVar22;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  undefined1 uVar26;\n  int unaff_s3;\n  int *piVar27;\n  undefined *unaff_s4;\n  int iVar28;\n  char *unaff_s5;\n  int unaff_s6;\n  int iVar29;\n  undefined *puVar30;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar31;\n  code *pcVar32;\n  int iVar33;\n  int iVar34;\n  int iStack_534;\n  undefined1 auStack_514 [64];\n  int iStack_4d4;\n  undefined1 *puStack_4d0;\n  undefined *puStack_4cc;\n  undefined *puStack_4c8;\n  int *piStack_4c4;\n  undefined *puStack_4c0;\n  char *pcStack_4bc;\n  int iStack_4b8;\n  int iStack_47c;\n  char cStack_478;\n  char cStack_477;\n  char cStack_475;\n  byte bStack_474;\n  undefined4 uStack_470;\n  undefined4 uStack_46c;\n  undefined4 uStack_468;\n  undefined2 uStack_464;\n  int iStack_26c;\n  int iStack_268;\n  undefined4 *puStack_264;\n  undefined *puStack_260;\n  int iStack_25c;\n  undefined *puStack_258;\n  char *pcStack_254;\n  int iStack_250;\n  undefined4 local_228;\n  char local_224;\n  char local_223;\n  int local_24;\n  \n  puVar25 = PTR___stack_chk_guard_000adcd4;\n  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;\n  if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }\n  puVar14 = PTR_DAT_000ad2c8 + -0x5374;\n  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;\n  puVar30 = PTR___assert_fail_000adb00;\n  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);\n  piVar27 = *(int **)(puVar30 + 0x8818c);\n  puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  puStack_260 = puVar25;\n  iStack_26c = *piVar27;\n  iStack_268 = param_1;\n  puStack_264 = puVar24;\n  iStack_25c = unaff_s3;\n  puStack_258 = unaff_s4;\n  pcStack_254 = unaff_s5;\n  iStack_250 = unaff_s6;\n  if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }\n  if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }\n  if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }\n  puVar25 = unaff_s4;\n  if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }\n  if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }\n  puVar24 = (undefined4 *)0x1;\nLAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }\n  return puVar24;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "char cVar10;" (primitive_type "char") (identifier "cVar10") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined *puVar12;" (type_identifier "undefined") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "byte *pbVar16;" (type_identifier "byte") (pointer_declarator "*pbVar16" (* "*") (identifier "pbVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined4 *puVar18;" (type_identifier "undefined4") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "undefined1 *puVar21;" (type_identifier "undefined1") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined1 uVar23;" (type_identifier "undefined1") (identifier "uVar23") (; ";")) (declaration "byte *pbVar22;" (type_identifier "byte") (pointer_declarator "*pbVar22" (* "*") (identifier "pbVar22")) (; ";")) (declaration "undefined4 *puVar24;" (type_identifier "undefined4") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "undefined *puVar25;" (type_identifier "undefined") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "undefined1 uVar26;" (type_identifier "undefined1") (identifier "uVar26") (; ";")) (declaration "int unaff_s3;" (primitive_type "int") (identifier "unaff_s3") (; ";")) (declaration "int *piVar27;" (primitive_type "int") (pointer_declarator "*piVar27" (* "*") (identifier "piVar27")) (; ";")) (declaration "undefined *unaff_s4;" (type_identifier "undefined") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "char *unaff_s5;" (primitive_type "char") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "int unaff_s6;" (primitive_type "int") (identifier "unaff_s6") (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "undefined *puVar30;" (type_identifier "undefined") (pointer_declarator "*puVar30" (* "*") (identifier "puVar30")) (; ";")) (declaration "code *UNRECOVERED_JUMPTABLE;" (type_identifier "code") (pointer_declarator "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) (; ";")) (declaration "code *pcVar31;" (type_identifier "code") (pointer_declarator "*pcVar31" (* "*") (identifier "pcVar31")) (; ";")) (declaration "code *pcVar32;" (type_identifier "code") (pointer_declarator "*pcVar32" (* "*") (identifier "pcVar32")) (; ";")) (declaration "int iVar33;" (primitive_type "int") (identifier "iVar33") (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "int iStack_534;" (primitive_type "int") (identifier "iStack_534") (; ";")) (declaration "undefined1 auStack_514 [64];" (type_identifier "undefined1") (array_declarator "auStack_514 [64]" (identifier "auStack_514") ([ "[") (number_literal "64") (] "]")) (; ";")) (declaration "int iStack_4d4;" (primitive_type "int") (identifier "iStack_4d4") (; ";")) (declaration "undefined1 *puStack_4d0;" (type_identifier "undefined1") (pointer_declarator "*puStack_4d0" (* "*") (identifier "puStack_4d0")) (; ";")) (declaration "undefined *puStack_4cc;" (type_identifier "undefined") (pointer_declarator "*puStack_4cc" (* "*") (identifier "puStack_4cc")) (; ";")) (declaration "undefined *puStack_4c8;" (type_identifier "undefined") (pointer_declarator "*puStack_4c8" (* "*") (identifier "puStack_4c8")) (; ";")) (declaration "int *piStack_4c4;" (primitive_type "int") (pointer_declarator "*piStack_4c4" (* "*") (identifier "piStack_4c4")) (; ";")) (declaration "undefined *puStack_4c0;" (type_identifier "undefined") (pointer_declarator "*puStack_4c0" (* "*") (identifier "puStack_4c0")) (; ";")) (declaration "char *pcStack_4bc;" (primitive_type "char") (pointer_declarator "*pcStack_4bc" (* "*") (identifier "pcStack_4bc")) (; ";")) (declaration "int iStack_4b8;" (primitive_type "int") (identifier "iStack_4b8") (; ";")) (declaration "int iStack_47c;" (primitive_type "int") (identifier "iStack_47c") (; ";")) (declaration "char cStack_478;" (primitive_type "char") (identifier "cStack_478") (; ";")) (declaration "char cStack_477;" (primitive_type "char") (identifier "cStack_477") (; ";")) (declaration "char cStack_475;" (primitive_type "char") (identifier "cStack_475") (; ";")) (declaration "byte bStack_474;" (type_identifier "byte") (identifier "bStack_474") (; ";")) (declaration "undefined4 uStack_470;" (type_identifier "undefined4") (identifier "uStack_470") (; ";")) (declaration "undefined4 uStack_46c;" (type_identifier "undefined4") (identifier "uStack_46c") (; ";")) (declaration "undefined4 uStack_468;" (type_identifier "undefined4") (identifier "uStack_468") (; ";")) (declaration "undefined2 uStack_464;" (type_identifier "undefined2") (identifier "uStack_464") (; ";")) (declaration "int iStack_26c;" (primitive_type "int") (identifier "iStack_26c") (; ";")) (declaration "int iStack_268;" (primitive_type "int") (identifier "iStack_268") (; ";")) (declaration "undefined4 *puStack_264;" (type_identifier "undefined4") (pointer_declarator "*puStack_264" (* "*") (identifier "puStack_264")) (; ";")) (declaration "undefined *puStack_260;" (type_identifier "undefined") (pointer_declarator "*puStack_260" (* "*") (identifier "puStack_260")) (; ";")) (declaration "int iStack_25c;" (primitive_type "int") (identifier "iStack_25c") (; ";")) (declaration "undefined *puStack_258;" (type_identifier "undefined") (pointer_declarator "*puStack_258" (* "*") (identifier "puStack_258")) (; ";")) (declaration "char *pcStack_254;" (primitive_type "char") (pointer_declarator "*pcStack_254" (* "*") (identifier "pcStack_254")) (; ";")) (declaration "int iStack_250;" (primitive_type "int") (identifier "iStack_250") (; ";")) (declaration "undefined4 local_228;" (type_identifier "undefined4") (identifier "local_228") (; ";")) (declaration "char local_224;" (primitive_type "char") (identifier "local_224") (; ";")) (declaration "char local_223;" (primitive_type "char") (identifier "local_223") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (expression_statement "puVar25 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar25 = PTR___stack_chk_guard_000adcd4" (identifier "puVar25") (= "=") (identifier "PTR___stack_chk_guard_000adcd4")) (; ";")) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000adcd4" (identifier "local_24") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000adcd4")))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x44) == -1) {\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }\n  else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x44) == -1)" (( "(") (binary_expression "*(int *)(param_1 + 0x44) == -1" (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    puVar24 = (undefined4 *)0x1;\n    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));\n    if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }\n    if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }\n  }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));" (assignment_expression "iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10))" (identifier "iVar29") (= "=") (call_expression "(*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10))" (parenthesized_expression "(*(code *)PTR_sk_addrtype_000ad558)" (( "(") (pointer_expression "*(code *)PTR_sk_addrtype_000ad558" (* "*") (cast_expression "(code *)PTR_sk_addrtype_000ad558" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sk_addrtype_000ad558"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar29 == 2) {\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;\n      goto LAB_000257e8;\n    }" ({ "{") (expression_statement "*(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;" (assignment_expression "*(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8" (pointer_expression "*(undefined **)(param_1 + 4)" (* "*") (cast_expression "(undefined **)(param_1 + 4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "PTR_DAT_000ad2c8 + -0x52f8" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x52f8"))) (; ";")) (goto_statement "goto LAB_000257e8;" (goto "goto") (statement_identifier "LAB_000257e8") (; ";")) (} "}"))) (if_statement "if (iVar29 == 1) {\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }" (if "if") (parenthesized_expression "(iVar29 == 1)" (( "(") (binary_expression "iVar29 == 1" (identifier "iVar29") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      unaff_s6 = 0;\n      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);\nLAB_000258a4:\n      unaff_s5 = &local_224;\n      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);\n      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);\n      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);\n      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);\n      *puVar21 = 4;\n      puVar21[1] = 1;\n      puVar30 = PTR_strlen_000adc28;\n      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);\n      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);\n      *(undefined4 *)(puVar21 + 4) = local_228;\n      iVar29 = (*(code *)puVar30)(unaff_s3);\n      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);\n      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);\n      safefree(unaff_s3);\n      puVar24 = (undefined4 *)0x0;\n      safefree(puVar21);\n      *(undefined4 *)(param_1 + 0x44) = 1;\n      goto LAB_000257e8;\n    }" ({ "{") (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" (identifier "unaff_s6") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);" (call_expression "(*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228)" (parenthesized_expression "(*(code *)PTR_sk_addrcopy_000ad55c)" (( "(") (pointer_expression "*(code *)PTR_sk_addrcopy_000ad55c" (* "*") (cast_expression "(code *)PTR_sk_addrcopy_000ad55c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sk_addrcopy_000ad55c"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x10),&local_228)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "&local_228" (& "&") (identifier "local_228")) () ")"))) (; ";")) (labeled_statement "LAB_000258a4:\n      unaff_s5 = &local_224;" (statement_identifier "LAB_000258a4") (: ":") (expression_statement "unaff_s5 = &local_224;" (assignment_expression "unaff_s5 = &local_224" (identifier "unaff_s5") (= "=") (pointer_expression "&local_224" (& "&") (identifier "local_224"))) (; ";"))) (expression_statement "unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);" (assignment_expression "unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10)" (identifier "unaff_s3") (= "=") (call_expression "conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10)" (identifier "conf_get_str") (argument_list "(*(undefined4 *)(param_1 + 0x74),0x10)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x74)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")")))) (, ",") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3)" (identifier "iVar29") (= "=") (call_expression "(*(code *)PTR_strlen_000adc28)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_000adc28)" (( "(") (pointer_expression "*(code *)PTR_strlen_000adc28" (* "*") (cast_expression "(code *)PTR_strlen_000adc28" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000adc28"))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")")))) (; ";")) (expression_statement "unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);" (assignment_expression "unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9)" (identifier "unaff_s4") (= "=") (cast_expression "(undefined *)(iVar29 + unaff_s6 + 9)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + unaff_s6 + 9)" (( "(") (binary_expression "iVar29 + unaff_s6 + 9" (binary_expression "iVar29 + unaff_s6" (identifier "iVar29") (+ "+") (identifier "unaff_s6")) (+ "+") (number_literal "9")) () ")")))) (; ";")) (expression_statement "puVar21 = (undefined1 *)safemalloc(unaff_s4,1);" (assignment_expression "puVar21 = (undefined1 *)safemalloc(unaff_s4,1)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)safemalloc(unaff_s4,1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(unaff_s4,1)" (identifier "safemalloc") (argument_list "(unaff_s4,1)" (( "(") (identifier "unaff_s4") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);" (call_expression "(*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3)" (parenthesized_expression "(*(code *)PTR_strcpy_000adc74)" (( "(") (pointer_expression "*(code *)PTR_strcpy_000adc74" (* "*") (cast_expression "(code *)PTR_strcpy_000adc74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_000adc74"))) () ")")) (argument_list "(puVar21 + 8,unaff_s3)" (( "(") (binary_expression "puVar21 + 8" (identifier "puVar21") (+ "+") (number_literal "8")) (, ",") (identifier "unaff_s3") () ")"))) (; ";")) (expression_statement "*puVar21 = 4;" (assignment_expression "*puVar21 = 4" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (number_literal "4")) (; ";")) (expression_statement "puVar21[1] = 1;" (assignment_expression "puVar21[1] = 1" (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar30 = PTR_strlen_000adc28;" (assignment_expression "puVar30 = PTR_strlen_000adc28" (identifier "puVar30") (= "=") (identifier "PTR_strlen_000adc28")) (; ";")) (expression_statement "puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);" (assignment_expression "puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" (subscript_expression "puVar21[2]" (identifier "puVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)*(undefined4 *)(param_1 + 0x14) >> 8)" (( "(") (binary_expression "(uint)*(undefined4 *)(param_1 + 0x14) >> 8" (binary_expression "(uint)*(undefined4 *)(param_1 + 0x14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);" (assignment_expression "puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14)" (subscript_expression "puVar21[3]" (identifier "puVar21") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(char)*(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + 4) = local_228;" (assignment_expression "*(undefined4 *)(puVar21 + 4) = local_228" (pointer_expression "*(undefined4 *)(puVar21 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar21 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 4)" (( "(") (binary_expression "puVar21 + 4" (identifier "puVar21") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "local_228")) (; ";")) (expression_statement "iVar29 = (*(code *)puVar30)(unaff_s3);" (assignment_expression "iVar29 = (*(code *)puVar30)(unaff_s3)" (identifier "iVar29") (= "=") (call_expression "(*(code *)puVar30)(unaff_s3)" (parenthesized_expression "(*(code *)puVar30)" (( "(") (pointer_expression "*(code *)puVar30" (* "*") (cast_expression "(code *)puVar30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar30"))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);" (call_expression "(*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_memcpy_000adcd8)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000adcd8" (* "*") (cast_expression "(code *)PTR_memcpy_000adcd8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000adcd8"))) () ")")) (argument_list "(puVar21 + iVar29 + 9,unaff_s5,unaff_s6)" (( "(") (binary_expression "puVar21 + iVar29 + 9" (binary_expression "puVar21 + iVar29" (identifier "puVar21") (+ "+") (identifier "iVar29")) (+ "+") (number_literal "9")) (, ",") (identifier "unaff_s5") (, ",") (identifier "unaff_s6") () ")"))) (; ";")) (expression_statement "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);" (call_expression "(**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 8) + 8))" (( "(") (pointer_expression "**(code **)(**(int **)(param_1 + 8) + 8)" (* "*") (pointer_expression "*(code **)(**(int **)(param_1 + 8) + 8)" (* "*") (cast_expression "(code **)(**(int **)(param_1 + 8) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 8) + 8)" (( "(") (binary_expression "**(int **)(param_1 + 8) + 8" (pointer_expression "**(int **)(param_1 + 8)" (* "*") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(*(int **)(param_1 + 8),puVar21,unaff_s4)" (( "(") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "puVar21") (, ",") (identifier "unaff_s4") () ")"))) (; ";")) (expression_statement "safefree(unaff_s3);" (call_expression "safefree(unaff_s3)" (identifier "safefree") (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "safefree(puVar21);" (call_expression "safefree(puVar21)" (identifier "safefree") (argument_list "(puVar21)" (( "(") (identifier "puVar21") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x44) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x44) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x44)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000257e8;" (goto "goto") (statement_identifier "LAB_000257e8") (; ";")) (} "}"))) (if_statement "if (iVar29 == 3) {\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }" (if "if") (parenthesized_expression "(iVar29 == 3)" (( "(") (binary_expression "iVar29 == 3" (identifier "iVar29") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);\n      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);\n      unaff_s6 = iVar29 + 1;\n      local_228 = 1;\n      goto LAB_000258a4;\n    }" ({ "{") (expression_statement "(*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);" (call_expression "(*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200)" (parenthesized_expression "(*(code *)PTR_sk_getaddr_000ad404)" (( "(") (pointer_expression "*(code *)PTR_sk_getaddr_000ad404" (* "*") (cast_expression "(code *)PTR_sk_getaddr_000ad404" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sk_getaddr_000ad404"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x10),&local_224,0x200)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "&local_224" (& "&") (identifier "local_224")) (, ",") (number_literal "0x200") () ")"))) (; ";")) (expression_statement "iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224)" (identifier "iVar29") (= "=") (call_expression "(*(code *)PTR_strlen_000adc28)(&local_224)" (parenthesized_expression "(*(code *)PTR_strlen_000adc28)" (( "(") (pointer_expression "*(code *)PTR_strlen_000adc28" (* "*") (cast_expression "(code *)PTR_strlen_000adc28" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000adc28"))) () ")")) (argument_list "(&local_224)" (( "(") (pointer_expression "&local_224" (& "&") (identifier "local_224")) () ")")))) (; ";")) (expression_statement "unaff_s6 = iVar29 + 1;" (assignment_expression "unaff_s6 = iVar29 + 1" (identifier "unaff_s6") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_228 = 1;" (assignment_expression "local_228 = 1" (identifier "local_228") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000258a4;" (goto "goto") (statement_identifier "LAB_000258a4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" (else "else") (compound_statement "{\n    if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }\nLAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }\n    (*(code *)PTR___stack_chk_fail_000adca4)();\n  }" ({ "{") (if_statement "if (param_2 == 0) {\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }\n    else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar24 = (undefined4 *)0x0;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));\n    }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58))" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" (* "*") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),\n                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58))" (( "(") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x50)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x54)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x58)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" (else "else") (if_statement "if (param_2 == 1) {\n      puVar24 = (undefined4 *)0x0;\n    }\n    else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" (if "if") (parenthesized_expression "(param_2 == 1)" (( "(") (binary_expression "param_2 == 1" (identifier "param_2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      puVar24 = (undefined4 *)0x0;\n    }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" (else "else") (if_statement "if (param_2 == 3) {\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }\n    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" (if "if") (parenthesized_expression "(param_2 == 3)" (( "(") (binary_expression "param_2 == 3" (identifier "param_2") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));\n    }" ({ "{") (expression_statement "puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70));" (assignment_expression "puVar24 = (undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)\n                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 0x10))\n                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 0x10))" (( "(") (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 0x10)" (* "*") (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 0x10)" (* "*") (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 0xc) + 0x10)" (( "(") (binary_expression "**(int **)(param_1 + 0xc) + 0x10" (pointer_expression "**(int **)(param_1 + 0xc)" (* "*") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),\n                           *(undefined4 *)(param_1 + 0x70))" (( "(") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x70)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))) () ")"))))) (; ";")) (} "}")) (else_clause "else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" (else "else") (if_statement "if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }\n    else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" (if "if") (parenthesized_expression "((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1))" (( "(") (binary_expression "(param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)" (parenthesized_expression "(param_2 == 2)" (( "(") (binary_expression "param_2 == 2" (identifier "param_2") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x44) == 1)" (( "(") (binary_expression "*(int *)(param_1 + 0x44) == 1" (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      unaff_s3 = param_1 + 0x34;\n      iVar29 = bufchain_size(unaff_s3);\n      puVar24 = (undefined4 *)0x1;\n      if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }\n    }" ({ "{") (expression_statement "unaff_s3 = param_1 + 0x34;" (assignment_expression "unaff_s3 = param_1 + 0x34" (identifier "unaff_s3") (= "=") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34"))) (; ";")) (expression_statement "iVar29 = bufchain_size(unaff_s3);" (assignment_expression "iVar29 = bufchain_size(unaff_s3)" (identifier "iVar29") (= "=") (call_expression "bufchain_size(unaff_s3)" (identifier "bufchain_size") (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")")))) (; ";")) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (7 < iVar29) {\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }" (if "if") (parenthesized_expression "(7 < iVar29)" (( "(") (binary_expression "7 < iVar29" (number_literal "7") (< "<") (identifier "iVar29")) () ")")) (compound_statement "{\n        bufchain_fetch(unaff_s3,&local_224,8);\n        if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }\n      }" ({ "{") (expression_statement "bufchain_fetch(unaff_s3,&local_224,8);" (call_expression "bufchain_fetch(unaff_s3,&local_224,8)" (identifier "bufchain_fetch") (argument_list "(unaff_s3,&local_224,8)" (( "(") (identifier "unaff_s3") (, ",") (pointer_expression "&local_224" (& "&") (identifier "local_224")) (, ",") (number_literal "8") () ")"))) (; ";")) (if_statement "if (local_224 == '\0') {\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }\n        else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" (if "if") (parenthesized_expression "(local_224 == '\0')" (( "(") (binary_expression "local_224 == '\0'" (identifier "local_224") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }\n        }" ({ "{") (if_statement "if (local_223 == 'Z') {\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }\n          else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" (if "if") (parenthesized_expression "(local_223 == 'Z')" (( "(") (binary_expression "local_223 == 'Z'" (identifier "local_223") (== "==") (char_literal "'Z'" (' "'") (character "Z") (' "'"))) () ")")) (compound_statement "{\n            bufchain_consume(unaff_s3,8);\n            proxy_activate(param_1);\n          }" ({ "{") (expression_statement "bufchain_consume(unaff_s3,8);" (call_expression "bufchain_consume(unaff_s3,8)" (identifier "bufchain_consume") (argument_list "(unaff_s3,8)" (( "(") (identifier "unaff_s3") (, ",") (number_literal "8") () ")"))) (; ";")) (expression_statement "proxy_activate(param_1);" (call_expression "proxy_activate(param_1)" (identifier "proxy_activate") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" (else "else") (compound_statement "{\n            piVar27 = *(int **)(param_1 + 0xc);\n            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);\n            if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }\n          }" ({ "{") (expression_statement "piVar27 = *(int **)(param_1 + 0xc);" (assignment_expression "piVar27 = *(int **)(param_1 + 0xc)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(*piVar27 + 4)" (* "*") (cast_expression "(code **)(*piVar27 + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar27 + 4)" (( "(") (binary_expression "*piVar27 + 4" (pointer_expression "*piVar27" (* "*") (identifier "piVar27")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (local_223 == '\\') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }\n            else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" (if "if") (parenthesized_expression "(local_223 == '\\')" (( "(") (binary_expression "local_223 == '\\'" (identifier "local_223") (== "==") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);\n            }" ({ "{") (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0)" (( "(") (identifier "piVar27") (, ",") (binary_expression "PTR_DAT_000ad2c8 + -0x5264" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x5264")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" (else "else") (if_statement "if (local_223 == ']') {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }\n            else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" (if "if") (parenthesized_expression "(local_223 == ']')" (( "(") (binary_expression "local_223 == ']'" (identifier "local_223") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);\n            }" ({ "{") (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0)" (( "(") (identifier "piVar27") (, ",") (binary_expression "PTR_DAT_000ad2c8 + -0x5230" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x5230")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" (else "else") (compound_statement "{\n              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);\n            }" ({ "{") (expression_statement "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);" (call_expression "(*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000)" (( "(") (identifier "piVar27") (, ",") (binary_expression "PTR_DAT_000ad2c8 + -0x51f8" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x51f8")) (, ",") (number_literal "8000") () ")"))) (; ";")) (} "}")))))) (} "}")))) (} "}")) (else_clause "else {\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" (else "else") (compound_statement "{\n          (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);\n        }" ({ "{") (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" (* "*") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0)" (( "(") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "PTR_DAT_000ad2c8 + -0x52ac" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x52ac")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" (else "else") (compound_statement "{\n      puVar24 = (undefined4 *)0x1;\n      (**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);\n    }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);" (call_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))\n                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0)" (parenthesized_expression "(**(code **)(**(int **)(param_1 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(param_1 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(param_1 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(param_1 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(param_1 + 0xc) + 4" (pointer_expression "**(int **)(param_1 + 0xc)" (* "*") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0)" (( "(") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "PTR_DAT_000ad2c8 + -0x531c" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x531c")) (, ",") (number_literal "0x1f41") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))))))))) (labeled_statement "LAB_000257e8:\n    if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }" (statement_identifier "LAB_000257e8") (: ":") (if_statement "if (local_24 == *(int *)puVar25) {\n      return puVar24;\n    }" (if "if") (parenthesized_expression "(local_24 == *(int *)puVar25)" (( "(") (binary_expression "local_24 == *(int *)puVar25" (identifier "local_24") (== "==") (pointer_expression "*(int *)puVar25" (* "*") (cast_expression "(int *)puVar25" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar25")))) () ")")) (compound_statement "{\n      return puVar24;\n    }" ({ "{") (return_statement "return puVar24;" (return "return") (identifier "puVar24") (; ";")) (} "}")))) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000adca4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000adca4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar14 = PTR_DAT_000ad2c8 + -0x5374;" (assignment_expression "puVar14 = PTR_DAT_000ad2c8 + -0x5374" (identifier "puVar14") (= "=") (binary_expression "PTR_DAT_000ad2c8 + -0x5374" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x5374"))) (; ";")) (expression_statement "puVar12 = PTR_DAT_000ad2c8 + -0x52c4;" (assignment_expression "puVar12 = PTR_DAT_000ad2c8 + -0x52c4" (identifier "puVar12") (= "=") (binary_expression "PTR_DAT_000ad2c8 + -0x52c4" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x52c4"))) (; ";")) (expression_statement "puVar30 = PTR___assert_fail_000adb00;" (assignment_expression "puVar30 = PTR___assert_fail_000adb00" (identifier "puVar30") (= "=") (identifier "PTR___assert_fail_000adb00")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);" (call_expression "(*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8)" (parenthesized_expression "(*(code *)PTR___assert_fail_000adb00)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000adb00" (* "*") (cast_expression "(code *)PTR___assert_fail_000adb00" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000adb00"))) () ")")) (argument_list "(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8)" (( "(") (identifier "puVar12") (, ",") (identifier "puVar14") (, ",") (number_literal "0x32a") (, ",") (binary_expression "PTR_DAT_000ad2c8 + -0x4ce8" (identifier "PTR_DAT_000ad2c8") (+ "+") (number_literal "-0x4ce8")) () ")"))) (; ";")) (expression_statement "piVar27 = *(int **)(puVar30 + 0x8818c);" (assignment_expression "piVar27 = *(int **)(puVar30 + 0x8818c)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)(puVar30 + 0x8818c)" (* "*") (cast_expression "(int **)(puVar30 + 0x8818c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x8818c)" (( "(") (binary_expression "puVar30 + 0x8818c" (identifier "puVar30") (+ "+") (number_literal "0x8818c")) () ")"))))) (; ";")) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" (identifier "puVar21") (= "=") (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined1 **)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "puStack_260 = puVar25;" (assignment_expression "puStack_260 = puVar25" (identifier "puStack_260") (= "=") (identifier "puVar25")) (; ";")) (expression_statement "iStack_26c = *piVar27;" (assignment_expression "iStack_26c = *piVar27" (identifier "iStack_26c") (= "=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";")) (expression_statement "iStack_268 = param_1;" (assignment_expression "iStack_268 = param_1" (identifier "iStack_268") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puStack_264 = puVar24;" (assignment_expression "puStack_264 = puVar24" (identifier "puStack_264") (= "=") (identifier "puVar24")) (; ";")) (expression_statement "iStack_25c = unaff_s3;" (assignment_expression "iStack_25c = unaff_s3" (identifier "iStack_25c") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "puStack_258 = unaff_s4;" (assignment_expression "puStack_258 = unaff_s4" (identifier "puStack_258") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pcStack_254 = unaff_s5;" (assignment_expression "pcStack_254 = unaff_s5" (identifier "pcStack_254") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "iStack_250 = unaff_s6;" (assignment_expression "iStack_250 = unaff_s6" (identifier "iStack_250") (= "=") (identifier "unaff_s6")) (; ";")) (if_statement "if (puVar21 == (undefined1 *)0xffffffff) {\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }" (if "if") (parenthesized_expression "(puVar21 == (undefined1 *)0xffffffff)" (( "(") (binary_expression "puVar21 == (undefined1 *)0xffffffff" (identifier "puVar21") (== "==") (cast_expression "(undefined1 *)0xffffffff" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n    uStack_470 = CONCAT13(5,uStack_470._1_3_);\n    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n    uVar13 = uStack_470;\n    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);\n    *(undefined4 *)(puVar12 + 0x44) = 1;\n    goto LAB_00025bf4;\n  }" ({ "{") (expression_statement "uStack_470 = CONCAT13(5,uStack_470._1_3_);" (assignment_expression "uStack_470 = CONCAT13(5,uStack_470._1_3_)" (identifier "uStack_470") (= "=") (call_expression "CONCAT13(5,uStack_470._1_3_)" (identifier "CONCAT13") (argument_list "(5,uStack_470._1_3_)" (( "(") (number_literal "5") (, ",") (field_expression "uStack_470._1_3_" (identifier "uStack_470") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";")) (expression_statement "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);" (assignment_expression "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" (identifier "pcVar2") (= "=") (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" (identifier "conf_get_str") (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x10)" (( "(") (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x74)" (( "(") (binary_expression "puVar12 + 0x74" (identifier "puVar12") (+ "+") (number_literal "0x74")) () ")")))) (, ",") (number_literal "0x10") () ")"))))) (; ";")) (expression_statement "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);" (assignment_expression "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" (identifier "pcVar3") (= "=") (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" (identifier "conf_get_str") (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x11)" (( "(") (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x74)" (( "(") (binary_expression "puVar12 + 0x74" (identifier "puVar12") (+ "+") (number_literal "0x74")) () ")")))) (, ",") (number_literal "0x11") () ")"))))) (; ";")) (expression_statement "uVar13 = uStack_470;" (assignment_expression "uVar13 = uStack_470" (identifier "uVar13") (= "=") (identifier "uStack_470")) (; ";")) (if_statement "if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }\n    else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" (if "if") (parenthesized_expression "((*pcVar2 == '\0') && (*pcVar3 == '\0'))" (( "(") (binary_expression "(*pcVar2 == '\0') && (*pcVar3 == '\0')" (parenthesized_expression "(*pcVar2 == '\0')" (( "(") (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*pcVar3 == '\0')" (( "(") (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      uStack_470._0_1_ = SUB41(uVar13,3);\n      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);\n      iStack_47c = 3;\n    }" ({ "{") (expression_statement "uStack_470._2_2_ = (ushort)(byte)uStack_470;" (assignment_expression "uStack_470._2_2_ = (ushort)(byte)uStack_470" (field_expression "uStack_470._2_2_" (identifier "uStack_470") (. ".") (field_identifier "_2_2_")) (= "=") (cast_expression "(ushort)(byte)uStack_470" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (cast_expression "(byte)uStack_470" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_470")))) (; ";")) (expression_statement "uStack_470._0_1_ = SUB41(uVar13,3);" (assignment_expression "uStack_470._0_1_ = SUB41(uVar13,3)" (field_expression "uStack_470._0_1_" (identifier "uStack_470") (. ".") (field_identifier "_0_1_")) (= "=") (call_expression "SUB41(uVar13,3)" (identifier "SUB41") (argument_list "(uVar13,3)" (( "(") (identifier "uVar13") (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" (identifier "uStack_470") (. ".") (field_identifier "_1_3_")) (= "=") (call_expression "CONCAT12(1,uStack_470._2_2_)" (identifier "CONCAT12") (argument_list "(1,uStack_470._2_2_)" (( "(") (number_literal "1") (, ",") (field_expression "uStack_470._2_2_" (identifier "uStack_470") (. ".") (field_identifier "_2_2_")) () ")")))) (; ";")) (expression_statement "iStack_47c = 3;" (assignment_expression "iStack_47c = 3" (identifier "iStack_47c") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" (else "else") (compound_statement "{\n      uStack_470._2_2_ = (ushort)(byte)uStack_470;\n      iStack_47c = 3;\n      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);\n      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;\n      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);\n      iStack_47c = iStack_47c + 1;\n    }" ({ "{") (expression_statement "uStack_470._2_2_ = (ushort)(byte)uStack_470;" (assignment_expression "uStack_470._2_2_ = (ushort)(byte)uStack_470" (field_expression "uStack_470._2_2_" (identifier "uStack_470") (. ".") (field_identifier "_2_2_")) (= "=") (cast_expression "(ushort)(byte)uStack_470" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (cast_expression "(byte)uStack_470" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_470")))) (; ";")) (expression_statement "iStack_47c = 3;" (assignment_expression "iStack_47c = 3" (identifier "iStack_47c") (= "=") (number_literal "3")) (; ";")) (expression_statement "proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);" (call_expression "proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c)" (identifier "proxy_socks5_offerencryptedauth") (argument_list "(&uStack_470,&iStack_47c)" (( "(") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470")) (, ",") (pointer_expression "&iStack_47c" (& "&") (identifier "iStack_47c")) () ")"))) (; ";")) (expression_statement "*(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;" (assignment_expression "*(undefined1 *)((int)&uStack_470 + iStack_47c) = 2" (pointer_expression "*(undefined1 *)((int)&uStack_470 + iStack_47c)" (* "*") (cast_expression "(undefined1 *)((int)&uStack_470 + iStack_47c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_470 + iStack_47c)" (( "(") (binary_expression "(int)&uStack_470 + iStack_47c" (cast_expression "(int)&uStack_470" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470"))) (+ "+") (identifier "iStack_47c")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" (identifier "uStack_470") (. ".") (field_identifier "_1_3_")) (= "=") (call_expression "CONCAT12((char)iStack_47c + -1,uStack_470._2_2_)" (identifier "CONCAT12") (argument_list "((char)iStack_47c + -1,uStack_470._2_2_)" (( "(") (binary_expression "(char)iStack_47c + -1" (cast_expression "(char)iStack_47c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iStack_47c")) (+ "+") (number_literal "-1")) (, ",") (field_expression "uStack_470._2_2_" (identifier "uStack_470") (. ".") (field_identifier "_2_2_")) () ")")))) (; ";")) (expression_statement "iStack_47c = iStack_47c + 1;" (assignment_expression "iStack_47c = iStack_47c + 1" (identifier "iStack_47c") (= "=") (binary_expression "iStack_47c + 1" (identifier "iStack_47c") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);" (call_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 8) + 8)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 8) + 8)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 8) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 8) + 8)" (( "(") (binary_expression "**(int **)(puVar12 + 8) + 8" (pointer_expression "**(int **)(puVar12 + 8)" (* "*") (pointer_expression "*(int **)(puVar12 + 8)" (* "*") (cast_expression "(int **)(puVar12 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 8)" (( "(") (binary_expression "puVar12 + 8" (identifier "puVar12") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 8),&uStack_470,iStack_47c)" (( "(") (pointer_expression "*(int **)(puVar12 + 8)" (* "*") (cast_expression "(int **)(puVar12 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 8)" (( "(") (binary_expression "puVar12 + 8" (identifier "puVar12") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470")) (, ",") (identifier "iStack_47c") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 1;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 1" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if (puVar14 == (undefined *)0x0) {\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }" (if "if") (parenthesized_expression "(puVar14 == (undefined *)0x0)" (( "(") (binary_expression "puVar14 == (undefined *)0x0" (identifier "puVar14") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));\n    goto LAB_00025bf4;\n  }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58))" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),\n               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58))" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(puVar12 + 0x50)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x50)" (( "(") (binary_expression "puVar12 + 0x50" (identifier "puVar12") (+ "+") (number_literal "0x50")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(puVar12 + 0x54)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x54)" (( "(") (binary_expression "puVar12 + 0x54" (identifier "puVar12") (+ "+") (number_literal "0x54")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(puVar12 + 0x58)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x58)" (( "(") (binary_expression "puVar12 + 0x58" (identifier "puVar12") (+ "+") (number_literal "0x58")) () ")")))) () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if (puVar14 == (undefined *)0x1) {\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }" (if "if") (parenthesized_expression "(puVar14 == (undefined *)0x1)" (( "(") (binary_expression "puVar14 == (undefined *)0x1" (identifier "puVar14") (== "==") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n    puVar24 = (undefined4 *)0x0;\n    goto LAB_00025bf4;\n  }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x0;" (assignment_expression "puVar24 = (undefined4 *)0x0" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if (puVar14 == (undefined *)0x3) {\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }" (if "if") (parenthesized_expression "(puVar14 == (undefined *)0x3)" (( "(") (binary_expression "puVar14 == (undefined *)0x3" (identifier "puVar14") (== "==") (cast_expression "(undefined *)0x3" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (compound_statement "{\n    puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));\n    goto LAB_00025bf4;\n  }" ({ "{") (expression_statement "puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70));" (assignment_expression "puVar24 = (undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)\n              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 0x10))\n                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 0x10))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 0x10)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 0x10)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 0x10)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 0x10" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),\n                         *(undefined4 *)(puVar12 + 0x70))" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(puVar12 + 0x6c)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x6c)" (( "(") (binary_expression "puVar12 + 0x6c" (identifier "puVar12") (+ "+") (number_literal "0x6c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(puVar12 + 0x70)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x70)" (( "(") (binary_expression "puVar12 + 0x70" (identifier "puVar12") (+ "+") (number_literal "0x70")) () ")")))) () ")"))))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if (puVar14 != (undefined *)0x2) {\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }" (if "if") (parenthesized_expression "(puVar14 != (undefined *)0x2)" (( "(") (binary_expression "puVar14 != (undefined *)0x2" (identifier "puVar14") (!= "!=") (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\nLAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);\n    goto LAB_00025bf4;\n  }" ({ "{") (labeled_statement "LAB_00025bc8:\n    puVar24 = (undefined4 *)0x1;" (statement_identifier "LAB_00025bc8") (: ":") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x51c4" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x51c4")) (, ",") (number_literal "0x1f41") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (expression_statement "puVar25 = unaff_s4;" (assignment_expression "puVar25 = unaff_s4" (identifier "puVar25") (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (puVar21 == (undefined1 *)0x1) {\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }" (if "if") (parenthesized_expression "(puVar21 == (undefined1 *)0x1)" (( "(") (binary_expression "puVar21 == (undefined1 *)0x1" (identifier "puVar21") (== "==") (cast_expression "(undefined1 *)0x1" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    puVar24 = (undefined4 *)0x1;\n    if (iVar29 < 2) goto LAB_00025bf4;\n    bufchain_fetch(puVar25,&uStack_470,2);\n    if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }\n    if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }\n    bufchain_consume(puVar25,2);\n    puVar21 = *(undefined1 **)(puVar12 + 0x44);\n  }" ({ "{") (expression_statement "puVar25 = puVar12 + 0x34;" (assignment_expression "puVar25 = puVar12 + 0x34" (identifier "puVar25") (= "=") (binary_expression "puVar12 + 0x34" (identifier "puVar12") (+ "+") (number_literal "0x34"))) (; ";")) (expression_statement "iVar29 = bufchain_size(puVar25);" (assignment_expression "iVar29 = bufchain_size(puVar25)" (identifier "iVar29") (= "=") (call_expression "bufchain_size(puVar25)" (identifier "bufchain_size") (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")")))) (; ";")) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (iVar29 < 2) goto LAB_00025bf4;" (if "if") (parenthesized_expression "(iVar29 < 2)" (( "(") (binary_expression "iVar29 < 2" (identifier "iVar29") (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";"))) (expression_statement "bufchain_fetch(puVar25,&uStack_470,2);" (call_expression "bufchain_fetch(puVar25,&uStack_470,2)" (identifier "bufchain_fetch") (argument_list "(puVar25,&uStack_470,2)" (( "(") (identifier "puVar25") (, ",") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470")) (, ",") (number_literal "2") () ")"))) (; ";")) (if_statement "if (uStack_470._0_1_ != '\x05') {\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }" (if "if") (parenthesized_expression "(uStack_470._0_1_ != '\x05')" (( "(") (binary_expression "uStack_470._0_1_ != '\x05'" (field_expression "uStack_470._0_1_" (identifier "uStack_470") (. ".") (field_identifier "_0_1_")) (!= "!=") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);\n      goto LAB_00025bf4;\n    }" ({ "{") (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x51a0" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x51a0")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if (uStack_470._1_1_ == '\0') {\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }\n    else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" (if "if") (parenthesized_expression "(uStack_470._1_1_ == '\0')" (( "(") (binary_expression "uStack_470._1_1_ == '\0'" (field_expression "uStack_470._1_1_" (identifier "uStack_470") (. ".") (field_identifier "_1_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 2;\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 2;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 2" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" (else "else") (if_statement "if (uStack_470._1_1_ == '\x01') {\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }\n    else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" (if "if") (parenthesized_expression "(uStack_470._1_1_ == '\x01')" (( "(") (binary_expression "uStack_470._1_1_ == '\x01'" (field_expression "uStack_470._1_1_" (identifier "uStack_470") (. ".") (field_identifier "_1_1_")) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 4;\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 4;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 4" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" (else "else") (if_statement "if (uStack_470._1_1_ == '\x02') {\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }\n    else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" (if "if") (parenthesized_expression "(uStack_470._1_1_ == '\x02')" (( "(") (binary_expression "uStack_470._1_1_ == '\x02'" (field_expression "uStack_470._1_1_" (identifier "uStack_470") (. ".") (field_identifier "_1_1_")) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar12 + 0x44) = 5;\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 5;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 5" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "5")) (; ";")) (} "}")) (else_clause "else {\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" (else "else") (compound_statement "{\n      if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }\n      *(undefined4 *)(puVar12 + 0x44) = 6;\n    }" ({ "{") (if_statement "if (uStack_470._1_1_ != '\x03') {\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }" (if "if") (parenthesized_expression "(uStack_470._1_1_ != '\x03')" (( "(") (binary_expression "uStack_470._1_1_ != '\x03'" (field_expression "uStack_470._1_1_" (identifier "uStack_470") (. ".") (field_identifier "_1_1_")) (!= "!=") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (compound_statement "{\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);\n        goto LAB_00025bf4;\n      }" ({ "{") (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x5168" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 6;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 6" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "6")) (; ";")) (} "}")))))))) (expression_statement "bufchain_consume(puVar25,2);" (call_expression "bufchain_consume(puVar25,2)" (identifier "bufchain_consume") (argument_list "(puVar25,2)" (( "(") (identifier "puVar25") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" (identifier "puVar21") (= "=") (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined1 **)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (puVar21 == (undefined1 *)0x7) {\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }\n  else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(puVar21 == (undefined1 *)0x7)" (( "(") (binary_expression "puVar21 == (undefined1 *)0x7" (identifier "puVar21") (== "==") (cast_expression "(undefined1 *)0x7" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7"))) () ")")) (compound_statement "{\n    puVar21 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar21);\n    if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }\n  }" ({ "{") (expression_statement "puVar21 = puVar12 + 0x34;" (assignment_expression "puVar21 = puVar12 + 0x34" (identifier "puVar21") (= "=") (binary_expression "puVar12 + 0x34" (identifier "puVar12") (+ "+") (number_literal "0x34"))) (; ";")) (expression_statement "iVar29 = bufchain_size(puVar21);" (assignment_expression "iVar29 = bufchain_size(puVar21)" (identifier "iVar29") (= "=") (call_expression "bufchain_size(puVar21)" (identifier "bufchain_size") (argument_list "(puVar21)" (( "(") (identifier "puVar21") () ")")))) (; ";")) (if_statement "if (1 < iVar29) {\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }" (if "if") (parenthesized_expression "(1 < iVar29)" (( "(") (binary_expression "1 < iVar29" (number_literal "1") (< "<") (identifier "iVar29")) () ")")) (compound_statement "{\n      bufchain_fetch(puVar21,&uStack_470,2);\n      if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }\n      (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);\n    }" ({ "{") (expression_statement "bufchain_fetch(puVar21,&uStack_470,2);" (call_expression "bufchain_fetch(puVar21,&uStack_470,2)" (identifier "bufchain_fetch") (argument_list "(puVar21,&uStack_470,2)" (( "(") (identifier "puVar21") (, ",") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470")) (, ",") (number_literal "2") () ")"))) (; ";")) (if_statement "if (uStack_470._0_1_ == '\x01') {\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }" (if "if") (parenthesized_expression "(uStack_470._0_1_ == '\x01')" (( "(") (binary_expression "uStack_470._0_1_ == '\x01'" (field_expression "uStack_470._0_1_" (identifier "uStack_470") (. ".") (field_identifier "_0_1_")) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n        if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }\n        bufchain_consume(puVar21,2);\n        *(undefined4 *)(puVar12 + 0x44) = 2;\n        goto LAB_00025f08;\n      }" ({ "{") (if_statement "if (uStack_470._1_1_ != '\0') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }" (if "if") (parenthesized_expression "(uStack_470._1_1_ != '\0')" (( "(") (binary_expression "uStack_470._1_1_ != '\0'" (field_expression "uStack_470._1_1_" (identifier "uStack_470") (. ".") (field_identifier "_1_1_")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);\n          goto LAB_00025bf4;\n        }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x50e0" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x50e0")) (, ",") (number_literal "8000") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (expression_statement "bufchain_consume(puVar21,2);" (call_expression "bufchain_consume(puVar21,2)" (identifier "bufchain_consume") (argument_list "(puVar21,2)" (( "(") (identifier "puVar21") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 2;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 2" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_00025f08;" (goto "goto") (statement_identifier "LAB_00025f08") (; ";")) (} "}"))) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x512c" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x512c")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }\n    if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }\n    if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }\n    puVar25 = puVar12 + 0x34;\n    iVar29 = bufchain_size(puVar25);\n    if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }\n  }" ({ "{") (if_statement "if (puVar21 == (undefined1 *)0x8) {\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }" (if "if") (parenthesized_expression "(puVar21 == (undefined1 *)0x8)" (( "(") (binary_expression "puVar21 == (undefined1 *)0x8" (identifier "puVar21") (== "==") (cast_expression "(undefined1 *)0x8" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8"))) () ")")) (compound_statement "{\n      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);\n      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;\n      puVar21 = *(undefined1 **)(puVar12 + 0x44);\n    }" ({ "{") (expression_statement "puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);" (assignment_expression "puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)proxy_socks5_handlechap(puVar12)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "proxy_socks5_handlechap(puVar12)" (identifier "proxy_socks5_handlechap") (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")"))))) (; ";")) (if_statement "if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;" (if "if") (parenthesized_expression "(puVar24 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar24 != (undefined4 *)0x0" (identifier "puVar24") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";"))) (expression_statement "puVar21 = *(undefined1 **)(puVar12 + 0x44);" (assignment_expression "puVar21 = *(undefined1 **)(puVar12 + 0x44)" (identifier "puVar21") (= "=") (pointer_expression "*(undefined1 **)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined1 **)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (puVar21 == (undefined1 *)0x2) {\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }" (if "if") (parenthesized_expression "(puVar21 == (undefined1 *)0x2)" (( "(") (binary_expression "puVar21 == (undefined1 *)0x2" (identifier "puVar21") (== "==") (cast_expression "(undefined1 *)0x2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\nLAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));\n      if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }\n      uVar13 = *(undefined4 *)(puVar12 + 0x14);\n      piVar19 = *(int **)(puVar12 + 8);\n      puVar24 = (undefined4 *)0x1;\n      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;\n      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);\n      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);\n      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;\n      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);\n      *(undefined4 *)(puVar12 + 0x44) = 3;\n      goto LAB_00025bf4;\n    }" ({ "{") (labeled_statement "LAB_00025f08:\n      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));" (statement_identifier "LAB_00025f08") (: ":") (expression_statement "iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));" (assignment_expression "iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10))" (identifier "iVar29") (= "=") (call_expression "(**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10))" (parenthesized_expression "(**(code **)(puVar30 + 0x87a10))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x87a10)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x87a10)" (* "*") (cast_expression "(code **)(puVar30 + 0x87a10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x87a10)" (( "(") (binary_expression "puVar30 + 0x87a10" (identifier "puVar30") (+ "+") (number_literal "0x87a10")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(puVar12 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x10)" (( "(") (binary_expression "puVar12 + 0x10" (identifier "puVar12") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";"))) (if_statement "if (iVar29 == 1) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }\n      else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" (if "if") (parenthesized_expression "(iVar29 == 1)" (( "(") (binary_expression "iVar29 == 1" (identifier "iVar29") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 9;\n        iVar33 = 8;\n        iVar17 = 10;\n      }" ({ "{") (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29)" (identifier "uStack_470") (= "=") (call_expression "CONCAT31(uStack_470._0_3_,(char)iVar29)" (identifier "CONCAT31") (argument_list "(uStack_470._0_3_,(char)iVar29)" (( "(") (field_expression "uStack_470._0_3_" (identifier "uStack_470") (. ".") (field_identifier "_0_3_")) (, ",") (cast_expression "(char)iVar29" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar29")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);" (call_expression "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87a14))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x87a14)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x87a14)" (* "*") (cast_expression "(code **)(puVar30 + 0x87a14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x87a14)" (( "(") (binary_expression "puVar30 + 0x87a14" (identifier "puVar30") (+ "+") (number_literal "0x87a14")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" (( "(") (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x10)" (( "(") (binary_expression "puVar12 + 0x10" (identifier "puVar12") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "&uStack_46c" (& "&") (identifier "uStack_46c")) () ")"))) (; ";")) (expression_statement "iVar29 = 9;" (assignment_expression "iVar29 = 9" (identifier "iVar29") (= "=") (number_literal "9")) (; ";")) (expression_statement "iVar33 = 8;" (assignment_expression "iVar33 = 8" (identifier "iVar33") (= "=") (number_literal "8")) (; ";")) (expression_statement "iVar17 = 10;" (assignment_expression "iVar17 = 10" (identifier "iVar17") (= "=") (number_literal "10")) (; ";")) (} "}")) (else_clause "else if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" (else "else") (if_statement "if (iVar29 == 2) {\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }\n      else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        uStack_470 = CONCAT31(uStack_470._0_3_,4);\n        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);\n        iVar29 = 0x15;\n        iVar33 = 0x14;\n        iVar17 = 0x16;\n      }" ({ "{") (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,4);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,4)" (identifier "uStack_470") (= "=") (call_expression "CONCAT31(uStack_470._0_3_,4)" (identifier "CONCAT31") (argument_list "(uStack_470._0_3_,4)" (( "(") (field_expression "uStack_470._0_3_" (identifier "uStack_470") (. ".") (field_identifier "_0_3_")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);" (call_expression "(**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87a14))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x87a14)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x87a14)" (* "*") (cast_expression "(code **)(puVar30 + 0x87a14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x87a14)" (( "(") (binary_expression "puVar30 + 0x87a14" (identifier "puVar30") (+ "+") (number_literal "0x87a14")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(puVar12 + 0x10),&uStack_46c)" (( "(") (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x10)" (( "(") (binary_expression "puVar12 + 0x10" (identifier "puVar12") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "&uStack_46c" (& "&") (identifier "uStack_46c")) () ")"))) (; ";")) (expression_statement "iVar29 = 0x15;" (assignment_expression "iVar29 = 0x15" (identifier "iVar29") (= "=") (number_literal "0x15")) (; ";")) (expression_statement "iVar33 = 0x14;" (assignment_expression "iVar33 = 0x14" (identifier "iVar33") (= "=") (number_literal "0x14")) (; ";")) (expression_statement "iVar17 = 0x16;" (assignment_expression "iVar17 = 0x16" (identifier "iVar17") (= "=") (number_literal "0x16")) (; ";")) (} "}")) (else_clause "else {\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" (else "else") (compound_statement "{\n        if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }\n        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);\n        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;\n        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);\n        iVar29 = (int)cVar10;\n        iVar17 = iVar29 + 7;\n        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);\n        iVar33 = iVar29 + 5;\n        iVar29 = iVar29 + 6;\n      }" ({ "{") (if_statement "if (iVar29 != 3) {\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }" (if "if") (parenthesized_expression "(iVar29 != 3)" (( "(") (binary_expression "iVar29 != 3" (identifier "iVar29") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n          puVar24 = (undefined4 *)0x46a;\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);\n          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;\n          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);\n          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;\n          (*UNRECOVERED_JUMPTABLE)();\n          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;\n          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);\n          iStack_4d4 = *piVar19;\n          iVar29 = iVar17;\n          puStack_4d0 = puVar21;\n          puStack_4cc = puVar12;\n          puStack_4c8 = puVar14;\n          piStack_4c4 = piVar27;\n          puStack_4c0 = puVar25;\n          pcStack_4bc = unaff_s5;\n          iStack_4b8 = unaff_s6;\n          if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }\nLAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }\n          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);\n          iVar33 = iStack_4d4;\n          (*UNRECOVERED_JUMPTABLE)();\n          iVar17 = conf_get_int(iVar29,0xd);\n          if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }\n          if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }\n                    \n                    \n          puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);\n          return puVar24;\n        }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x46a;" (assignment_expression "puVar24 = (undefined4 *)0x46a" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x46a" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x46a"))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(puVar30 + 0x87fb8)" (* "*") (cast_expression "(code **)(puVar30 + 0x87fb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x87fb8)" (( "(") (binary_expression "puVar30 + 0x87fb8" (identifier "puVar30") (+ "+") (number_literal "0x87fb8")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;" (assignment_expression "iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00" (identifier "iVar17") (= "=") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d00" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x4d00"))) (; ";")) (expression_statement "pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);" (assignment_expression "pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374)" (identifier "pbVar15") (= "=") (cast_expression "(byte *)(*(int *)(puVar30 + 0x87780) + -0x5374)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar30 + 0x87780) + -0x5374)" (( "(") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x5374" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x5374")) () ")")))) (; ";")) (expression_statement "iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;" (assignment_expression "iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4" (identifier "iVar33") (= "=") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x52c4" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x52c4"))) (; ";")) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;" (assignment_expression "pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54" (identifier "pcVar32") (= "=") (binary_expression "UNRECOVERED_JUMPTABLE + 0x8eb54" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x8eb54"))) (; ";")) (expression_statement "piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);" (assignment_expression "piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" (identifier "piVar19") (= "=") (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" (* "*") (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x87598)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x87598)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x87598" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x87598")) () ")"))))) (; ";")) (expression_statement "iStack_4d4 = *piVar19;" (assignment_expression "iStack_4d4 = *piVar19" (identifier "iStack_4d4") (= "=") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) (; ";")) (expression_statement "iVar29 = iVar17;" (assignment_expression "iVar29 = iVar17" (identifier "iVar29") (= "=") (identifier "iVar17")) (; ";")) (expression_statement "puStack_4d0 = puVar21;" (assignment_expression "puStack_4d0 = puVar21" (identifier "puStack_4d0") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "puStack_4cc = puVar12;" (assignment_expression "puStack_4cc = puVar12" (identifier "puStack_4cc") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "puStack_4c8 = puVar14;" (assignment_expression "puStack_4c8 = puVar14" (identifier "puStack_4c8") (= "=") (identifier "puVar14")) (; ";")) (expression_statement "piStack_4c4 = piVar27;" (assignment_expression "piStack_4c4 = piVar27" (identifier "piStack_4c4") (= "=") (identifier "piVar27")) (; ";")) (expression_statement "puStack_4c0 = puVar25;" (assignment_expression "puStack_4c0 = puVar25" (identifier "puStack_4c0") (= "=") (identifier "puVar25")) (; ";")) (expression_statement "pcStack_4bc = unaff_s5;" (assignment_expression "pcStack_4bc = unaff_s5" (identifier "pcStack_4bc") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "iStack_4b8 = unaff_s6;" (assignment_expression "iStack_4b8 = unaff_s6" (identifier "iStack_4b8") (= "=") (identifier "unaff_s6")) (; ";")) (if_statement "if (iVar33 == 0) {\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }\n          else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" (if "if") (parenthesized_expression "(iVar33 == 0)" (( "(") (binary_expression "iVar33 == 0" (identifier "iVar33") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pbVar16 = (byte *)0xc;\n            iVar6 = conf_get_int(iVar17,0xc);\n            if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\nLAB_000267f0:\n            iVar28 = 0;\n            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);\n            pbVar16 = (byte *)0xa;\n            pbVar8 = (byte *)conf_get_str(iVar17,10);\n            bVar1 = *pbVar8;\n            while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }\nLAB_00026894:\n            puVar9 = (undefined4 *)0x1;\n          }" ({ "{") (expression_statement "pbVar16 = (byte *)0xc;" (assignment_expression "pbVar16 = (byte *)0xc" (identifier "pbVar16") (= "=") (cast_expression "(byte *)0xc" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xc"))) (; ";")) (expression_statement "iVar6 = conf_get_int(iVar17,0xc);" (assignment_expression "iVar6 = conf_get_int(iVar17,0xc)" (identifier "iVar6") (= "=") (call_expression "conf_get_int(iVar17,0xc)" (identifier "conf_get_int") (argument_list "(iVar17,0xc)" (( "(") (identifier "iVar17") (, ",") (number_literal "0xc") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }\n            else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);\n              if (iVar6 != 0) goto LAB_00026900;\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" ({ "{") (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e34)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e34" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x86e34")) () ")"))))) () ")")) (argument_list "(pbVar15)" (( "(") (identifier "pbVar15") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_00026900;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026900;" (goto "goto") (statement_identifier "LAB_00026900") (; ";"))) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" (identifier "puVar18") (= "=") (identifier "puVar24")) (; ";")) (} "}")) (else_clause "else {\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" (else "else") (compound_statement "{\n              iVar6 = 0;\n              puVar18 = puVar24;\n            }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" (identifier "puVar18") (= "=") (identifier "puVar24")) (; ";")) (} "}")))) (labeled_statement "LAB_000267f0:\n            iVar28 = 0;" (statement_identifier "LAB_000267f0") (: ":") (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" (identifier "iVar28") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);" (assignment_expression "iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x874ec)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x874ec" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x874ec")) () ")"))))) () ")")) (argument_list "(pbVar15)" (( "(") (identifier "pbVar15") () ")")))) (; ";")) (expression_statement "pbVar16 = (byte *)0xa;" (assignment_expression "pbVar16 = (byte *)0xa" (identifier "pbVar16") (= "=") (cast_expression "(byte *)0xa" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa"))) (; ";")) (expression_statement "pbVar8 = (byte *)conf_get_str(iVar17,10);" (assignment_expression "pbVar8 = (byte *)conf_get_str(iVar17,10)" (identifier "pbVar8") (= "=") (cast_expression "(byte *)conf_get_str(iVar17,10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "conf_get_str(iVar17,10)" (identifier "conf_get_str") (argument_list "(iVar17,10)" (( "(") (identifier "iVar17") (, ",") (number_literal "10") () ")"))))) (; ";")) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" (identifier "bVar1") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (while_statement "while (puVar24 = puVar18, bVar1 != 0) {\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }" (while "while") (parenthesized_expression "(puVar24 = puVar18, bVar1 != 0)" (( "(") (comma_expression "puVar24 = puVar18, bVar1 != 0" (assignment_expression "puVar24 = puVar18" (identifier "puVar24") (= "=") (identifier "puVar18")) (, ",") (binary_expression "bVar1 != 0" (identifier "bVar1") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();\n              iVar34 = *piVar27;\n              pbVar22 = pbVar8 + iVar28;\n              iVar17 = iVar28;\n              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }\n              uVar4 = (uint)(char)*pbVar22;\n              iVar28 = iVar17;\n              if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }\nLAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }\n              while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }\n              bVar1 = pbVar8[iVar28];\n            }" ({ "{") (expression_statement "piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();" (assignment_expression "piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" (identifier "piVar27") (= "=") (cast_expression "(int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x873c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x873c0)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x873c0" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x873c0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar34 = *piVar27;" (assignment_expression "iVar34 = *piVar27" (identifier "iVar34") (= "=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";")) (expression_statement "pbVar22 = pbVar8 + iVar28;" (assignment_expression "pbVar22 = pbVar8 + iVar28" (identifier "pbVar22") (= "=") (binary_expression "pbVar8 + iVar28" (identifier "pbVar8") (+ "+") (identifier "iVar28"))) (; ";")) (expression_statement "iVar17 = iVar28;" (assignment_expression "iVar17 = iVar28" (identifier "iVar17") (= "=") (identifier "iVar28")) (; ";")) (while_statement "while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }" (while "while") (parenthesized_expression "((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)))" (( "(") (parenthesized_expression "(pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))" (( "(") (comma_expression "pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),\n                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)" (assignment_expression "pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28)" (identifier "pbVar20") (= "=") (binary_expression "pbVar8 + iVar28 + (iVar17 - iVar28)" (binary_expression "pbVar8 + iVar28" (identifier "pbVar8") (+ "+") (identifier "iVar28")) (+ "+") (parenthesized_expression "(iVar17 - iVar28)" (( "(") (binary_expression "iVar17 - iVar28" (identifier "iVar17") (- "-") (identifier "iVar28")) () ")")))) (, ",") (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c)" (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20)" (( "(") (binary_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2)" (* "*") (cast_expression "(ushort *)(iVar34 + (uint)bVar1 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + (uint)bVar1 * 2)" (( "(") (binary_expression "iVar34 + (uint)bVar1 * 2" (identifier "iVar34") (+ "+") (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(bVar1 == 0x2c)" (( "(") (binary_expression "bVar1 == 0x2c" (identifier "bVar1") (== "==") (number_literal "0x2c")) () ")")))) () ")")) () ")")) (compound_statement "{\n                iVar17 = iVar17 + 1;\n                pbVar22 = pbVar8 + iVar17;\n                bVar1 = *pbVar22;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_00026894;\n              }" ({ "{") (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar22 = pbVar8 + iVar17;" (assignment_expression "pbVar22 = pbVar8 + iVar17" (identifier "pbVar22") (= "=") (binary_expression "pbVar8 + iVar17" (identifier "pbVar8") (+ "+") (identifier "iVar17"))) (; ";")) (expression_statement "bVar1 = *pbVar22;" (assignment_expression "bVar1 = *pbVar22" (identifier "bVar1") (= "=") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22"))) (; ";")) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" (identifier "puVar24") (= "=") (identifier "puVar18")) (; ";")) (if_statement "if (bVar1 == 0) goto LAB_00026894;" (if "if") (parenthesized_expression "(bVar1 == 0)" (( "(") (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026894;" (goto "goto") (statement_identifier "LAB_00026894") (; ";"))) (} "}"))) (expression_statement "uVar4 = (uint)(char)*pbVar22;" (assignment_expression "uVar4 = (uint)(char)*pbVar22" (identifier "uVar4") (= "=") (binary_expression "(uint)(char)*pbVar22" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (identifier "pbVar22"))) (; ";")) (expression_statement "iVar28 = iVar17;" (assignment_expression "iVar28 = iVar17" (identifier "iVar28") (= "=") (identifier "iVar17")) (; ";")) (if_statement "if (uVar4 == 0) {\n                puVar11 = (undefined4 *)0x0;\n              }\n              else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" (if "if") (parenthesized_expression "(uVar4 == 0)" (( "(") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                puVar11 = (undefined4 *)0x0;\n              }" ({ "{") (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" (else "else") (compound_statement "{\n                do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);\n                puVar11 = (undefined4 *)(iVar28 - iVar17);\n              }" ({ "{") (do_statement "do {\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                } while (uVar4 != 0);" (do "do") (compound_statement "{\n                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;\n                  iVar28 = iVar28 + 1;\n                  uVar4 = (uint)(char)pbVar8[iVar28];\n                }" ({ "{") (if_statement "if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;" (if "if") (parenthesized_expression "((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a))" (( "(") (binary_expression "(((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)) &&\n                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)" (parenthesized_expression "(((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d))" (( "(") (binary_expression "((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&\n                      (1 < (uVar4 & 0xff) - 0x2d)" (parenthesized_expression "((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0)" (( "(") (binary_expression "(*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800)" (( "(") (binary_expression "*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800" (pointer_expression "*(ushort *)(iVar34 + (uVar4 & 0xff) * 2)" (* "*") (cast_expression "(ushort *)(iVar34 + (uVar4 & 0xff) * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + (uVar4 & 0xff) * 2)" (( "(") (binary_expression "iVar34 + (uVar4 & 0xff) * 2" (identifier "iVar34") (+ "+") (binary_expression "(uVar4 & 0xff) * 2" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(1 < (uVar4 & 0xff) - 0x2d)" (( "(") (binary_expression "1 < (uVar4 & 0xff) - 0x2d" (number_literal "1") (< "<") (binary_expression "(uVar4 & 0xff) - 0x2d" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (- "-") (number_literal "0x2d"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)" (( "(") (comma_expression "puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a" (assignment_expression "puVar11 = (undefined4 *)(iVar28 - iVar17)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(iVar28 - iVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 - iVar17)" (( "(") (binary_expression "iVar28 - iVar17" (identifier "iVar28") (- "-") (identifier "iVar17")) () ")")))) (, ",") (binary_expression "uVar4 != 0x2a" (identifier "uVar4") (!= "!=") (number_literal "0x2a"))) () ")"))) () ")")) (goto_statement "goto LAB_00026960;" (goto "goto") (statement_identifier "LAB_00026960") (; ";"))) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" (identifier "iVar28") (= "=") (binary_expression "iVar28 + 1" (identifier "iVar28") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar4 = (uint)(char)pbVar8[iVar28];" (assignment_expression "uVar4 = (uint)(char)pbVar8[iVar28]" (identifier "uVar4") (= "=") (cast_expression "(uint)(char)pbVar8[iVar28]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)pbVar8[iVar28]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar8[iVar28]" (identifier "pbVar8") ([ "[") (identifier "iVar28") (] "]"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "puVar11 = (undefined4 *)(iVar28 - iVar17);" (assignment_expression "puVar11 = (undefined4 *)(iVar28 - iVar17)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(iVar28 - iVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 - iVar17)" (( "(") (binary_expression "iVar28 - iVar17" (identifier "iVar28") (- "-") (identifier "iVar17")) () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_00026960:\n              if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" (statement_identifier "LAB_00026960") (: ":") (if_statement "if (bVar1 == 0x2a) {\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }\n              else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" (if "if") (parenthesized_expression "(bVar1 == 0x2a)" (( "(") (binary_expression "bVar1 == 0x2a" (identifier "bVar1") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n                puVar18 = (undefined4 *)((int)puVar11 + -1);\n                pbVar20 = pbVar8 + iVar17 + 1;\n                if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }\n              }" ({ "{") (expression_statement "puVar18 = (undefined4 *)((int)puVar11 + -1);" (assignment_expression "puVar18 = (undefined4 *)((int)puVar11 + -1)" (identifier "puVar18") (= "=") (cast_expression "(undefined4 *)((int)puVar11 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -1)" (( "(") (binary_expression "(int)puVar11 + -1" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "pbVar20 = pbVar8 + iVar17 + 1;" (assignment_expression "pbVar20 = pbVar8 + iVar17 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar8 + iVar17 + 1" (binary_expression "pbVar8 + iVar17" (identifier "pbVar8") (+ "+") (identifier "iVar17")) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" (if "if") (parenthesized_expression "((iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0))" (( "(") (binary_expression "(iVar33 != 0) &&\n                   (pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" (( "(") (binary_expression "iVar33 != 0" (identifier "iVar33") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0)" (( "(") (comma_expression "pbVar16 = pbVar20, puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "pbVar16 = pbVar20" (identifier "pbVar16") (= "=") (identifier "pbVar20")) (, ",") (comma_expression "puVar24 = puVar18,\n                   puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar18" (identifier "puVar24") (= "=") (identifier "puVar18")) (, ",") (comma_expression "puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),\n                   puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)\n                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x8748c")) () ")"))))) () ")")) (argument_list "(auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20)" (( "(") (binary_expression "auStack_514 + ((iVar6 + 1) - (int)puVar11)" (identifier "auStack_514") (+ "+") (parenthesized_expression "((iVar6 + 1) - (int)puVar11)" (( "(") (binary_expression "(iVar6 + 1) - (int)puVar11" (parenthesized_expression "(iVar6 + 1)" (( "(") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) () ")")) (- "-") (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11"))) () ")"))) (, ",") (identifier "pbVar20") () ")"))))) (, ",") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))))) () ")"))) () ")")) (goto_statement "goto LAB_0002689c;" (goto "goto") (statement_identifier "LAB_0002689c") (; ";"))) (expression_statement "iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);" (assignment_expression "iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))\n                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x8748c")) () ")"))))) () ")")) (argument_list "(pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20)" (( "(") (binary_expression "pbVar15 + ((iVar7 + 1) - (int)puVar11)" (identifier "pbVar15") (+ "+") (parenthesized_expression "((iVar7 + 1) - (int)puVar11)" (( "(") (binary_expression "(iVar7 + 1) - (int)puVar11" (parenthesized_expression "(iVar7 + 1)" (( "(") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1")) () ")")) (- "-") (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11"))) () ")"))) (, ",") (identifier "pbVar20") () ")")))) (; ";")) (if_statement "if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar18;\n                  goto LAB_0002689c;\n                }" ({ "{") (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" (identifier "pbVar16") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" (identifier "puVar24") (= "=") (identifier "puVar18")) (; ";")) (goto_statement "goto LAB_0002689c;" (goto "goto") (statement_identifier "LAB_0002689c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" (else "else") (compound_statement "{\n                pbVar16 = pbVar20;\n                if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                iVar17 = (*pcVar31)(pbVar15,pbVar20);\n                puVar18 = puVar11;\n                if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }\n              }" ({ "{") (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" (identifier "pbVar16") (= "=") (identifier "pbVar20")) (; ";")) (if_statement "if (pbVar8[iVar28 + -1] == 0x2a) {\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }\n                else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" (if "if") (parenthesized_expression "(pbVar8[iVar28 + -1] == 0x2a)" (( "(") (binary_expression "pbVar8[iVar28 + -1] == 0x2a" (subscript_expression "pbVar8[iVar28 + -1]" (identifier "pbVar8") ([ "[") (binary_expression "iVar28 + -1" (identifier "iVar28") (+ "+") (number_literal "-1")) (] "]")) (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n                  puVar11 = (undefined4 *)((int)puVar11 + -1);\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" ({ "{") (expression_statement "puVar11 = (undefined4 *)((int)puVar11 + -1);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar11 + -1)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)((int)puVar11 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -1)" (( "(") (binary_expression "(int)puVar11 + -1" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" (if "if") (parenthesized_expression "((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0))" (( "(") (binary_expression "(iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" (( "(") (binary_expression "iVar33 != 0" (identifier "iVar33") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar11" (identifier "puVar24") (= "=") (identifier "puVar11")) (, ",") (comma_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x8748c")) () ")"))))) () ")")) (argument_list "(auStack_514,pbVar20)" (( "(") (identifier "auStack_514") (, ",") (identifier "pbVar20") () ")"))))) (, ",") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (goto_statement "goto LAB_0002689c;" (goto "goto") (statement_identifier "LAB_0002689c") (; ";"))) (expression_statement "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);" (assignment_expression "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x8748c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" (else "else") (compound_statement "{\n                  if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;\n                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);\n                }" ({ "{") (if_statement "if ((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;" (if "if") (parenthesized_expression "((iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0))" (( "(") (binary_expression "(iVar33 != 0) &&\n                     (puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(iVar33 != 0)" (( "(") (binary_expression "iVar33 != 0" (identifier "iVar33") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar24 = puVar11,\n                     puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar24 = puVar11" (identifier "puVar24") (= "=") (identifier "puVar11")) (, ",") (comma_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),\n                     puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = (undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)\n                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x8748c")) () ")"))))) () ")")) (argument_list "(auStack_514,pbVar20)" (( "(") (identifier "auStack_514") (, ",") (identifier "pbVar20") () ")"))))) (, ",") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (goto_statement "goto LAB_0002689c;" (goto "goto") (statement_identifier "LAB_0002689c") (; ";"))) (expression_statement "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);" (assignment_expression "pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x8748c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x8748c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x8748c")) () ")"))))) (; ";")) (} "}")))) (expression_statement "iVar17 = (*pcVar31)(pbVar15,pbVar20);" (assignment_expression "iVar17 = (*pcVar31)(pbVar15,pbVar20)" (identifier "iVar17") (= "=") (call_expression "(*pcVar31)(pbVar15,pbVar20)" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "(pbVar15,pbVar20)" (( "(") (identifier "pbVar15") (, ",") (identifier "pbVar20") () ")")))) (; ";")) (expression_statement "puVar18 = puVar11;" (assignment_expression "puVar18 = puVar11" (identifier "puVar18") (= "=") (identifier "puVar11")) (; ";")) (if_statement "if (iVar17 == 0) {\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  puVar9 = (undefined4 *)0x0;\n                  pbVar16 = pbVar20;\n                  puVar24 = puVar11;\n                  goto LAB_0002689c;\n                }" ({ "{") (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" (identifier "pbVar16") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "puVar24 = puVar11;" (assignment_expression "puVar24 = puVar11" (identifier "puVar24") (= "=") (identifier "puVar11")) (; ";")) (goto_statement "goto LAB_0002689c;" (goto "goto") (statement_identifier "LAB_0002689c") (; ";")) (} "}"))) (} "}"))))) (while_statement "while( true ) {\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                bVar1 = pbVar8[iVar28];\n                puVar9 = (undefined4 *)0x1;\n                pbVar16 = pbVar20;\n                puVar24 = puVar18;\n                if (bVar1 == 0) goto LAB_0002689c;\n                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;\n                iVar28 = iVar28 + 1;\n              }" ({ "{") (expression_statement "bVar1 = pbVar8[iVar28];" (assignment_expression "bVar1 = pbVar8[iVar28]" (identifier "bVar1") (= "=") (subscript_expression "pbVar8[iVar28]" (identifier "pbVar8") ([ "[") (identifier "iVar28") (] "]"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)0x1;" (assignment_expression "puVar9 = (undefined4 *)0x1" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar16 = pbVar20;" (assignment_expression "pbVar16 = pbVar20" (identifier "pbVar16") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "puVar24 = puVar18;" (assignment_expression "puVar24 = puVar18" (identifier "puVar24") (= "=") (identifier "puVar18")) (; ";")) (if_statement "if (bVar1 == 0) goto LAB_0002689c;" (if "if") (parenthesized_expression "(bVar1 == 0)" (( "(") (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002689c;" (goto "goto") (statement_identifier "LAB_0002689c") (; ";"))) (if_statement "if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;" (if "if") (parenthesized_expression "(((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c))" (( "(") (binary_expression "((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)" (parenthesized_expression "((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0)" (( "(") (binary_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0" (parenthesized_expression "(*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20)" (( "(") (binary_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar34 + (uint)bVar1 * 2)" (* "*") (cast_expression "(ushort *)(iVar34 + (uint)bVar1 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + (uint)bVar1 * 2)" (( "(") (binary_expression "iVar34 + (uint)bVar1 * 2" (identifier "iVar34") (+ "+") (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(bVar1 == 0x2c)" (( "(") (binary_expression "bVar1 == 0x2c" (identifier "bVar1") (== "==") (number_literal "0x2c")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" (identifier "iVar28") (= "=") (binary_expression "iVar28 + 1" (identifier "iVar28") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "bVar1 = pbVar8[iVar28];" (assignment_expression "bVar1 = pbVar8[iVar28]" (identifier "bVar1") (= "=") (subscript_expression "pbVar8[iVar28]" (identifier "pbVar8") ([ "[") (identifier "iVar28") (] "]"))) (; ";")) (} "}"))) (labeled_statement "LAB_00026894:\n            puVar9 = (undefined4 *)0x1;" (statement_identifier "LAB_00026894") (: ":") (expression_statement "puVar9 = (undefined4 *)0x1;" (assignment_expression "puVar9 = (undefined4 *)0x1" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (} "}")) (else_clause "else {\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" (else "else") (compound_statement "{\n            pbVar16 = pbVar15;\n            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();\n            if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }\nLAB_00026900:\n            puVar9 = (undefined4 *)0x0;\n          }" ({ "{") (expression_statement "pbVar16 = pbVar15;" (assignment_expression "pbVar16 = pbVar15" (identifier "pbVar16") (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))()" (identifier "iVar6") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e30)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e30" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x86e30")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pbVar16 = (byte *)0xc;\n              iVar6 = conf_get_int(iVar17,0xc);\n              if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }\n            }" ({ "{") (expression_statement "pbVar16 = (byte *)0xc;" (assignment_expression "pbVar16 = (byte *)0xc" (identifier "pbVar16") (= "=") (cast_expression "(byte *)0xc" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xc"))) (; ";")) (expression_statement "iVar6 = conf_get_int(iVar17,0xc);" (assignment_expression "iVar6 = conf_get_int(iVar17,0xc)" (identifier "iVar6") (= "=") (call_expression "conf_get_int(iVar17,0xc)" (identifier "conf_get_int") (argument_list "(iVar17,0xc)" (( "(") (identifier "iVar17") (, ",") (number_literal "0xc") () ")")))) (; ";")) (if_statement "if ((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }" (if "if") (parenthesized_expression "((iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0))))" (( "(") (binary_expression "(iVar6 != 0) ||\n                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))" (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))" (( "(") (parenthesized_expression "(iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0))" (( "(") (comma_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e34)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e34" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x86e34")) () ")"))))) () ")")) (argument_list "(pbVar15)" (( "(") (identifier "pbVar15") () ")")))) (, ",") (binary_expression "iVar6 == 0 &&\n                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)" (( "(") (comma_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86e38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86e38)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x86e38" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x86e38")) () ")"))))) () ")")) (argument_list "(iVar33)" (( "(") (identifier "iVar33") () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n                puVar18 = (undefined4 *)&DAT_00000040;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);\n                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);\n                goto LAB_000267f0;\n              }" ({ "{") (expression_statement "puVar18 = (undefined4 *)&DAT_00000040;" (assignment_expression "puVar18 = (undefined4 *)&DAT_00000040" (identifier "puVar18") (= "=") (cast_expression "(undefined4 *)&DAT_00000040" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000040" (& "&") (identifier "DAT_00000040")))) (; ";")) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86cc8)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x86cc8" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x86cc8")) () ")"))))) () ")")) (argument_list "(iVar33,auStack_514)" (( "(") (identifier "iVar33") (, ",") (identifier "auStack_514") () ")"))) (; ";")) (expression_statement "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);" (assignment_expression "iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x874ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x874ec)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x874ec" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x874ec")) () ")"))))) () ")")) (argument_list "(auStack_514)" (( "(") (identifier "auStack_514") () ")")))) (; ";")) (goto_statement "goto LAB_000267f0;" (goto "goto") (statement_identifier "LAB_000267f0") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00026900:\n            puVar9 = (undefined4 *)0x0;" (statement_identifier "LAB_00026900") (: ":") (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")))) (labeled_statement "LAB_0002689c:\n          if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }" (statement_identifier "LAB_0002689c") (: ":") (if_statement "if (iStack_4d4 == *piVar19) {\n            return puVar9;\n          }" (if "if") (parenthesized_expression "(iStack_4d4 == *piVar19)" (( "(") (binary_expression "iStack_4d4 == *piVar19" (identifier "iStack_4d4") (== "==") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) () ")")) (compound_statement "{\n            return puVar9;\n          }" ({ "{") (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}")))) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x87568)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x87568)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x87568" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x87568")) () ")"))))) (; ";")) (expression_statement "iVar33 = iStack_4d4;" (assignment_expression "iVar33 = iStack_4d4" (identifier "iVar33") (= "=") (identifier "iStack_4d4")) (; ";")) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar17 = conf_get_int(iVar29,0xd);" (assignment_expression "iVar17 = conf_get_int(iVar29,0xd)" (identifier "iVar17") (= "=") (call_expression "conf_get_int(iVar29,0xd)" (identifier "conf_get_int") (argument_list "(iVar29,0xd)" (( "(") (identifier "iVar29") (, ",") (number_literal "0xd") () ")")))) (; ";")) (if_statement "if ((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }" (if "if") (parenthesized_expression "((iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0))))" (( "(") (binary_expression "(iVar17 != 0) &&\n             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))" (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))" (( "(") (parenthesized_expression "((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0))" (( "(") (binary_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&\n              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)" (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1))))" (( "(") (comma_expression "iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" (assignment_expression "iVar17 = conf_get_int(iVar29,0xb)" (identifier "iVar17") (= "=") (call_expression "conf_get_int(iVar29,0xb)" (identifier "conf_get_int") (argument_list "(iVar29,0xb)" (( "(") (identifier "iVar29") (, ",") (number_literal "0xb") () ")")))) (, ",") (binary_expression "iVar17 == 0 ||\n               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))" (( "(") (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1))" (( "(") (comma_expression "iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" (assignment_expression "iVar17 = conf_get_int(iVar29,0xb)" (identifier "iVar17") (= "=") (call_expression "conf_get_int(iVar29,0xb)" (identifier "conf_get_int") (argument_list "(iVar29,0xb)" (( "(") (identifier "iVar29") (, ",") (number_literal "0xb") () ")")))) (, ",") (binary_expression "iVar17 == 2 &&\n                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" (binary_expression "iVar17 == 2" (identifier "iVar17") (== "==") (number_literal "2")) (&& "&&") (parenthesized_expression "(iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)" (( "(") (comma_expression "iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1" (assignment_expression "iVar17 = conf_get_int(iVar29,0xd)" (identifier "iVar17") (= "=") (call_expression "conf_get_int(iVar29,0xd)" (identifier "conf_get_int") (argument_list "(iVar29,0xd)" (( "(") (identifier "iVar29") (, ",") (number_literal "0xd") () ")")))) (, ",") (binary_expression "iVar17 != 1" (identifier "iVar17") (!= "!=") (number_literal "1"))) () ")")))) () ")")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)" (( "(") (comma_expression "iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0" (assignment_expression "iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29)" (identifier "iVar29") (= "=") (call_expression "proxy_for_destination(0,iVar33,pbVar16,iVar29)" (identifier "proxy_for_destination") (argument_list "(0,iVar33,pbVar16,iVar29)" (( "(") (number_literal "0") (, ",") (identifier "iVar33") (, ",") (identifier "pbVar16") (, ",") (identifier "iVar29") () ")")))) (, ",") (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }\n            uVar13 = dupstr(iVar33);\n            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);\n            *puVar24 = uVar13;\n                    \n                    \n            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);\n            return puVar24;\n          }" ({ "{") (if_statement "if (iStack_534 != 0) {\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }" (if "if") (parenthesized_expression "(iStack_534 != 0)" (( "(") (binary_expression "iStack_534 != 0" (identifier "iStack_534") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;\n              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n              safefree(uVar13);\n            }" ({ "{") (expression_statement "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)\n              ;" (assignment_expression "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" (identifier "uVar13") (= "=") (call_expression "dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" (identifier "dupprintf") (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x867bc")) () ")")))) (+ "+") (number_literal "-0x4ea0")) (, ",") (identifier "iVar33") (, ",") (identifier "pbVar15") () ")")))) (; ";")) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x868fc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x868fc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x868fc")) () ")"))))) () ")")) (argument_list "(iStack_534,uVar13)" (( "(") (identifier "iStack_534") (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "safefree(uVar13);" (call_expression "safefree(uVar13)" (identifier "safefree") (argument_list "(uVar13)" (( "(") (identifier "uVar13") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar13 = dupstr(iVar33);" (assignment_expression "uVar13 = dupstr(iVar33)" (identifier "uVar13") (= "=") (call_expression "dupstr(iVar33)" (identifier "dupstr") (argument_list "(iVar33)" (( "(") (identifier "iVar33") () ")")))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86a74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86a74)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x86a74" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x86a74")) () ")"))))) (; ";")) (expression_statement "*puVar24 = uVar13;" (assignment_expression "*puVar24 = uVar13" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);" (assignment_expression "puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*UNRECOVERED_JUMPTABLE)(iVar33)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(iVar33)" (( "(") (identifier "iVar33") () ")"))))) (; ";")) (return_statement "return puVar24;" (return "return") (identifier "puVar24") (; ";")) (} "}"))) (if_statement "if (iStack_534 != 0) {\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }" (if "if") (parenthesized_expression "(iStack_534 != 0)" (( "(") (binary_expression "iStack_534 != 0" (identifier "iStack_534") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }\n            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);\n            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);\n            safefree(uVar13);\n          }" ({ "{") (if_statement "if (pcVar32 == (code *)0x1) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }\n            else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" (if "if") (parenthesized_expression "(pcVar32 == (code *)0x1)" (( "(") (binary_expression "pcVar32 == (code *)0x1" (identifier "pcVar32") (== "==") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;\n            }" ({ "{") (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0" (identifier "iVar29") (= "=") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x867bc")) () ")")))) (+ "+") (number_literal "-0x4eb0"))) (; ";")) (} "}")) (else_clause "else if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" (else "else") (if_statement "if (pcVar32 == (code *)0x2) {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }\n            else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" (if "if") (parenthesized_expression "(pcVar32 == (code *)0x2)" (( "(") (binary_expression "pcVar32 == (code *)0x2" (identifier "pcVar32") (== "==") (cast_expression "(code *)0x2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;\n            }" ({ "{") (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8" (identifier "iVar29") (= "=") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x867bc")) () ")")))) (+ "+") (number_literal "-0x4ea8"))) (; ";")) (} "}")) (else_clause "else {\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" (else "else") (compound_statement "{\n              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;\n            }" ({ "{") (expression_statement "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;" (assignment_expression "iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4" (identifier "iVar29") (= "=") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x867bc")) () ")")))) (+ "+") (number_literal "-0x22a4"))) (; ";")) (} "}")))))) (expression_statement "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15);" (assignment_expression "uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" (identifier "uVar13") (= "=") (call_expression "dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" (identifier "dupprintf") (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,\n                               pbVar15)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x867bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x867bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x867bc")) () ")")))) (+ "+") (number_literal "-0x4e70")) (, ",") (identifier "iVar33") (, ",") (identifier "iVar29") (, ",") (identifier "pbVar15") () ")")))) (; ";")) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x868fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x868fc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x868fc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x868fc")) () ")"))))) () ")")) (argument_list "(iStack_534,uVar13)" (( "(") (identifier "iStack_534") (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "safefree(uVar13);" (call_expression "safefree(uVar13)" (identifier "safefree") (argument_list "(uVar13)" (( "(") (identifier "uVar13") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);" (assignment_expression "puVar24 = (undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)\n                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x86a6c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x86a6c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x86a6c")) () ")"))))) () ")")) (argument_list "(iVar33,puVar24,pcVar32)" (( "(") (identifier "iVar33") (, ",") (identifier "puVar24") (, ",") (identifier "pcVar32") () ")"))))) (; ";")) (return_statement "return puVar24;" (return "return") (identifier "puVar24") (; ";")) (} "}"))) (expression_statement "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);" (assignment_expression "uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29)" (identifier "uStack_470") (= "=") (call_expression "CONCAT31(uStack_470._0_3_,(char)iVar29)" (identifier "CONCAT31") (argument_list "(uStack_470._0_3_,(char)iVar29)" (( "(") (field_expression "uStack_470._0_3_" (identifier "uStack_470") (. ".") (field_identifier "_0_3_")) (, ",") (cast_expression "(char)iVar29" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar29")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)\n        ;" (call_expression "(**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)" (parenthesized_expression "(**(code **)(puVar30 + 0x878bc))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x878bc)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x878bc)" (* "*") (cast_expression "(code **)(puVar30 + 0x878bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x878bc)" (( "(") (binary_expression "puVar30 + 0x878bc" (identifier "puVar30") (+ "+") (number_literal "0x878bc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)" (( "(") (pointer_expression "*(undefined4 *)(puVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x10)" (( "(") (binary_expression "puVar12 + 0x10" (identifier "puVar12") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (binary_expression "(int)&uStack_46c + 1" (cast_expression "(int)&uStack_46c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_46c" (& "&") (identifier "uStack_46c"))) (+ "+") (number_literal "1")) (, ",") (number_literal "0x100") () ")"))) (; ";")) (expression_statement "cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);" (assignment_expression "cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1)" (parenthesized_expression "(**(code **)(puVar30 + 0x880e0))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x880e0)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x880e0)" (* "*") (cast_expression "(code **)(puVar30 + 0x880e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x880e0)" (( "(") (binary_expression "puVar30 + 0x880e0" (identifier "puVar30") (+ "+") (number_literal "0x880e0")) () ")"))))) () ")")) (argument_list "((int)&uStack_46c + 1)" (( "(") (binary_expression "(int)&uStack_46c + 1" (cast_expression "(int)&uStack_46c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_46c" (& "&") (identifier "uStack_46c"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar29 = (int)cVar10;" (assignment_expression "iVar29 = (int)cVar10" (identifier "iVar29") (= "=") (cast_expression "(int)cVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar10"))) (; ";")) (expression_statement "iVar17 = iVar29 + 7;" (assignment_expression "iVar17 = iVar29 + 7" (identifier "iVar17") (= "=") (binary_expression "iVar29 + 7" (identifier "iVar29") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);" (assignment_expression "uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_)" (identifier "uStack_46c") (= "=") (call_expression "CONCAT13(cVar10,uStack_46c._1_3_)" (identifier "CONCAT13") (argument_list "(cVar10,uStack_46c._1_3_)" (( "(") (identifier "cVar10") (, ",") (field_expression "uStack_46c._1_3_" (identifier "uStack_46c") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";")) (expression_statement "iVar33 = iVar29 + 5;" (assignment_expression "iVar33 = iVar29 + 5" (identifier "iVar33") (= "=") (binary_expression "iVar29 + 5" (identifier "iVar29") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "iVar29 = iVar29 + 6;" (assignment_expression "iVar29 = iVar29 + 6" (identifier "iVar29") (= "=") (binary_expression "iVar29 + 6" (identifier "iVar29") (+ "+") (number_literal "6"))) (; ";")) (} "}")))))) (expression_statement "uVar13 = *(undefined4 *)(puVar12 + 0x14);" (assignment_expression "uVar13 = *(undefined4 *)(puVar12 + 0x14)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(puVar12 + 0x14)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x14)" (( "(") (binary_expression "puVar12 + 0x14" (identifier "puVar12") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "piVar19 = *(int **)(puVar12 + 8);" (assignment_expression "piVar19 = *(int **)(puVar12 + 8)" (identifier "piVar19") (= "=") (pointer_expression "*(int **)(puVar12 + 8)" (* "*") (cast_expression "(int **)(puVar12 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 8)" (( "(") (binary_expression "puVar12 + 8" (identifier "puVar12") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uStack_470._2_2_ = (ushort)uStack_470 & 0xff;" (assignment_expression "uStack_470._2_2_ = (ushort)uStack_470 & 0xff" (field_expression "uStack_470._2_2_" (identifier "uStack_470") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "(ushort)uStack_470 & 0xff" (cast_expression "(ushort)uStack_470" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uStack_470")) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "uStack_470 = CONCAT22(0x501,uStack_470._2_2_);" (assignment_expression "uStack_470 = CONCAT22(0x501,uStack_470._2_2_)" (identifier "uStack_470") (= "=") (call_expression "CONCAT22(0x501,uStack_470._2_2_)" (identifier "CONCAT22") (argument_list "(0x501,uStack_470._2_2_)" (( "(") (number_literal "0x501") (, ",") (field_expression "uStack_470._2_2_" (identifier "uStack_470") (. ".") (field_identifier "_2_2_")) () ")")))) (; ";")) (expression_statement "*(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);" (assignment_expression "*(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8)" (pointer_expression "*(char *)((int)&uStack_470 + iVar33)" (* "*") (cast_expression "(char *)((int)&uStack_470 + iVar33)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_470 + iVar33)" (( "(") (binary_expression "(int)&uStack_470 + iVar33" (cast_expression "(int)&uStack_470" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470"))) (+ "+") (identifier "iVar33")) () ")")))) (= "=") (cast_expression "(char)((uint)uVar13 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar13 >> 8)" (( "(") (binary_expression "(uint)uVar13 >> 8" (cast_expression "(uint)uVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*(char *)((int)&uStack_470 + iVar29) = (char)uVar13;" (assignment_expression "*(char *)((int)&uStack_470 + iVar29) = (char)uVar13" (pointer_expression "*(char *)((int)&uStack_470 + iVar29)" (* "*") (cast_expression "(char *)((int)&uStack_470 + iVar29)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_470 + iVar29)" (( "(") (binary_expression "(int)&uStack_470 + iVar29" (cast_expression "(int)&uStack_470" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470"))) (+ "+") (identifier "iVar29")) () ")")))) (= "=") (cast_expression "(char)uVar13" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar13"))) (; ";")) (expression_statement "(**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);" (call_expression "(**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17)" (parenthesized_expression "(**(code **)(*piVar19 + 8))" (( "(") (pointer_expression "**(code **)(*piVar19 + 8)" (* "*") (pointer_expression "*(code **)(*piVar19 + 8)" (* "*") (cast_expression "(code **)(*piVar19 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar19 + 8)" (( "(") (binary_expression "*piVar19 + 8" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(piVar19,&uStack_470,iVar17)" (( "(") (identifier "piVar19") (, ",") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470")) (, ",") (identifier "iVar17") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 3;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 3" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "3")) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if (puVar21 != (undefined1 *)0x3) {\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }" (if "if") (parenthesized_expression "(puVar21 != (undefined1 *)0x3)" (( "(") (binary_expression "puVar21 != (undefined1 *)0x3" (identifier "puVar21") (!= "!=") (cast_expression "(undefined1 *)0x3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (compound_statement "{\n      if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }\n      if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;\n      goto LAB_00025bc8;\n    }" ({ "{") (if_statement "if (puVar21 == &DAT_00000004) {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }" (if "if") (parenthesized_expression "(puVar21 == &DAT_00000004)" (( "(") (binary_expression "puVar21 == &DAT_00000004" (identifier "puVar21") (== "==") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004"))) () ")")) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);\n        goto LAB_00025bf4;\n      }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f38" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x4f38")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if (puVar21 == (undefined1 *)0x5) {\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }" (if "if") (parenthesized_expression "(puVar21 == (undefined1 *)0x5)" (( "(") (binary_expression "puVar21 == (undefined1 *)0x5" (identifier "puVar21") (== "==") (cast_expression "(undefined1 *)0x5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5"))) () ")")) (compound_statement "{\n        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);\n        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);\n        if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }\n        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);\n        if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }\n        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);\n        if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }\n        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);\n        uStack_470 = CONCAT13(1,uStack_470._1_3_);\n        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);\n        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);\n        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;\n        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);\n        *(undefined4 *)(puVar12 + 0x44) = 7;\n        goto LAB_00025bf4;\n      }" ({ "{") (expression_statement "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);" (assignment_expression "pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" (identifier "pcVar2") (= "=") (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10)" (identifier "conf_get_str") (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x10)" (( "(") (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x74)" (( "(") (binary_expression "puVar12 + 0x74" (identifier "puVar12") (+ "+") (number_literal "0x74")) () ")")))) (, ",") (number_literal "0x10") () ")"))))) (; ";")) (expression_statement "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);" (assignment_expression "pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" (identifier "pcVar3") (= "=") (cast_expression "(char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11)" (identifier "conf_get_str") (argument_list "(*(undefined4 *)(puVar12 + 0x74),0x11)" (( "(") (pointer_expression "*(undefined4 *)(puVar12 + 0x74)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x74)" (( "(") (binary_expression "puVar12 + 0x74" (identifier "puVar12") (+ "+") (number_literal "0x74")) () ")")))) (, ",") (number_literal "0x11") () ")"))))) (; ";")) (if_statement "if (*pcVar2 == '\0') {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }\n        else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" (if "if") (parenthesized_expression "(*pcVar2 == '\0')" (( "(") (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n          if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }\n        }" ({ "{") (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(puVar30 + 0x880e0)" (* "*") (cast_expression "(code **)(puVar30 + 0x880e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x880e0)" (( "(") (binary_expression "puVar30 + 0x880e0" (identifier "puVar30") (+ "+") (number_literal "0x880e0")) () ")"))))) (; ";")) (if_statement "if (*pcVar3 == '\0') {\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }" (if "if") (parenthesized_expression "(*pcVar3 == '\0')" (( "(") (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            puVar24 = (undefined4 *)0x1;\n            (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);\n            goto LAB_00025bf4;\n          }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f04" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x4f04")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" (else "else") (compound_statement "{\n          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);\n        }" ({ "{") (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(puVar30 + 0x880e0)" (* "*") (cast_expression "(code **)(puVar30 + 0x880e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x880e0)" (( "(") (binary_expression "puVar30 + 0x880e0" (identifier "puVar30") (+ "+") (number_literal "0x880e0")) () ")"))))) (; ";")) (} "}")))) (expression_statement "uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);" (assignment_expression "uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2)" (identifier "uVar4") (= "=") (call_expression "(*UNRECOVERED_JUMPTABLE)(pcVar2)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(pcVar2)" (( "(") (identifier "pcVar2") () ")")))) (; ";")) (if_statement "if (uVar4 < 0x100) {\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }\n        else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" (if "if") (parenthesized_expression "(uVar4 < 0x100)" (( "(") (binary_expression "uVar4 < 0x100" (identifier "uVar4") (< "<") (number_literal "0x100")) () ")")) (compound_statement "{\n          if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }\n        }" ({ "{") (if_statement "if (uVar4 == 0) {\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }\n          else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" (if "if") (parenthesized_expression "(uVar4 == 0)" (( "(") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar29 = 4;\n            iVar33 = 3;\n            uVar23 = 1;\n            uVar4 = 1;\n          }" ({ "{") (expression_statement "iVar29 = 4;" (assignment_expression "iVar29 = 4" (identifier "iVar29") (= "=") (number_literal "4")) (; ";")) (expression_statement "iVar33 = 3;" (assignment_expression "iVar33 = 3" (identifier "iVar33") (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" (identifier "uVar23") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" (else "else") (compound_statement "{\n            iVar33 = uVar4 + 2;\n            iVar29 = uVar4 + 3;\n            uVar23 = (undefined1)uVar4;\n          }" ({ "{") (expression_statement "iVar33 = uVar4 + 2;" (assignment_expression "iVar33 = uVar4 + 2" (identifier "iVar33") (= "=") (binary_expression "uVar4 + 2" (identifier "uVar4") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar29 = uVar4 + 3;" (assignment_expression "iVar29 = uVar4 + 3" (identifier "iVar29") (= "=") (binary_expression "uVar4 + 3" (identifier "uVar4") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "uVar23 = (undefined1)uVar4;" (assignment_expression "uVar23 = (undefined1)uVar4" (identifier "uVar23") (= "=") (cast_expression "(undefined1)uVar4" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "uVar4"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" (else "else") (compound_statement "{\n          iVar29 = 0x102;\n          iVar33 = 0x101;\n          uVar23 = 0xff;\n          uVar4 = 0xff;\n        }" ({ "{") (expression_statement "iVar29 = 0x102;" (assignment_expression "iVar29 = 0x102" (identifier "iVar29") (= "=") (number_literal "0x102")) (; ";")) (expression_statement "iVar33 = 0x101;" (assignment_expression "iVar33 = 0x101" (identifier "iVar33") (= "=") (number_literal "0x101")) (; ";")) (expression_statement "uVar23 = 0xff;" (assignment_expression "uVar23 = 0xff" (identifier "uVar23") (= "=") (number_literal "0xff")) (; ";")) (expression_statement "uVar4 = 0xff;" (assignment_expression "uVar4 = 0xff" (identifier "uVar4") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (expression_statement "uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);" (assignment_expression "uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar30 + 0x880e0))(pcVar3)" (parenthesized_expression "(**(code **)(puVar30 + 0x880e0))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x880e0)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x880e0)" (* "*") (cast_expression "(code **)(puVar30 + 0x880e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x880e0)" (( "(") (binary_expression "puVar30 + 0x880e0" (identifier "puVar30") (+ "+") (number_literal "0x880e0")) () ")"))))) () ")")) (argument_list "(pcVar3)" (( "(") (identifier "pcVar3") () ")")))) (; ";")) (if_statement "if (uVar5 < 0x100) {\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }\n        else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" (if "if") (parenthesized_expression "(uVar5 < 0x100)" (( "(") (binary_expression "uVar5 < 0x100" (identifier "uVar5") (< "<") (number_literal "0x100")) () ")")) (compound_statement "{\n          if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }\n        }" ({ "{") (if_statement "if (uVar5 == 0) {\n            uVar5 = 1;\n            uVar26 = 1;\n          }\n          else {\n            uVar26 = (undefined1)uVar5;\n          }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar5 = 1;\n            uVar26 = 1;\n          }" ({ "{") (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" (identifier "uVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" (identifier "uVar26") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            uVar26 = (undefined1)uVar5;\n          }" (else "else") (compound_statement "{\n            uVar26 = (undefined1)uVar5;\n          }" ({ "{") (expression_statement "uVar26 = (undefined1)uVar5;" (assignment_expression "uVar26 = (undefined1)uVar5" (identifier "uVar26") (= "=") (cast_expression "(undefined1)uVar5" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "uVar5"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" (else "else") (compound_statement "{\n          uVar5 = 0xff;\n          uVar26 = 0xff;\n        }" ({ "{") (expression_statement "uVar5 = 0xff;" (assignment_expression "uVar5 = 0xff" (identifier "uVar5") (= "=") (number_literal "0xff")) (; ";")) (expression_statement "uVar26 = 0xff;" (assignment_expression "uVar26 = 0xff" (identifier "uVar26") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (expression_statement "uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);" (assignment_expression "uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_)" (field_expression "uStack_470._1_3_" (identifier "uStack_470") (. ".") (field_identifier "_1_3_")) (= "=") (call_expression "CONCAT12(uVar23,uStack_470._2_2_)" (identifier "CONCAT12") (argument_list "(uVar23,uStack_470._2_2_)" (( "(") (identifier "uVar23") (, ",") (field_expression "uStack_470._2_2_" (identifier "uStack_470") (. ".") (field_identifier "_2_2_")) () ")")))) (; ";")) (expression_statement "uStack_470 = CONCAT13(1,uStack_470._1_3_);" (assignment_expression "uStack_470 = CONCAT13(1,uStack_470._1_3_)" (identifier "uStack_470") (= "=") (call_expression "CONCAT13(1,uStack_470._1_3_)" (identifier "CONCAT13") (argument_list "(1,uStack_470._1_3_)" (( "(") (number_literal "1") (, ",") (field_expression "uStack_470._1_3_" (identifier "uStack_470") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);" (call_expression "(**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff)" (parenthesized_expression "(**(code **)(puVar30 + 0x88108))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x88108)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x88108)" (* "*") (cast_expression "(code **)(puVar30 + 0x88108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x88108)" (( "(") (binary_expression "puVar30 + 0x88108" (identifier "puVar30") (+ "+") (number_literal "0x88108")) () ")"))))) () ")")) (argument_list "((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff)" (( "(") (binary_expression "(int)&uStack_470 + 2" (cast_expression "(int)&uStack_470" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470"))) (+ "+") (number_literal "2")) (, ",") (identifier "pcVar2") (, ",") (identifier "uVar4") (, ",") (number_literal "0x1ff") () ")"))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(puVar30 + 0x88190)" (* "*") (cast_expression "(code **)(puVar30 + 0x88190)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x88190)" (( "(") (binary_expression "puVar30 + 0x88190" (identifier "puVar30") (+ "+") (number_literal "0x88190")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;" (assignment_expression "*(undefined1 *)((int)&uStack_470 + iVar33) = uVar26" (pointer_expression "*(undefined1 *)((int)&uStack_470 + iVar33)" (* "*") (cast_expression "(undefined1 *)((int)&uStack_470 + iVar33)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_470 + iVar33)" (( "(") (binary_expression "(int)&uStack_470 + iVar33" (cast_expression "(int)&uStack_470" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470"))) (+ "+") (identifier "iVar33")) () ")")))) (= "=") (identifier "uVar26")) (; ";")) (expression_statement "(*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);" (call_expression "(*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "((int)&uStack_470 + iVar29,pcVar3,uVar5)" (( "(") (binary_expression "(int)&uStack_470 + iVar29" (cast_expression "(int)&uStack_470" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470"))) (+ "+") (identifier "iVar29")) (, ",") (identifier "pcVar3") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);" (call_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))\n                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 8) + 8))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 8) + 8)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 8) + 8)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 8) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 8) + 8)" (( "(") (binary_expression "**(int **)(puVar12 + 8) + 8" (pointer_expression "**(int **)(puVar12 + 8)" (* "*") (pointer_expression "*(int **)(puVar12 + 8)" (* "*") (cast_expression "(int **)(puVar12 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 8)" (( "(") (binary_expression "puVar12 + 8" (identifier "puVar12") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3)" (( "(") (pointer_expression "*(int **)(puVar12 + 8)" (* "*") (cast_expression "(int **)(puVar12 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 8)" (( "(") (binary_expression "puVar12 + 8" (identifier "puVar12") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470")) (, ",") (binary_expression "uVar4 + uVar5 + 3" (binary_expression "uVar4 + uVar5" (identifier "uVar4") (+ "+") (identifier "uVar5")) (+ "+") (number_literal "3")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar12 + 0x44) = 7;" (assignment_expression "*(undefined4 *)(puVar12 + 0x44) = 7" (pointer_expression "*(undefined4 *)(puVar12 + 0x44)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x44)" (( "(") (binary_expression "puVar12 + 0x44" (identifier "puVar12") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if ((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))\n      goto LAB_00025bf4;" (if "if") (parenthesized_expression "((puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))" (( "(") (binary_expression "(puVar21 == (undefined1 *)0x6) &&\n         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0)" (parenthesized_expression "(puVar21 == (undefined1 *)0x6)" (( "(") (binary_expression "puVar21 == (undefined1 *)0x6" (identifier "puVar21") (== "==") (cast_expression "(undefined1 *)0x6" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x6"))) () ")")) (&& "&&") (parenthesized_expression "(puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0)" (( "(") (comma_expression "puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0" (assignment_expression "puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)proxy_socks5_selectchap(puVar12)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "proxy_socks5_selectchap(puVar12)" (identifier "proxy_socks5_selectchap") (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")"))))) (, ",") (binary_expression "puVar24 != (undefined4 *)0x0" (identifier "puVar24") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";"))) (goto_statement "goto LAB_00025bc8;" (goto "goto") (statement_identifier "LAB_00025bc8") (; ";")) (} "}"))) (expression_statement "puVar25 = puVar12 + 0x34;" (assignment_expression "puVar25 = puVar12 + 0x34" (identifier "puVar25") (= "=") (binary_expression "puVar12 + 0x34" (identifier "puVar12") (+ "+") (number_literal "0x34"))) (; ";")) (expression_statement "iVar29 = bufchain_size(puVar25);" (assignment_expression "iVar29 = bufchain_size(puVar25)" (identifier "iVar29") (= "=") (call_expression "bufchain_size(puVar25)" (identifier "bufchain_size") (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")")))) (; ";")) (if_statement "if (4 < iVar29) {\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }" (if "if") (parenthesized_expression "(4 < iVar29)" (( "(") (binary_expression "4 < iVar29" (number_literal "4") (< "<") (identifier "iVar29")) () ")")) (compound_statement "{\n      bufchain_fetch(puVar25,&cStack_478,5);\n      if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }\n      if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }\n      if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }\n      iVar33 = bufchain_size(puVar25);\n      if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }\n    }" ({ "{") (expression_statement "bufchain_fetch(puVar25,&cStack_478,5);" (call_expression "bufchain_fetch(puVar25,&cStack_478,5)" (identifier "bufchain_fetch") (argument_list "(puVar25,&cStack_478,5)" (( "(") (identifier "puVar25") (, ",") (pointer_expression "&cStack_478" (& "&") (identifier "cStack_478")) (, ",") (number_literal "5") () ")"))) (; ";")) (if_statement "if (cStack_478 != '\x05') {\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }" (if "if") (parenthesized_expression "(cStack_478 != '\x05')" (( "(") (binary_expression "cStack_478 != '\x05'" (identifier "cStack_478") (!= "!=") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);\n        goto LAB_00025bf4;\n      }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x50a4" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x50a4")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (if_statement "if (cStack_477 != 0) {\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }" (if "if") (parenthesized_expression "(cStack_477 != 0)" (( "(") (binary_expression "cStack_477 != 0" (identifier "cStack_477") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar29 = *(int *)(puVar30 + 0x87780);\n        puVar18 = &uStack_470;\n        uVar4 = (int)cStack_477 - 1U & 0xff;\n        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);\n        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);\n        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);\n        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);\n        if (7 < uVar4) goto LAB_00026460;\n                    \n                    \n        puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();\n        return puVar24;\n      }" ({ "{") (expression_statement "iVar29 = *(int *)(puVar30 + 0x87780);" (assignment_expression "iVar29 = *(int *)(puVar30 + 0x87780)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")"))))) (; ";")) (expression_statement "puVar18 = &uStack_470;" (assignment_expression "puVar18 = &uStack_470" (identifier "puVar18") (= "=") (pointer_expression "&uStack_470" (& "&") (identifier "uStack_470"))) (; ";")) (expression_statement "uVar4 = (int)cStack_477 - 1U & 0xff;" (assignment_expression "uVar4 = (int)cStack_477 - 1U & 0xff" (identifier "uVar4") (= "=") (binary_expression "(int)cStack_477 - 1U & 0xff" (binary_expression "(int)cStack_477 - 1U" (cast_expression "(int)cStack_477" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cStack_477")) (- "-") (number_literal "1U")) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "uStack_470 = *(undefined4 *)(iVar29 + -0x506c);" (assignment_expression "uStack_470 = *(undefined4 *)(iVar29 + -0x506c)" (identifier "uStack_470") (= "=") (pointer_expression "*(undefined4 *)(iVar29 + -0x506c)" (* "*") (cast_expression "(undefined4 *)(iVar29 + -0x506c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + -0x506c)" (( "(") (binary_expression "iVar29 + -0x506c" (identifier "iVar29") (+ "+") (number_literal "-0x506c")) () ")"))))) (; ";")) (expression_statement "uStack_46c = *(undefined4 *)(iVar29 + -0x5068);" (assignment_expression "uStack_46c = *(undefined4 *)(iVar29 + -0x5068)" (identifier "uStack_46c") (= "=") (pointer_expression "*(undefined4 *)(iVar29 + -0x5068)" (* "*") (cast_expression "(undefined4 *)(iVar29 + -0x5068)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + -0x5068)" (( "(") (binary_expression "iVar29 + -0x5068" (identifier "iVar29") (+ "+") (number_literal "-0x5068")) () ")"))))) (; ";")) (expression_statement "uStack_468 = *(undefined4 *)(iVar29 + -0x5064);" (assignment_expression "uStack_468 = *(undefined4 *)(iVar29 + -0x5064)" (identifier "uStack_468") (= "=") (pointer_expression "*(undefined4 *)(iVar29 + -0x5064)" (* "*") (cast_expression "(undefined4 *)(iVar29 + -0x5064)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + -0x5064)" (( "(") (binary_expression "iVar29 + -0x5064" (identifier "iVar29") (+ "+") (number_literal "-0x5064")) () ")"))))) (; ";")) (expression_statement "uStack_464 = *(undefined2 *)(iVar29 + -0x5060);" (assignment_expression "uStack_464 = *(undefined2 *)(iVar29 + -0x5060)" (identifier "uStack_464") (= "=") (pointer_expression "*(undefined2 *)(iVar29 + -0x5060)" (* "*") (cast_expression "(undefined2 *)(iVar29 + -0x5060)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + -0x5060)" (( "(") (binary_expression "iVar29 + -0x5060" (identifier "iVar29") (+ "+") (number_literal "-0x5060")) () ")"))))) (; ";")) (if_statement "if (7 < uVar4) goto LAB_00026460;" (if "if") (parenthesized_expression "(7 < uVar4)" (( "(") (binary_expression "7 < uVar4" (number_literal "7") (< "<") (identifier "uVar4")) () ")")) (goto_statement "goto LAB_00026460;" (goto "goto") (statement_identifier "LAB_00026460") (; ";"))) (expression_statement "puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))();" (assignment_expression "puVar24 = (undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)\n                  (*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))()" (parenthesized_expression "(*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            ))" (( "(") (pointer_expression "*(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" (* "*") (cast_expression "(code *)(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)\n                            )" (( "(") (binary_expression "puVar30 +\n                            (int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" (identifier "puVar30") (+ "+") (cast_expression "(int)("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "("Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)" (( "(") (binary_expression ""Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14" (binary_expression ""Service lookup failed for source port \"%s\"" +\n                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" (string_literal ""Service lookup failed for source port \"%s\""" (" """) (string_content "Service lookup failed for source port ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """)) (+ "+") (pointer_expression "*(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" (* "*") (cast_expression "(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4)" (( "(") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4" (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4d20" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x4d20")) (+ "+") (binary_expression "uVar4 * 4" (identifier "uVar4") (* "*") (number_literal "4"))) () ")"))))) (+ "+") (number_literal "0x14")) () ")")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar24;" (return "return") (identifier "puVar24") (; ";")) (} "}"))) (if_statement "if (cStack_475 == '\x03') {\n        iVar29 = bStack_474 + 6;\n      }\n      else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" (if "if") (parenthesized_expression "(cStack_475 == '\x03')" (( "(") (binary_expression "cStack_475 == '\x03'" (identifier "cStack_475") (== "==") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (compound_statement "{\n        iVar29 = bStack_474 + 6;\n      }" ({ "{") (expression_statement "iVar29 = bStack_474 + 6;" (assignment_expression "iVar29 = bStack_474 + 6" (identifier "iVar29") (= "=") (binary_expression "bStack_474 + 6" (identifier "bStack_474") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (else_clause "else if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" (else "else") (if_statement "if (cStack_475 == '\x04') {\n        iVar29 = 0x16;\n      }\n      else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" (if "if") (parenthesized_expression "(cStack_475 == '\x04')" (( "(") (binary_expression "cStack_475 == '\x04'" (identifier "cStack_475") (== "==") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) () ")")) (compound_statement "{\n        iVar29 = 0x16;\n      }" ({ "{") (expression_statement "iVar29 = 0x16;" (assignment_expression "iVar29 = 0x16" (identifier "iVar29") (= "=") (number_literal "0x16")) (; ";")) (} "}")) (else_clause "else {\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" (else "else") (compound_statement "{\n        if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }\n        iVar29 = 10;\n      }" ({ "{") (if_statement "if (cStack_475 != '\x01') {\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }" (if "if") (parenthesized_expression "(cStack_475 != '\x01')" (( "(") (binary_expression "cStack_475 != '\x01'" (identifier "cStack_475") (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n          puVar24 = (undefined4 *)0x1;\n          (**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);\n          goto LAB_00025bf4;\n        }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))\n                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f78" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x4f78")) (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (expression_statement "iVar29 = 10;" (assignment_expression "iVar29 = 10" (identifier "iVar29") (= "=") (number_literal "10")) (; ";")) (} "}")))))) (expression_statement "iVar33 = bufchain_size(puVar25);" (assignment_expression "iVar33 = bufchain_size(puVar25)" (identifier "iVar33") (= "=") (call_expression "bufchain_size(puVar25)" (identifier "bufchain_size") (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")")))) (; ";")) (if_statement "if (iVar29 <= iVar33) {\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }" (if "if") (parenthesized_expression "(iVar29 <= iVar33)" (( "(") (binary_expression "iVar29 <= iVar33" (identifier "iVar29") (<= "<=") (identifier "iVar33")) () ")")) (compound_statement "{\n        puVar24 = (undefined4 *)0x1;\n        bufchain_consume(puVar25,iVar29);\n        proxy_activate(puVar12);\n        goto LAB_00025bf4;\n      }" ({ "{") (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "bufchain_consume(puVar25,iVar29);" (call_expression "bufchain_consume(puVar25,iVar29)" (identifier "bufchain_consume") (argument_list "(puVar25,iVar29)" (( "(") (identifier "puVar25") (, ",") (identifier "iVar29") () ")"))) (; ";")) (expression_statement "proxy_activate(puVar12);" (call_expression "proxy_activate(puVar12)" (identifier "proxy_activate") (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")"))) (; ";")) (goto_statement "goto LAB_00025bf4;" (goto "goto") (statement_identifier "LAB_00025bf4") (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (labeled_statement "LAB_00025bf4:\n  while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" (statement_identifier "LAB_00025bf4") (: ":") (while_statement "while (iStack_26c != *piVar27) {\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" (while "while") (parenthesized_expression "(iStack_26c != *piVar27)" (( "(") (binary_expression "iStack_26c != *piVar27" (identifier "iStack_26c") (!= "!=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) () ")")) (compound_statement "{\n    (**(code **)(puVar30 + 0x8815c))();\n    puVar18 = puVar24;\nLAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);\n    puVar24 = (undefined4 *)0x1;\n    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);\n  }" ({ "{") (expression_statement "(**(code **)(puVar30 + 0x8815c))();" (call_expression "(**(code **)(puVar30 + 0x8815c))()" (parenthesized_expression "(**(code **)(puVar30 + 0x8815c))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x8815c)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x8815c)" (* "*") (cast_expression "(code **)(puVar30 + 0x8815c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x8815c)" (( "(") (binary_expression "puVar30 + 0x8815c" (identifier "puVar30") (+ "+") (number_literal "0x8815c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar18 = puVar24;" (assignment_expression "puVar18 = puVar24" (identifier "puVar18") (= "=") (identifier "puVar24")) (; ";")) (labeled_statement "LAB_00026460:\n    (**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);" (statement_identifier "LAB_00026460") (: ":") (expression_statement "(**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);" (call_expression "(**(code **)(puVar30 + 0x87fa8))\n              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c)" (parenthesized_expression "(**(code **)(puVar30 + 0x87fa8))" (( "(") (pointer_expression "**(code **)(puVar30 + 0x87fa8)" (* "*") (pointer_expression "*(code **)(puVar30 + 0x87fa8)" (* "*") (cast_expression "(code **)(puVar30 + 0x87fa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar30 + 0x87fa8)" (( "(") (binary_expression "puVar30 + 0x87fa8" (identifier "puVar30") (+ "+") (number_literal "0x87fa8")) () ")"))))) () ")")) (argument_list "((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c)" (( "(") (binary_expression "(int)&uStack_464 + 1" (cast_expression "(int)&uStack_464" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_464" (& "&") (identifier "uStack_464"))) (+ "+") (number_literal "1")) (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "*(int *)(puVar30 + 0x87780) + -0x4f9c" (pointer_expression "*(int *)(puVar30 + 0x87780)" (* "*") (cast_expression "(int *)(puVar30 + 0x87780)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x87780)" (( "(") (binary_expression "puVar30 + 0x87780" (identifier "puVar30") (+ "+") (number_literal "0x87780")) () ")")))) (+ "+") (number_literal "-0x4f9c")) () ")"))) (; ";"))) (expression_statement "puVar24 = (undefined4 *)0x1;" (assignment_expression "puVar24 = (undefined4 *)0x1" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);" (call_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0)" (parenthesized_expression "(**(code **)(**(int **)(puVar12 + 0xc) + 4))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar12 + 0xc) + 4)" (* "*") (cast_expression "(code **)(**(int **)(puVar12 + 0xc) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar12 + 0xc) + 4)" (( "(") (binary_expression "**(int **)(puVar12 + 0xc) + 4" (pointer_expression "**(int **)(puVar12 + 0xc)" (* "*") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar12 + 0xc),puVar18,8000,0)" (( "(") (pointer_expression "*(int **)(puVar12 + 0xc)" (* "*") (cast_expression "(int **)(puVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0xc)" (( "(") (binary_expression "puVar12 + 0xc" (identifier "puVar12") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "puVar18") (, ",") (number_literal "8000") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (return_statement "return puVar24;" (return "return") (identifier "puVar24") (; ";")) (} "}")))

/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int function_1(type_1 p,int var_4)

{
  type_2 var_16;
  char cVar3;
  type_3 var_20;
  int var_9;
  int extraout_v1;
  type_4 pppVar5;
  type_1 p_00;
  int iVar6;
  type_5 ppsVar7;
  int var_2;
  char *var_13;
  char *pcVar10;
  int var_17;
  int *piVar12;
  type_6 *unaff_s3;
  int *piVar13;
  type_6 *pbVar14;
  int var_1;
  type_7 *p_Var15;
  type_8 *var_10;
  char var_19;
  char cStack_477;
  char var_21;
  type_9 var_22;
  type_10 uStack_470;
  type_10 uStack_46c;
  type_10 uStack_468;
  type_11 uStack_464;
  int var_23;
  type_1 pSStack_268;
  int iStack_264;
  int *piStack_260;
  type_6 *pbStack_25c;
  char addr [4];
  char hostname [512];
  
  piVar12 = *(int **)(var_1 + 0x8858c);
  var_9 = *piVar12;
  if (p->state == -1) {
    var_17 = 1;
    var_2 = (**(type_8 **)(var_1 + 0x87e10))(p->remote_addr);
    if (var_2 == 2) {
      p->error = (char *)(*(int *)(var_1 + 0x87b80) + -0x52f8);
      goto LAB_000257e8;
    }
    if (var_2 == 1) {
      (**(type_8 **)(var_1 + 0x87e14))(p->remote_addr,addr);
LAB_000258a4:
                    /* WARNING: Subroutine does not return */
      var_3(p->conf,0x10);
    }
    if (var_2 == 3) {
      (**(type_8 **)(var_1 + 0x87cbc))(p->remote_addr,hostname,0x200);
      (**(type_8 **)(var_1 + 0x884e0))(hostname);
      addr[0] = '\0';
      addr[1] = '\0';
      addr[2] = '\0';
      addr[3] = '\x01';
      goto LAB_000258a4;
    }
  }
  else {
    if (var_4 == 0) {
      var_17 = 0;
      (*(*p->plug)->closing)
                (p->plug,p->closing_error_msg,p->closing_error_code,p->closing_calling_back);
    }
    else if (var_4 == 1) {
      var_17 = 0;
    }
    else if (var_4 == 3) {
      var_17 = (*(*p->plug)->accepting)(p->plug,p->accepting_constructor,p->accepting_ctx);
    }
    else if ((var_4 == 2) && (p->state == 1)) {
      unaff_s3 = &p->pending_input_data;
      var_2 = var_5(unaff_s3);
      var_17 = 1;
      if (7 < var_2) {
        var_6(unaff_s3,hostname,8);
        if (hostname[0] == '\0') {
          if (hostname[1] == 'Z') {
            var_7(unaff_s3,8);
            var_8(p);
          }
          else {
            pppVar5 = p->plug;
            p_Var15 = (*pppVar5)->closing;
            if (hostname[1] == '\\') {
              (*p_Var15)(pppVar5,(char *)(*(int *)(var_1 + 0x87b80) + -0x5264),8000,0);
            }
            else if (hostname[1] == ']') {
              (*p_Var15)(pppVar5,(char *)(*(int *)(var_1 + 0x87b80) + -0x5230),8000,0);
            }
            else {
              (*p_Var15)(pppVar5,(char *)(*(int *)(var_1 + 0x87b80) + -0x51f8),8000,0);
            }
          }
        }
        else {
          (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(var_1 + 0x87b80) + -0x52ac),8000,0);
        }
      }
    }
    else {
      var_17 = 1;
      (*(*p->plug)->closing)(p->plug,(char *)(*(int *)(var_1 + 0x87b80) + -0x531c),0x1f41,0);
    }
LAB_000257e8:
    if (var_9 == *piVar12) {
      return var_17;
    }
    (**(type_8 **)(var_1 + 0x8855c))();
  }
  var_10 = *(type_8 **)(var_1 + 0x883b8);
  var_9 = *(int *)(var_1 + 0x87b80) + -0x5374;
  p_00 = (type_1)(*(int *)(var_1 + 0x87b80) + -0x52c4);
  (*var_10)(p_00,var_9,0x32a,*(int *)(var_1 + 0x87b80) + -0x4ce8);
  piVar13 = *(int **)(var_10 + 0x8818c);
  var_2 = p_00->state;
  var_23 = *piVar13;
  pSStack_268 = p;
  iStack_264 = var_17;
  piStack_260 = piVar12;
  pbStack_25c = unaff_s3;
  if (var_2 == -1) {
    uStack_470 = var_11(5,uStack_470._1_3_);
                    /* WARNING: Subroutine does not return */
    var_3(p_00->conf,0x10);
  }
  if (var_9 == 0) {
    var_13 = (char *)0x0;
    (*(*p_00->plug)->closing)
              (p_00->plug,p_00->closing_error_msg,p_00->closing_error_code,
               p_00->closing_calling_back);
    goto LAB_00025bf4;
  }
  if (var_9 == 1) {
    var_13 = (char *)0x0;
    goto LAB_00025bf4;
  }
  if (var_9 == 3) {
    var_13 = (char *)(*(*p_00->plug)->accepting)
                               (p_00->plug,p_00->accepting_constructor,p_00->accepting_ctx);
    goto LAB_00025bf4;
  }
  if (var_9 == 2) {
    if (var_2 == 1) {
      pbVar14 = &p_00->pending_input_data;
      var_9 = var_5(pbVar14);
      var_13 = (char *)0x1;
      if (var_9 < 2) goto LAB_00025bf4;
      var_6(pbVar14,&uStack_470,2);
      if (uStack_470._0_1_ != '\x05') {
        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(var_10 + 0x87780) + -0x51a0),8000,0)
        ;
        goto LAB_00025bf4;
      }
      if (uStack_470._1_1_ == '\0') {
        p_00->state = 2;
      }
      else if (uStack_470._1_1_ == '\x01') {
        p_00->state = 4;
      }
      else if (uStack_470._1_1_ == '\x02') {
        p_00->state = 5;
      }
      else {
        if (uStack_470._1_1_ != '\x03') {
          (*(*p_00->plug)->closing)
                    (p_00->plug,(char *)(*(int *)(var_10 + 0x87780) + -0x5168),8000,0);
          goto LAB_00025bf4;
        }
        p_00->state = 6;
      }
      var_7(pbVar14,2);
      var_2 = p_00->state;
    }
    if (var_2 == 7) {
      pbVar14 = &p_00->pending_input_data;
      var_9 = var_5(pbVar14);
      if (1 < var_9) {
        var_6(pbVar14,&uStack_470,2);
        if (uStack_470._0_1_ == '\x01') {
          if (uStack_470._1_1_ != '\0') {
            var_13 = (char *)0x1;
            (*(*p_00->plug)->closing)
                      (p_00->plug,(char *)(*(int *)(var_10 + 0x87780) + -0x50e0),8000,0);
            goto LAB_00025bf4;
          }
          var_7(pbVar14,2);
          p_00->state = 2;
          goto LAB_00025f08;
        }
        (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(var_10 + 0x87780) + -0x512c),8000,0)
        ;
      }
    }
    else {
      if (var_2 == 8) {
        var_13 = (char *)var_12(p_00);
        if (var_13 != (char *)0x0) goto LAB_00025bf4;
        var_2 = p_00->state;
      }
      if (var_2 == 2) {
LAB_00025f08:
        var_9 = (**(type_8 **)(var_10 + 0x87a10))(p_00->remote_addr);
        if (var_9 == 1) {
          uStack_470 = var_14(uStack_470._0_3_,(char)var_9);
          (**(type_8 **)(var_10 + 0x87a14))(p_00->remote_addr,&uStack_46c);
          var_9 = 9;
          var_17 = 8;
          var_2 = 10;
        }
        else if (var_9 == 2) {
          uStack_470 = var_14(uStack_470._0_3_,4);
          (**(type_8 **)(var_10 + 0x87a14))(p_00->remote_addr,&uStack_46c);
          var_9 = 0x15;
          var_17 = 0x14;
          var_2 = 0x16;
        }
        else {
          if (var_9 != 3) {
            var_9 = (**(type_8 **)(var_10 + 0x87fb8))
                              (*(int *)(var_10 + 0x87780) + -0x52c4,
                               *(int *)(var_10 + 0x87780) + -0x5374,0x46a,
                               *(int *)(var_10 + 0x87780) + -0x4d00);
            return var_9;
          }
          uStack_470 = var_14(uStack_470._0_3_,(char)var_9);
          (**(type_8 **)(var_10 + 0x878bc))(p_00->remote_addr,(int)&uStack_46c + 1,0x100);
          cVar3 = (**(type_8 **)(var_10 + 0x880e0))((int)&uStack_46c + 1);
          var_9 = (int)cVar3;
          var_2 = var_9 + 7;
          uStack_46c = var_11(cVar3,uStack_46c._1_3_);
          var_17 = var_9 + 5;
          var_9 = var_9 + 6;
        }
        iVar6 = p_00->remote_port;
        ppsVar7 = p_00->sub_socket;
        var_13 = (char *)0x1;
        var_16 = (type_2)uStack_470;
        uStack_470 = var_15(0x501,var_16 & 0xff);
        *(char *)((int)&uStack_470 + var_17) = (char)((type_3)iVar6 >> 8);
        *(char *)((int)&uStack_470 + var_9) = (char)iVar6;
        (*(*ppsVar7)->write)(ppsVar7,(char *)&uStack_470,var_2);
        p_00->state = 3;
        goto LAB_00025bf4;
      }
      if (var_2 != 3) {
        if (var_2 == 4) {
          var_13 = (char *)0x1;
          (*(*p_00->plug)->closing)
                    (p_00->plug,(char *)(*(int *)(var_10 + 0x87780) + -0x4f38),8000,0);
          goto LAB_00025bf4;
        }
        if (var_2 == 5) {
                    /* WARNING: Subroutine does not return */
          var_3(p_00->conf,0x10);
        }
        if ((var_2 == 6) && (var_13 = (char *)var_18(p_00), var_13 != (char *)0x0))
        goto LAB_00025bf4;
        goto LAB_00025bc8;
      }
      pbVar14 = &p_00->pending_input_data;
      var_9 = var_5(pbVar14);
      if (4 < var_9) {
        var_6(pbVar14,&var_19,5);
        if (var_19 != '\x05') {
          var_13 = (char *)0x1;
          (*(*p_00->plug)->closing)
                    (p_00->plug,(char *)(*(int *)(var_10 + 0x87780) + -0x50a4),8000,0);
          goto LAB_00025bf4;
        }
        var_9 = (int)cStack_477;
        if (var_9 != 0) {
          var_17 = *(int *)(var_10 + 0x87780);
          pcVar10 = (char *)&uStack_470;
          var_20 = var_9 - 1U & 0xff;
          uStack_470 = *(type_10 *)(var_17 + -0x506c);
          uStack_46c = *(type_10 *)(var_17 + -0x5068);
          uStack_468 = *(type_10 *)(var_17 + -0x5064);
          uStack_464 = *(type_11 *)(var_17 + -0x5060);
          if (7 < var_20) goto LAB_00026460;
                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          var_9 = (*(var_10 +
                    (int)("Service lookup failed for source port \"%s\"" +
                         *(int *)(*(int *)(var_10 + 0x87780) + -0x4d20 + var_20 * 4) + 0x14)))();
          return var_9;
        }
        if (var_21 == '\x03') {
          var_9 = var_22 + 6;
        }
        else if (var_21 == '\x04') {
          var_9 = 0x16;
        }
        else {
          if (var_21 != '\x01') {
            var_13 = (char *)0x1;
            (*(*p_00->plug)->closing)
                      (p_00->plug,(char *)(*(int *)(var_10 + 0x87780) + -0x4f78),8000,0);
            goto LAB_00025bf4;
          }
          var_9 = 10;
        }
        var_17 = var_5(pbVar14);
        if (var_9 <= var_17) {
          var_13 = (char *)0x1;
          var_7(pbVar14,var_9);
          var_8(p_00);
          goto LAB_00025bf4;
        }
      }
    }
    var_13 = (char *)0x1;
  }
  else {
LAB_00025bc8:
    var_13 = (char *)0x1;
    (*(*p_00->plug)->closing)(p_00->plug,(char *)(*(int *)(var_10 + 0x87780) + -0x51c4),0x1f41,0);
  }
LAB_00025bf4:
  while (var_23 != *piVar13) {
    (**(type_8 **)(var_10 + 0x8815c))();
    var_9 = extraout_v1;
    pcVar10 = var_13;
LAB_00026460:
    (**(type_8 **)(var_10 + 0x87fa8))
              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(var_10 + 0x87780) + -0x4f9c,var_9);
    var_13 = (char *)0x1;
    (*(*p_00->plug)->closing)(p_00->plug,pcVar10,8000,0);
  }
  return (int)var_13;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal))))))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (identifier))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (identifier))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal))))))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier)) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal))))))))) arguments: (argument_list))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (number_literal) (number_literal))))))) (return_statement (identifier)))))

undefined4 * MASKED(int param_1,int param_2)

{
  byte bVar1;
  char cVar10;
  char *pcVar2;
  char *pcVar3;
  uint uVar4;
  uint uVar5;
  int iVar6;
  int iVar7;
  byte *pbVar8;
  undefined4 *puVar9;
  undefined4 *puVar11;
  undefined *puVar12;
  undefined4 uVar13;
  undefined *puVar14;
  byte *pbVar15;
  byte *pbVar16;
  int iVar17;
  undefined4 *puVar18;
  int *piVar19;
  byte *pbVar20;
  undefined1 *puVar21;
  undefined1 uVar23;
  byte *pbVar22;
  undefined4 *puVar24;
  undefined *puVar25;
  undefined1 uVar26;
  int unaff_s3;
  int *piVar27;
  undefined *unaff_s4;
  int iVar28;
  char *unaff_s5;
  int unaff_s6;
  int iVar29;
  undefined *puVar30;
  code *UNRECOVERED_JUMPTABLE;
  code *pcVar31;
  code *pcVar32;
  int iVar33;
  int iVar34;
  int iStack_534;
  undefined1 auStack_514 [64];
  int iStack_4d4;
  undefined1 *puStack_4d0;
  undefined *puStack_4cc;
  undefined *puStack_4c8;
  int *piStack_4c4;
  undefined *puStack_4c0;
  char *pcStack_4bc;
  int iStack_4b8;
  int iStack_47c;
  char cStack_478;
  char cStack_477;
  char cStack_475;
  byte bStack_474;
  undefined4 uStack_470;
  undefined4 uStack_46c;
  undefined4 uStack_468;
  undefined2 uStack_464;
  int iStack_26c;
  int iStack_268;
  undefined4 *puStack_264;
  undefined *puStack_260;
  int iStack_25c;
  undefined *puStack_258;
  char *pcStack_254;
  int iStack_250;
  undefined4 local_228;
  char local_224;
  char local_223;
  int local_24;
  
  puVar25 = PTR___stack_chk_guard_000adcd4;
  local_24 = *(int *)PTR___stack_chk_guard_000adcd4;
  if (*(int *)(param_1 + 0x44) == -1) {
    puVar24 = (undefined4 *)0x1;
    iVar29 = (*(code *)PTR_sk_addrtype_000ad558)(*(undefined4 *)(param_1 + 0x10));
    if (iVar29 == 2) {
      *(undefined **)(param_1 + 4) = PTR_DAT_000ad2c8 + -0x52f8;
      goto LAB_000257e8;
    }
    if (iVar29 == 1) {
      unaff_s6 = 0;
      (*(code *)PTR_sk_addrcopy_000ad55c)(*(undefined4 *)(param_1 + 0x10),&local_228);
LAB_000258a4:
      unaff_s5 = &local_224;
      unaff_s3 = conf_get_str(*(undefined4 *)(param_1 + 0x74),0x10);
      iVar29 = (*(code *)PTR_strlen_000adc28)(unaff_s3);
      unaff_s4 = (undefined *)(iVar29 + unaff_s6 + 9);
      puVar21 = (undefined1 *)safemalloc(unaff_s4,1);
      (*(code *)PTR_strcpy_000adc74)(puVar21 + 8,unaff_s3);
      *puVar21 = 4;
      puVar21[1] = 1;
      puVar30 = PTR_strlen_000adc28;
      puVar21[2] = (char)((uint)*(undefined4 *)(param_1 + 0x14) >> 8);
      puVar21[3] = (char)*(undefined4 *)(param_1 + 0x14);
      *(undefined4 *)(puVar21 + 4) = local_228;
      iVar29 = (*(code *)puVar30)(unaff_s3);
      (*(code *)PTR_memcpy_000adcd8)(puVar21 + iVar29 + 9,unaff_s5,unaff_s6);
      (**(code **)(**(int **)(param_1 + 8) + 8))(*(int **)(param_1 + 8),puVar21,unaff_s4);
      safefree(unaff_s3);
      puVar24 = (undefined4 *)0x0;
      safefree(puVar21);
      *(undefined4 *)(param_1 + 0x44) = 1;
      goto LAB_000257e8;
    }
    if (iVar29 == 3) {
      (*(code *)PTR_sk_getaddr_000ad404)(*(undefined4 *)(param_1 + 0x10),&local_224,0x200);
      iVar29 = (*(code *)PTR_strlen_000adc28)(&local_224);
      unaff_s6 = iVar29 + 1;
      local_228 = 1;
      goto LAB_000258a4;
    }
  }
  else {
    if (param_2 == 0) {
      puVar24 = (undefined4 *)0x0;
      (**(code **)(**(int **)(param_1 + 0xc) + 4))
                (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x50),
                 *(undefined4 *)(param_1 + 0x54),*(undefined4 *)(param_1 + 0x58));
    }
    else if (param_2 == 1) {
      puVar24 = (undefined4 *)0x0;
    }
    else if (param_2 == 3) {
      puVar24 = (undefined4 *)
                (**(code **)(**(int **)(param_1 + 0xc) + 0x10))
                          (*(int **)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x6c),
                           *(undefined4 *)(param_1 + 0x70));
    }
    else if ((param_2 == 2) && (*(int *)(param_1 + 0x44) == 1)) {
      unaff_s3 = param_1 + 0x34;
      iVar29 = bufchain_size(unaff_s3);
      puVar24 = (undefined4 *)0x1;
      if (7 < iVar29) {
        bufchain_fetch(unaff_s3,&local_224,8);
        if (local_224 == '\0') {
          if (local_223 == 'Z') {
            bufchain_consume(unaff_s3,8);
            proxy_activate(param_1);
          }
          else {
            piVar27 = *(int **)(param_1 + 0xc);
            UNRECOVERED_JUMPTABLE = *(code **)(*piVar27 + 4);
            if (local_223 == '\\') {
              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5264,8000,0);
            }
            else if (local_223 == ']') {
              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x5230,8000,0);
            }
            else {
              (*UNRECOVERED_JUMPTABLE)(piVar27,PTR_DAT_000ad2c8 + -0x51f8,8000);
            }
          }
        }
        else {
          (**(code **)(**(int **)(param_1 + 0xc) + 4))
                    (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x52ac,8000,0);
        }
      }
    }
    else {
      puVar24 = (undefined4 *)0x1;
      (**(code **)(**(int **)(param_1 + 0xc) + 4))
                (*(int **)(param_1 + 0xc),PTR_DAT_000ad2c8 + -0x531c,0x1f41,0);
    }
LAB_000257e8:
    if (local_24 == *(int *)puVar25) {
      return puVar24;
    }
    (*(code *)PTR___stack_chk_fail_000adca4)();
  }
  puVar14 = PTR_DAT_000ad2c8 + -0x5374;
  puVar12 = PTR_DAT_000ad2c8 + -0x52c4;
  puVar30 = PTR___assert_fail_000adb00;
  (*(code *)PTR___assert_fail_000adb00)(puVar12,puVar14,0x32a,PTR_DAT_000ad2c8 + -0x4ce8);
  piVar27 = *(int **)(puVar30 + 0x8818c);
  puVar21 = *(undefined1 **)(puVar12 + 0x44);
  puStack_260 = puVar25;
  iStack_26c = *piVar27;
  iStack_268 = param_1;
  puStack_264 = puVar24;
  iStack_25c = unaff_s3;
  puStack_258 = unaff_s4;
  pcStack_254 = unaff_s5;
  iStack_250 = unaff_s6;
  if (puVar21 == (undefined1 *)0xffffffff) {
    uStack_470 = CONCAT13(5,uStack_470._1_3_);
    pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);
    pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);
    uVar13 = uStack_470;
    if ((*pcVar2 == '\0') && (*pcVar3 == '\0')) {
      uStack_470._2_2_ = (ushort)(byte)uStack_470;
      uStack_470._0_1_ = SUB41(uVar13,3);
      uStack_470._1_3_ = CONCAT12(1,uStack_470._2_2_);
      iStack_47c = 3;
    }
    else {
      uStack_470._2_2_ = (ushort)(byte)uStack_470;
      iStack_47c = 3;
      proxy_socks5_offerencryptedauth(&uStack_470,&iStack_47c);
      *(undefined1 *)((int)&uStack_470 + iStack_47c) = 2;
      uStack_470._1_3_ = CONCAT12((char)iStack_47c + -1,uStack_470._2_2_);
      iStack_47c = iStack_47c + 1;
    }
    puVar24 = (undefined4 *)0x0;
    (**(code **)(**(int **)(puVar12 + 8) + 8))(*(int **)(puVar12 + 8),&uStack_470,iStack_47c);
    *(undefined4 *)(puVar12 + 0x44) = 1;
    goto LAB_00025bf4;
  }
  if (puVar14 == (undefined *)0x0) {
    puVar24 = (undefined4 *)0x0;
    (**(code **)(**(int **)(puVar12 + 0xc) + 4))
              (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x50),
               *(undefined4 *)(puVar12 + 0x54),*(undefined4 *)(puVar12 + 0x58));
    goto LAB_00025bf4;
  }
  if (puVar14 == (undefined *)0x1) {
    puVar24 = (undefined4 *)0x0;
    goto LAB_00025bf4;
  }
  if (puVar14 == (undefined *)0x3) {
    puVar24 = (undefined4 *)
              (**(code **)(**(int **)(puVar12 + 0xc) + 0x10))
                        (*(int **)(puVar12 + 0xc),*(undefined4 *)(puVar12 + 0x6c),
                         *(undefined4 *)(puVar12 + 0x70));
    goto LAB_00025bf4;
  }
  if (puVar14 != (undefined *)0x2) {
LAB_00025bc8:
    puVar24 = (undefined4 *)0x1;
    (**(code **)(**(int **)(puVar12 + 0xc) + 4))
              (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51c4,0x1f41,0);
    goto LAB_00025bf4;
  }
  puVar25 = unaff_s4;
  if (puVar21 == (undefined1 *)0x1) {
    puVar25 = puVar12 + 0x34;
    iVar29 = bufchain_size(puVar25);
    puVar24 = (undefined4 *)0x1;
    if (iVar29 < 2) goto LAB_00025bf4;
    bufchain_fetch(puVar25,&uStack_470,2);
    if (uStack_470._0_1_ != '\x05') {
      (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x51a0,8000,0);
      goto LAB_00025bf4;
    }
    if (uStack_470._1_1_ == '\0') {
      *(undefined4 *)(puVar12 + 0x44) = 2;
    }
    else if (uStack_470._1_1_ == '\x01') {
      *(undefined4 *)(puVar12 + 0x44) = 4;
    }
    else if (uStack_470._1_1_ == '\x02') {
      *(undefined4 *)(puVar12 + 0x44) = 5;
    }
    else {
      if (uStack_470._1_1_ != '\x03') {
        (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x5168,8000,0);
        goto LAB_00025bf4;
      }
      *(undefined4 *)(puVar12 + 0x44) = 6;
    }
    bufchain_consume(puVar25,2);
    puVar21 = *(undefined1 **)(puVar12 + 0x44);
  }
  if (puVar21 == (undefined1 *)0x7) {
    puVar21 = puVar12 + 0x34;
    iVar29 = bufchain_size(puVar21);
    if (1 < iVar29) {
      bufchain_fetch(puVar21,&uStack_470,2);
      if (uStack_470._0_1_ == '\x01') {
        if (uStack_470._1_1_ != '\0') {
          puVar24 = (undefined4 *)0x1;
          (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50e0,8000);
          goto LAB_00025bf4;
        }
        bufchain_consume(puVar21,2);
        *(undefined4 *)(puVar12 + 0x44) = 2;
        goto LAB_00025f08;
      }
      (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x512c,8000,0);
    }
  }
  else {
    if (puVar21 == (undefined1 *)0x8) {
      puVar24 = (undefined4 *)proxy_socks5_handlechap(puVar12);
      if (puVar24 != (undefined4 *)0x0) goto LAB_00025bf4;
      puVar21 = *(undefined1 **)(puVar12 + 0x44);
    }
    if (puVar21 == (undefined1 *)0x2) {
LAB_00025f08:
      iVar29 = (**(code **)(puVar30 + 0x87a10))(*(undefined4 *)(puVar12 + 0x10));
      if (iVar29 == 1) {
        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);
        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);
        iVar29 = 9;
        iVar33 = 8;
        iVar17 = 10;
      }
      else if (iVar29 == 2) {
        uStack_470 = CONCAT31(uStack_470._0_3_,4);
        (**(code **)(puVar30 + 0x87a14))(*(undefined4 *)(puVar12 + 0x10),&uStack_46c);
        iVar29 = 0x15;
        iVar33 = 0x14;
        iVar17 = 0x16;
      }
      else {
        if (iVar29 != 3) {
          puVar24 = (undefined4 *)0x46a;
          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x87fb8);
          iVar17 = *(int *)(puVar30 + 0x87780) + -0x4d00;
          pbVar15 = (byte *)(*(int *)(puVar30 + 0x87780) + -0x5374);
          iVar33 = *(int *)(puVar30 + 0x87780) + -0x52c4;
          (*UNRECOVERED_JUMPTABLE)();
          pcVar32 = UNRECOVERED_JUMPTABLE + 0x8eb54;
          piVar19 = *(int **)(UNRECOVERED_JUMPTABLE + 0x87598);
          iStack_4d4 = *piVar19;
          iVar29 = iVar17;
          puStack_4d0 = puVar21;
          puStack_4cc = puVar12;
          puStack_4c8 = puVar14;
          piStack_4c4 = piVar27;
          puStack_4c0 = puVar25;
          pcStack_4bc = unaff_s5;
          iStack_4b8 = unaff_s6;
          if (iVar33 == 0) {
            pbVar16 = (byte *)0xc;
            iVar6 = conf_get_int(iVar17,0xc);
            if (iVar6 == 0) {
              iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15);
              if (iVar6 != 0) goto LAB_00026900;
              iVar6 = 0;
              puVar18 = puVar24;
            }
            else {
              iVar6 = 0;
              puVar18 = puVar24;
            }
LAB_000267f0:
            iVar28 = 0;
            iVar7 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(pbVar15);
            pbVar16 = (byte *)0xa;
            pbVar8 = (byte *)conf_get_str(iVar17,10);
            bVar1 = *pbVar8;
            while (puVar24 = puVar18, bVar1 != 0) {
              piVar27 = (int *)(**(code **)(UNRECOVERED_JUMPTABLE + 0x873c0))();
              iVar34 = *piVar27;
              pbVar22 = pbVar8 + iVar28;
              iVar17 = iVar28;
              while ((pbVar20 = pbVar8 + iVar28 + (iVar17 - iVar28),
                     (*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0 || (bVar1 == 0x2c))) {
                iVar17 = iVar17 + 1;
                pbVar22 = pbVar8 + iVar17;
                bVar1 = *pbVar22;
                puVar24 = puVar18;
                if (bVar1 == 0) goto LAB_00026894;
              }
              uVar4 = (uint)(char)*pbVar22;
              iVar28 = iVar17;
              if (uVar4 == 0) {
                puVar11 = (undefined4 *)0x0;
              }
              else {
                do {
                  if ((((*(ushort *)(iVar34 + (uVar4 & 0xff) * 2) & 0x800) == 0) &&
                      (1 < (uVar4 & 0xff) - 0x2d)) &&
                     (puVar11 = (undefined4 *)(iVar28 - iVar17), uVar4 != 0x2a)) goto LAB_00026960;
                  iVar28 = iVar28 + 1;
                  uVar4 = (uint)(char)pbVar8[iVar28];
                } while (uVar4 != 0);
                puVar11 = (undefined4 *)(iVar28 - iVar17);
              }
LAB_00026960:
              if (bVar1 == 0x2a) {
                puVar18 = (undefined4 *)((int)puVar11 + -1);
                pbVar20 = pbVar8 + iVar17 + 1;
                if ((iVar33 != 0) &&
                   (pbVar16 = pbVar20, puVar24 = puVar18,
                   puVar9 = (undefined4 *)
                            (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))
                                      (auStack_514 + ((iVar6 + 1) - (int)puVar11),pbVar20),
                   puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;
                iVar17 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))
                                   (pbVar15 + ((iVar7 + 1) - (int)puVar11),pbVar20);
                if (iVar17 == 0) {
                  puVar9 = (undefined4 *)0x0;
                  pbVar16 = pbVar20;
                  puVar24 = puVar18;
                  goto LAB_0002689c;
                }
              }
              else {
                pbVar16 = pbVar20;
                if (pbVar8[iVar28 + -1] == 0x2a) {
                  puVar11 = (undefined4 *)((int)puVar11 + -1);
                  if ((iVar33 != 0) &&
                     (puVar24 = puVar11,
                     puVar9 = (undefined4 *)
                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),
                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;
                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);
                }
                else {
                  if ((iVar33 != 0) &&
                     (puVar24 = puVar11,
                     puVar9 = (undefined4 *)
                              (**(code **)(UNRECOVERED_JUMPTABLE + 0x8748c))(auStack_514,pbVar20),
                     puVar9 == (undefined4 *)0x0)) goto LAB_0002689c;
                  pcVar31 = *(code **)(UNRECOVERED_JUMPTABLE + 0x8748c);
                }
                iVar17 = (*pcVar31)(pbVar15,pbVar20);
                puVar18 = puVar11;
                if (iVar17 == 0) {
                  puVar9 = (undefined4 *)0x0;
                  pbVar16 = pbVar20;
                  puVar24 = puVar11;
                  goto LAB_0002689c;
                }
              }
              while( true ) {
                bVar1 = pbVar8[iVar28];
                puVar9 = (undefined4 *)0x1;
                pbVar16 = pbVar20;
                puVar24 = puVar18;
                if (bVar1 == 0) goto LAB_0002689c;
                if (((*(ushort *)(iVar34 + (uint)bVar1 * 2) & 0x20) != 0) || (bVar1 == 0x2c)) break;
                iVar28 = iVar28 + 1;
              }
              bVar1 = pbVar8[iVar28];
            }
LAB_00026894:
            puVar9 = (undefined4 *)0x1;
          }
          else {
            pbVar16 = pbVar15;
            iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e30))();
            if (iVar6 == 0) {
              pbVar16 = (byte *)0xc;
              iVar6 = conf_get_int(iVar17,0xc);
              if ((iVar6 != 0) ||
                 ((iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e34))(pbVar15), iVar6 == 0 &&
                  (iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x86e38))(iVar33), iVar6 == 0)))) {
                puVar18 = (undefined4 *)&DAT_00000040;
                (**(code **)(UNRECOVERED_JUMPTABLE + 0x86cc8))(iVar33,auStack_514);
                iVar6 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x874ec))(auStack_514);
                goto LAB_000267f0;
              }
            }
LAB_00026900:
            puVar9 = (undefined4 *)0x0;
          }
LAB_0002689c:
          if (iStack_4d4 == *piVar19) {
            return puVar9;
          }
          UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x87568);
          iVar33 = iStack_4d4;
          (*UNRECOVERED_JUMPTABLE)();
          iVar17 = conf_get_int(iVar29,0xd);
          if ((iVar17 != 0) &&
             (((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 0 ||
               ((iVar17 = conf_get_int(iVar29,0xb), iVar17 == 2 &&
                (iVar17 = conf_get_int(iVar29,0xd), iVar17 != 1)))) &&
              (iVar29 = proxy_for_destination(0,iVar33,pbVar16,iVar29), iVar29 != 0)))) {
            if (iStack_534 != 0) {
              uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea0,iVar33,pbVar15)
              ;
              (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);
              safefree(uVar13);
            }
            uVar13 = dupstr(iVar33);
            UNRECOVERED_JUMPTABLE = *(code **)(UNRECOVERED_JUMPTABLE + 0x86a74);
            *puVar24 = uVar13;
                    /* WARNING: Could not recover jumptable at 0x00026d10. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            puVar24 = (undefined4 *)(*UNRECOVERED_JUMPTABLE)(iVar33);
            return puVar24;
          }
          if (iStack_534 != 0) {
            if (pcVar32 == (code *)0x1) {
              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4eb0;
            }
            else if (pcVar32 == (code *)0x2) {
              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4ea8;
            }
            else {
              iVar29 = *(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x22a4;
            }
            uVar13 = dupprintf(*(int *)(UNRECOVERED_JUMPTABLE + 0x867bc) + -0x4e70,iVar33,iVar29,
                               pbVar15);
            (**(code **)(UNRECOVERED_JUMPTABLE + 0x868fc))(iStack_534,uVar13);
            safefree(uVar13);
          }
                    /* WARNING: Could not recover jumptable at 0x00026c08. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          puVar24 = (undefined4 *)
                    (**(code **)(UNRECOVERED_JUMPTABLE + 0x86a6c))(iVar33,puVar24,pcVar32);
          return puVar24;
        }
        uStack_470 = CONCAT31(uStack_470._0_3_,(char)iVar29);
        (**(code **)(puVar30 + 0x878bc))(*(undefined4 *)(puVar12 + 0x10),(int)&uStack_46c + 1,0x100)
        ;
        cVar10 = (**(code **)(puVar30 + 0x880e0))((int)&uStack_46c + 1);
        iVar29 = (int)cVar10;
        iVar17 = iVar29 + 7;
        uStack_46c = CONCAT13(cVar10,uStack_46c._1_3_);
        iVar33 = iVar29 + 5;
        iVar29 = iVar29 + 6;
      }
      uVar13 = *(undefined4 *)(puVar12 + 0x14);
      piVar19 = *(int **)(puVar12 + 8);
      puVar24 = (undefined4 *)0x1;
      uStack_470._2_2_ = (ushort)uStack_470 & 0xff;
      uStack_470 = CONCAT22(0x501,uStack_470._2_2_);
      *(char *)((int)&uStack_470 + iVar33) = (char)((uint)uVar13 >> 8);
      *(char *)((int)&uStack_470 + iVar29) = (char)uVar13;
      (**(code **)(*piVar19 + 8))(piVar19,&uStack_470,iVar17);
      *(undefined4 *)(puVar12 + 0x44) = 3;
      goto LAB_00025bf4;
    }
    if (puVar21 != (undefined1 *)0x3) {
      if (puVar21 == &DAT_00000004) {
        puVar24 = (undefined4 *)0x1;
        (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f38,8000,0);
        goto LAB_00025bf4;
      }
      if (puVar21 == (undefined1 *)0x5) {
        pcVar2 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x10);
        pcVar3 = (char *)conf_get_str(*(undefined4 *)(puVar12 + 0x74),0x11);
        if (*pcVar2 == '\0') {
          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);
          if (*pcVar3 == '\0') {
            puVar24 = (undefined4 *)0x1;
            (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                      (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f04,8000,0);
            goto LAB_00025bf4;
          }
        }
        else {
          UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x880e0);
        }
        uVar4 = (*UNRECOVERED_JUMPTABLE)(pcVar2);
        if (uVar4 < 0x100) {
          if (uVar4 == 0) {
            iVar29 = 4;
            iVar33 = 3;
            uVar23 = 1;
            uVar4 = 1;
          }
          else {
            iVar33 = uVar4 + 2;
            iVar29 = uVar4 + 3;
            uVar23 = (undefined1)uVar4;
          }
        }
        else {
          iVar29 = 0x102;
          iVar33 = 0x101;
          uVar23 = 0xff;
          uVar4 = 0xff;
        }
        uVar5 = (**(code **)(puVar30 + 0x880e0))(pcVar3);
        if (uVar5 < 0x100) {
          if (uVar5 == 0) {
            uVar5 = 1;
            uVar26 = 1;
          }
          else {
            uVar26 = (undefined1)uVar5;
          }
        }
        else {
          uVar5 = 0xff;
          uVar26 = 0xff;
        }
        uStack_470._1_3_ = CONCAT12(uVar23,uStack_470._2_2_);
        uStack_470 = CONCAT13(1,uStack_470._1_3_);
        (**(code **)(puVar30 + 0x88108))((int)&uStack_470 + 2,pcVar2,uVar4,0x1ff);
        UNRECOVERED_JUMPTABLE = *(code **)(puVar30 + 0x88190);
        *(undefined1 *)((int)&uStack_470 + iVar33) = uVar26;
        (*UNRECOVERED_JUMPTABLE)((int)&uStack_470 + iVar29,pcVar3,uVar5);
        puVar24 = (undefined4 *)0x1;
        (**(code **)(**(int **)(puVar12 + 8) + 8))
                  (*(int **)(puVar12 + 8),&uStack_470,uVar4 + uVar5 + 3);
        *(undefined4 *)(puVar12 + 0x44) = 7;
        goto LAB_00025bf4;
      }
      if ((puVar21 == (undefined1 *)0x6) &&
         (puVar24 = (undefined4 *)proxy_socks5_selectchap(puVar12), puVar24 != (undefined4 *)0x0))
      goto LAB_00025bf4;
      goto LAB_00025bc8;
    }
    puVar25 = puVar12 + 0x34;
    iVar29 = bufchain_size(puVar25);
    if (4 < iVar29) {
      bufchain_fetch(puVar25,&cStack_478,5);
      if (cStack_478 != '\x05') {
        puVar24 = (undefined4 *)0x1;
        (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                  (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x50a4,8000,0);
        goto LAB_00025bf4;
      }
      if (cStack_477 != 0) {
        iVar29 = *(int *)(puVar30 + 0x87780);
        puVar18 = &uStack_470;
        uVar4 = (int)cStack_477 - 1U & 0xff;
        uStack_470 = *(undefined4 *)(iVar29 + -0x506c);
        uStack_46c = *(undefined4 *)(iVar29 + -0x5068);
        uStack_468 = *(undefined4 *)(iVar29 + -0x5064);
        uStack_464 = *(undefined2 *)(iVar29 + -0x5060);
        if (7 < uVar4) goto LAB_00026460;
                    /* WARNING: Could not recover jumptable at 0x000263fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        puVar24 = (undefined4 *)
                  (*(code *)(puVar30 +
                            (int)("Service lookup failed for source port \"%s\"" +
                                 *(int *)(*(int *)(puVar30 + 0x87780) + -0x4d20 + uVar4 * 4) + 0x14)
                            ))();
        return puVar24;
      }
      if (cStack_475 == '\x03') {
        iVar29 = bStack_474 + 6;
      }
      else if (cStack_475 == '\x04') {
        iVar29 = 0x16;
      }
      else {
        if (cStack_475 != '\x01') {
          puVar24 = (undefined4 *)0x1;
          (**(code **)(**(int **)(puVar12 + 0xc) + 4))
                    (*(int **)(puVar12 + 0xc),*(int *)(puVar30 + 0x87780) + -0x4f78,8000,0);
          goto LAB_00025bf4;
        }
        iVar29 = 10;
      }
      iVar33 = bufchain_size(puVar25);
      if (iVar29 <= iVar33) {
        puVar24 = (undefined4 *)0x1;
        bufchain_consume(puVar25,iVar29);
        proxy_activate(puVar12);
        goto LAB_00025bf4;
      }
    }
  }
  puVar24 = (undefined4 *)0x1;
LAB_00025bf4:
  while (iStack_26c != *piVar27) {
    (**(code **)(puVar30 + 0x8815c))();
    puVar18 = puVar24;
LAB_00026460:
    (**(code **)(puVar30 + 0x87fa8))
              ((int)&uStack_464 + 1,1,0xffffffff,*(int *)(puVar30 + 0x87780) + -0x4f9c);
    puVar24 = (undefined4 *)0x1;
    (**(code **)(**(int **)(puVar12 + 0xc) + 4))(*(int **)(puVar12 + 0xc),puVar18,8000,0);
  }
  return puVar24;
}

